问题标签 [denial-of-service]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3885 浏览

javascript - nodejs 服务器抵御 DOS 攻击

我正在使用 nodejs 编写一个高度可扩展的基于浏览器的网络聊天服务器。所涉及的概念很简单——首先它检查浏览器是否支持 websocket。如果不支持或与服务器规范不兼容,它会优雅地降级为传统的长轮询。

利用其高度事件化的 I/O 模型,到目前为止,我找不到任何其他框架这么好并且适合 nodejs 来完成这种工作。但是,我有一个与 DOS 攻击有关的问题,我决定提出一个简单的解决方案。但是,我不确定这是否是对抗那些大规模洪水攻击的最理想方式。

我计划做的是 - 如果来自单个 IP 地址的 50 个或更多请求在特定时间长度(例如 1 秒)内到达服务器,然后拒绝来自该 IP 的所有进一步请求,直到该特定时间间隔达到失效等等。

这会好吗?

0 投票
1 回答
2877 浏览

tcp - 关于 TCP SYN flood:为什么半开连接比已建立的连接更糟糕?

这不是为了黑客目的而要求的。我正在学习计算机科学,我只是好奇。

所以.. 当主机 A 向主机 B 发送 TCP SYN 时,主机 B 分配空间用于接收缓冲区等,将 SYNACK 发送回主机 A,主机 A 也分配这些空间,然后将 ACK 发送回主机 B。然后建立连接。

但是为什么半开连接(从 A 发出的最后一个 ACK​​ 永远不会发送)比完全建立的连接更能破坏主机 B?

0 投票
1 回答
990 浏览

caching - Grails / Tomcat:避免拒绝服务攻击

我有一个在 Tomcat 上运行的 Grails 应用程序,使用 MySQL 作为数据库服务器。

我通过测试发现很容易在站点上创建拒绝服务攻击,只需多次刷新页面(即按住F5)。这会导致服务器上的负载随着与 MySQL 数据库的连接数一起迅速增加。

最终,该站点变得无响应,并且可能需要几分钟才能恢复正常。

任何人都可以推荐调试方法吗?

我应该看看缓存吗?

0 投票
1 回答
310 浏览

php - PHP中的preg_match拒绝服务

我正在使用一个表单来输入正则表达式本身,然后在 preg_match 中使用这个正则表达式,所以我们不需要验证(可能只有长度),但我在谷歌上听到不同编程语言的“正则表达式拒绝服务”。

似乎没有提到PHP,
PHP也可以吗!?

我还应该考虑在 java web 应用程序中使用正则表达式客户端,因为要匹配的数据在服务器端并不是真正需要的!??

0 投票
3 回答
3684 浏览

php - PHP:同时打开 URL 以模拟 DOS 攻击?

我已经为我的服务器配置了各种反 DOS 模块(mod_qos、mod_evasive 等)。我现在要做的是运行一个简单的 PHP 脚本,它多次调用我网站上的 URL,以达到网站上的各种限制。理想情况下,能够以某种方式同时打开各种 URL 的脚本将是理想的。

这可能吗?如果没有,模拟来自一个 IP 的多个请求的最简单方法是什么?

我更喜欢在 Windows 7 中工作的工具?

更新:请记住,我希望能够查看我的服务器是否真的阻止了一些请求。我只玩了一点 AB,但到目前为止还没有显示请求被阻止?

0 投票
3 回答
510 浏览

security - SYN 拒绝服务攻击

这可能是一个微不足道的问题。这是关于 Syn Cookie 的。为什么只有半开连接才被认为是 DOS 攻击。客户端可能完成了握手(SYN、SYN-ACK、ACK)并且在此之后不再回复。这也将占用系统资源。

那么,如果一个客户端使用 (SYN, SYN-ACK, ACK) 序列泛滥,那为什么不被视为 DOS 攻击呢?

0 投票
2 回答
7158 浏览

c# - Visual Studio 2010 中的拒绝服务 (DoS) 应用程序

这是一个冗长的问题,它可能很成熟,对不起,我是编程新手;我想设计一个基于控制台的应用程序来测试拒绝服务 (DOS) 攻击。假设ping example.com -t -l 65000是唯一需要在控制台中执行的事情。我希望控制台在后台运行。但我想说,5 个不同的控制台在后台执行 ICMP 泛洪。要杀死进程,我们需要手动杀死进程。测试将在实时环境中进行。我需要制作一个 .exe 文件以便在 Windows 上运行它。

我正在使用 MS Visual Studio 2010 在 c# 中构建程序,可以做什么?

任何建议将不胜感激。

0 投票
1 回答
1003 浏览

dataset - 如何使用 DARPA 数据集或 pcap 文件模拟 DOS 攻击?

我正在写关于 XML-HTTP DOS 攻击的硕士论文。我有一些 pcap 文件和 DARPA 数据集,但我不知道如何使用它们来模拟 DOS 攻击?我使用 Wireshark 打开文件,它可以工作,但它只显示信息。我需要编写程序来应用这些数据集吗?或者已经存在一些工具?提前致谢

0 投票
1 回答
130 浏览

web-services - 如何安全地提供对开放数据库的免费查询访问

背景:我的州政府有一个网站以“政府透明度”的名义提供财务数据,但我对它的呈现方式非常不满意。这是一个尴尬的老式网站,没有 API,没有办法下载数据,网站本身也没有提供聚合分析。您可以通过姓名找到任何国家雇员的工资和差旅报销记录,但这需要一些协调一致的努力。而且肯定没有简单的方法来回答“高中教师的平均工资是多少?”等有用的问题。所以,作为第一步,我只是截取了大部分信息,这些信息现在以 json 格式保存在 GitHub 存储库中。

所以我的下一步是以有用的方式呈现这些数据。当然我会尝试自己做一些分析和绘图,提供一个 RESTful API,并提供一个包含整个数据集的 tarball。但是还有一件事我想要但不确定...

问题:如果我将这些数据放入关系数据库中,我如何“安全地”公开该数据库系统以进行通用公共查询?我无法想象简单地编写一个执行任意 SQL 选择的 Web 服务是一个好主意,因为这是公开邀请任何人将我的处理器与长时间运行的查询(无论是否恶意)捆绑在一起。

是否存在诸如 SQL 子集或完全不同的查询语言之类的东西,可以保证查询评估复杂性的上限?还是我想太多了-也许正确的答案就像在 DBMS 上设置较低的最大查询时间一样微不足道?

0 投票
8 回答
47449 浏览

java - 使用 Java 读取文件或流的最强大的方法(防止 DoS 攻击)

目前我有以下代码用于阅读InputStream. 我将整个文件存储到一个StringBuilder变量中,然后处理这个字符串。

该代码已与安全团队进行审查,并收到以下评论:

  1. BufferedReader.readLine容易受到 DOS(拒绝服务)攻击(无限长的行,不包含换行/回车的大文件)

  2. 变量的资源耗尽StringBuilder(文件包含的数据大于可用内存的情况)

以下是我能想到的解决方案:

  1. readLine创建方法 ( )的替代实现readLine(int limit),它检查否。读取的字节数,如果超过指定的限制,则抛出自定义异常。

  2. 逐行处理文件而不加载整个文件。(纯非Java解决方案:))

请建议是否有任何现有的库可以实现上述解决方案。还建议提供比提议的解决方案更稳健或更便于实施的任何替代解决方案。尽管性能也是一项主要要求,但安全性是第一位的。