漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2014-055741
漏洞标题:某政府网站存在SQL注入拿到整区的gov站群
相关厂商:鼎城区国家保密局
漏洞作者: E先生
提交时间:2014-04-11 14:42
修复时间:2014-05-26 14:42
公开时间:2014-05-26 14:42
漏洞类型:SQL注射漏洞
危害等级:高
自评Rank:10
漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2014-04-11: 细节已通知厂商并且等待厂商处理中
2014-04-16: 厂商已经确认,细节仅向厂商公开
2014-04-26: 细节向核心白帽子及相关领域专家公开
2014-05-06: 细节向普通白帽子公开
2014-05-16: 细节向实习白帽子公开
2014-05-26: 细节向公众公开
简要描述:
SQL注入漏洞
详细说明:
存在SQL注入,拿到整个区的gov站群
http://www.dcbmj.gov.cn/content.asp?id=378
漏洞证明:
修复方案:
方法1: Replace过滤字符
解决方法:查找login.asp下的
username=request.Form("name")
pass=request.Form("pass")
修改为:
username=Replace(request.Form("name"), "’", "’’")
pass=Replace(request.Form("pass"), "’", "’’")
语法是屏蔽’和’’字符来达到效果.
方法2:在conn.asp 内加入
注:(前提 登陆页面有)
把以下代码保存为safe.asp
下面是程序代码********************************************************
<%
Dim Query_Badword,Form_Badword,i,Err_Message,Err_Web,name
Err_Message = 3
Err_Web = "safe.htm"
’出错时转向的页面
Query_Badword="’|and|select|update|chr|delete|%20from|;|insert|mid|master.|set|chr(37)|="
’在这部份定义get非法参数,使用"|"号间隔
Form_Badword="’|(|)|;|="
’在这部份定义post非法参数,使用"|"号间隔
On Error Resume Next
if request.QueryString<>"" then
Chk_badword=split(Query_Badword,"|")
FOR EACH Query_Name IN Request.QueryString
for i=0 to ubound(Chk_badword)
If Instr(LCase(request.QueryString(Query_Name)),Chk_badword(i))<>0 Then
Select Case Err_Message
Case "1"
Response.Write "
Case "2"
Response.Write "
Case "3"
Response.Write "
End Select
Response.End
End If
NEXT
NEXT
End if
if request.form<>"" then
Chk_badword=split(Form_Badword,"|")
FOR EACH name IN Request.Form
for i=0 to ubound(Chk_badword)
If Instr(LCase(request.form(name)),Chk_badword(i))<>0 Then
Select Case Err_Message
Case "1"
Response.Write "
Case "2"
Response.Write "
Case "3"
Response.Write "
End Select
Response.End
End If
NEXT
NEXT
end if
%>
版权声明:转载请注明来源 E先生@乌云
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:20
确认时间:2014-04-16 14:03
厂商回复:
CNVD确认并复现所述情况,已经转由CNCERT下发给湖南分中心处置。涉及多个政府部门网站集群,rank 20
最新状态:
暂无