本文不针对某活动或网站,此ASP投票系统涉及很多网站活动使用。其核心代码是一样的,只是风格有些诧异。不希望大家批量搞站,但偶尔碰到了周边人参加活动的可以利用这个BUG试试。。。
同学参加某大型选秀(CCTV有参与)活动,每天Q上线就看到她发来连接让帮投票。一点点投不要太要命了。
随后观察此站,asp投票系统,对站外get、ip、以及时间做了限制。最后直接c段拿到shell,但这样不是长久之计(投票系统你不能直接加很多票数,管理会发现。shell估计不能保持长久)
下来程序看了下,上传点很多,拿shell不可实现,就看下注射啥的吧
在来看前台姓名编号搜索出发现了可含性注射。
t=Request("t") key=Request("key") Select case t case "id":sql="Select * from xxx where sh=1 and id like '"&key&"' order by ps desc":msg="按照编号:"&key&"排序" case "name":sql="Select * from xxx where sh=1 and name like '"&key&"' order by ps desc":msg="按照姓名:"&key&"排序" case else
可以看到直接会导致注射
"' and........update xxxx set ps=8888 where id=888 ''"等,结束前面注释后面语句。
再来看选手修改页面后提交更新程序:
If Trim(Request.Form("ValidCode"))=Empty Or Trim(Session("cnbruce.com_ValidateCode"))Trim(Request.Form("ValidCode")) Then Response.write("") Response.end() End if sql="Select * from xxx where id="&Session("id") Set rs=Server.CreateObject("ADODB.Recordset") rs.Open sql,conn,1,3 putallrs(rs) //我也很惊讶,这个问题大家可以看看我之前的主题,和某积分返点系统类似 rs("video")=Request.Form("video") rs.Update rs.Close
看到上面这段代码很兴奋。会员信息,包括人气值和票数都在同一表。而且上面这辍代码没过滤。
再次本地化表单,投票页面vote_do.asp做了防止外部提交,但选手修改页面这里没有。网页右键查看源码,去掉乱七八糟的,两行input,人气和票数
提交成功!(为了截此图,特意上了下QQ,涂的不好看当然不露点)
直接加票上去。不知道刷票&……%公司是不是这样加的(需要选手登陆)?
但每次票数不能加太多,还要保持稳定增加,别今天涨到800票了,两天后还是800票没变,管理会起疑心。。
于是我邪恶的在投票页面加了
sql="update xxxx set ps=ps+1 where id=888 conn.execute(sql)
给任何人投票都会给我指定的人加一票,这样稳定了吧。
对了,同学发现她的票飚的很不错,问我怎么投的,我说加了上百个QQ旺旺群发啊,求人家帮忙投票。。女同学激动的就差以身相许了。年假了回老家碰面。。。。
结束!
文章来源于lcx.cc:某投票系统bug,导致可以刷票刷人气
相关推荐: 用 js 实现本地 md4、md5、sha1 加密表单并提交
js md4、md5、sha1 加密算法文件下载地址:md5.js、md4.js、sha1.js 使用MD5加密的方法: 下载md5.js文件,在网页中引用该文件: 在你需要使用MD5加密的地方如此调用: 其他两个算法类似。 用javascript加密的好处是…
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论