解析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 相关文章推荐
使用jquery给input和textarea设定ie中的focus
May 29 Javascript
js将控件隐藏的方法及display属性介绍
Jul 04 Javascript
JavaScript将页面表格导出为Excel的具体实现
Dec 27 Javascript
jQuery学习笔记之 Ajax操作篇(三) - 过程处理
Jun 23 Javascript
node.js中的console用法总结
Dec 15 Javascript
JavaScript实现自动生成网页元素功能(按钮、文本等)
Nov 21 Javascript
JavaScript字符串转数字的5种方法及遇到的坑
Jul 16 Javascript
Vue项目路由刷新的实现代码
Apr 17 Javascript
React如何实现浏览器打印部分内容详析
May 19 Javascript
vue组件 keep-alive 和 transition 使用详解
Oct 11 Javascript
js实现图片无缝循环轮播
Oct 28 Javascript
QT与javascript交互数据的实现
May 26 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
当年上海收录机产品生产,进口和价格情况
2021/03/04 无线电
php ctype函数中文翻译和示例
2014/03/21 PHP
php实现session自定义会话处理器的方法
2015/01/27 PHP
ThinkPHP整合datatables实现服务端分页的示例代码
2018/02/10 PHP
jQuery模拟超链接点击效果代码
2013/04/21 Javascript
js 一个关于图片onload加载的事
2013/11/10 Javascript
异步JavaScript编程中的Promise使用方法
2015/07/28 Javascript
JS遍历数组及打印数组实例分析
2016/01/21 Javascript
JavaScript+html5 canvas绘制缤纷多彩的三角形效果完整实例
2016/01/26 Javascript
微信小程序 引入es6 promise
2017/04/12 Javascript
Vue.JS项目中5个经典Vuex插件
2017/11/28 Javascript
解决VUEX兼容IE上的报错问题
2018/03/01 Javascript
Javascript获取某个月的天数
2018/05/30 Javascript
vue实现word,pdf文件的导出功能
2018/07/31 Javascript
微信小程序自定义navigationBar顶部导航栏适配所有机型(附完整案例)
2020/04/26 Javascript
jQuery实现移动端下拉展现新的内容回弹动画
2020/06/24 jQuery
ant design vue中表格指定格式渲染方式
2020/10/28 Javascript
[01:48]帕吉至宝加入游戏,遗迹战场现“千劫神屠”
2018/04/07 DOTA
python中lambda函数 list comprehension 和 zip函数使用指南
2014/09/28 Python
Python中创建字典的几种方法总结(推荐)
2017/04/27 Python
python+pandas分析nginx日志的实例
2018/04/28 Python
pyqt5 实现工具栏文字图片同时显示
2019/06/13 Python
python绘图模块matplotlib示例详解
2019/07/26 Python
PyCharm 2019.3发布增加了新功能一览
2019/12/08 Python
基于pandas中expand的作用详解
2019/12/17 Python
Python使用QQ邮箱发送邮件实例与QQ邮箱设置详解
2020/02/18 Python
python:HDF和CSV存储优劣对比分析
2020/06/08 Python
10个示例带你掌握python中的元组
2020/11/23 Python
HTML5的结构和语义(5):内嵌媒体
2008/10/17 HTML / CSS
物业客服专员岗位职责
2013/11/30 职场文书
求职简历中自我评价
2014/01/28 职场文书
电钳工人个人求职信
2014/05/10 职场文书
心理咨询承诺书
2014/05/20 职场文书
供应商食品安全承诺书
2015/04/29 职场文书
2016年圣诞节义工活动总结
2016/04/01 职场文书
深入理解pytorch库的dockerfile
2022/06/10 Python