解析JavaScript实现DDoS攻击原理与保护措施


Posted in Javascript onDecember 26, 2016

DDos介绍

最普遍的攻击是对网站进行分布式拒绝服务(DDoS)攻击。在一个典型的DDoS攻击中,攻击者通过发送大量的数据到服务器,占用服务资源。从而达到阻止其他用户的访问。

如果黑客使用JavaScript的DDoS攻击,那么任何一台计算机都可能成为肉鸡,使潜在的攻击量几乎是无限的。

Javascript实现DDos攻击原理分析

现在网站的交互性都是通过JavaScript来实现的。通过添加JavaScript直接插入HTML元素,或通过远程来加载JavaScript。浏览器会读取script标签中的src属性并运行它所指向的脚本,其实不只是script标签可以用来攻击,简单来说只要是可以跨域访问的标签,如img,link等都可以实现DDos攻击。

既然这些标签可以访问外站的资源,那么我们是不是就可以设个定时器无限访问这个网站,从而达到攻击呢,那是肯定的。

最终DDos攻击手法

如果只是一台电脑进行攻击,那也造不成什么危害,除非是对方网站根本没有对网站进行安全保护,现在大部分网站都有用CDN来隐藏真实的ip,并且这些网站大部分也有防DDos攻击,很多网站也会设置网站黑名单,如果一台计算机在一段时间内不断访问的话,那么就很有可能被加入黑名单。那么难道就没有办法了吗。

自然不是,只要你开放网站,黑客就有办法攻击,当然也要看那个黑客的技术了。

现在的网站几乎都使用了JavaScript的库。为了节省带宽,提高性能,很多网站都通过第三方的网站托管服务,来加载这些js库。如果这些第三方网站的js库中存在恶意代码的话,很有可能被利用,一些牛逼的黑客可以通过破解这些第三方网站的后台,修改脚本。如果用户访问这个网站的话就会下载这些脚本并执行,这些用户的计算机就会变成肉鸡,如果这个网站访问量比较大的话,那么就。。。

简单来说就是通过访问量较大的网站攻击目标网站。

保护措施

为了解决这个问题,W3C提出了一个新的功能叫做子资源的完整性,你可以告诉浏览器如果它不符合你期望的运行脚本,通过使用加密哈希。它就像一个指纹:只有两个文件具有相同的哈希,那么才能被匹配,当用户的计算机下载这些脚本后,浏览器会计算其哈希,如果与预期的不匹配,那么就说明这些脚本已经被篡改,浏览器将不会执行这个脚本。

原先我们是这样引用脚本的

<script src="http://www.xxx.com/xxx.js"></script>

现在的做法

<script src="http://www.xxx.com/xxx.js" integrity="sha384-hK8q2gkBjirpIGHAH+sgqYMv6i6mfx2JVZWJ50jyYhkuEHASU6AS1UTWSo32wuGL" crossorigin="anonymous"><br><br>integrity:哈希值<br>crossorigin:是为了保证浏览器的同源策略的正确实施,防止跨站脚本(XSS)攻击<br><br>生成哈希值的网站:www.srihash.org

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
JavaScript中将一个值转换为字符串的方法分析[译]
Sep 21 Javascript
JSON语法五大要素图文介绍
Dec 04 Javascript
jQuery实现点击按钮弹出可关闭层的浮动层插件
Sep 19 Javascript
JS实现快速的导航下拉菜单动画效果附源码下载
Nov 01 Javascript
jquery pagination插件动态分页实例(Bootstrap分页)
Dec 23 Javascript
微信小程序 图片边框解决方法
Jan 16 Javascript
flexslider.js实现移动端轮播
Feb 05 Javascript
详解React开发中使用require.ensure()按需加载ES6组件
May 12 Javascript
分享Bootstrap简单表格、表单、登录页面
Aug 04 Javascript
Node.JS使用Sequelize操作MySQL的示例代码
Oct 09 Javascript
微信小程序视图控件与bindtap之间的问题的解决
Apr 08 Javascript
小程序使用wxs解决wxml保留2位小数问题
Dec 13 Javascript
JS实现密码框的显示密码和隐藏密码功能示例
Dec 26 #Javascript
原生JS下拉加载插件分享
Dec 26 #Javascript
jQuery实现的checkbox级联选择下拉菜单效果示例
Dec 26 #Javascript
javascript输出AscII码扩展集中的字符方法
Dec 26 #Javascript
在一个页面重复使用一个js函数的方法详解
Dec 26 #Javascript
jquery无法为动态生成的元素添加点击事件的解决方法(推荐)
Dec 26 #Javascript
jQuery实现动态添加tr到table的方法
Dec 26 #Javascript
You might like
ThinkPHP之M方法实例详解
2014/06/20 PHP
PHP使用mysql_fetch_row查询获得数据行列表的方法
2015/03/18 PHP
jquery 注意事项与常用语法小结
2010/06/07 Javascript
jquery 插件学习(四)
2012/08/06 Javascript
javascript表单验证使用示例(javascript验证邮箱)
2014/01/07 Javascript
使用javascript控制cookie显示和隐藏背景图
2014/02/12 Javascript
jquery淡入淡出效果简单实例
2016/01/14 Javascript
jQuery Validate验证框架详解(推荐)
2016/12/17 Javascript
如何在 JavaScript 中更好地利用数组
2018/09/27 Javascript
webpack 开发和生产并行设置的方法
2018/11/08 Javascript
Vue路由之JWT身份认证的实现方法
2019/08/26 Javascript
解决三元运算符 报错“SyntaxError: can''t assign to conditional expression”
2020/02/12 Javascript
不依任何赖第三方,单纯用vue实现Tree 树形控件的案例
2020/09/21 Javascript
python实现telnet客户端的方法
2015/04/15 Python
django通过ajax发起请求返回JSON格式数据的方法
2015/06/04 Python
Python语言实现获取主机名根据端口杀死进程
2016/03/31 Python
python opencv之SURF算法示例
2018/02/24 Python
python多线程并发实例及其优化
2019/06/27 Python
PyTorch中Tensor的拼接与拆分的实现
2019/08/18 Python
python 下 CMake 安装配置 OPENCV 4.1.1的方法
2019/09/30 Python
利用python 读写csv文件
2020/09/10 Python
使用HTML和CSS3绘制基本卡通图案的示例分享
2015/11/06 HTML / CSS
Html5大文件断点续传实现方法
2015/12/05 HTML / CSS
巴西宠物店在线:Geração Pet
2017/05/31 全球购物
linux面试题参考答案(5)
2014/09/01 面试题
毕业生的自我鉴定
2013/10/29 职场文书
财务出纳员岗位职责
2013/11/26 职场文书
简历中求职的个人自我评价
2013/12/03 职场文书
文明家庭先进事迹材
2014/01/27 职场文书
小学教师师德整改措施
2014/09/29 职场文书
有限责任公司股东合作协议书
2014/12/02 职场文书
2015年销售员工作总结范文
2015/04/07 职场文书
会议通知
2015/04/15 职场文书
导游词之贵州织金洞
2019/10/12 职场文书
详解CocosCreator消息分发机制
2021/04/16 Javascript
HTML 里 img 元素的 src 和 srcset 属性的区别详解
2023/05/21 HTML / CSS