问题标签 [brute-force]
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.
apache - Apache 基本身份验证是否防御暴力攻击?
它会在重复尝试错误密码后关闭并锁定,和/或它会在重试之间增加滞后吗?还是这取决于您或您的提供商安装了哪些模块?谢谢!
.net - 是否可以通过暴力破解从加密的 cookie 值中找到validationKey 和decryptionKey?
我正在使用以下代码生成加密令牌:
此代码使用 app/web.config 中指定的密钥和算法:
现在假设我将由此生成的密文提供给合作伙伴。他是否能够暴力破解:
- 存储在密码中的值(不代表敏感信息的用户 id,它不会打扰我)
- 用于创建密码的validationKey 和decryptionKey 的值(这将是灾难性的,因为他将能够生成令牌并冒充任何用户)
我想这两个问题的答案都是肯定的,但是他的机会有多现实,你认为给他密码会对我的系统构成安全威胁吗?提前感谢您的回复。
algorithm - 使用 DOS 通配符暴力破解字符串的最快方法
这个问题类似于盲目的 SQL 注入。目标是确定字符串的确切值,您唯一能做的测试是查看您指定的 DOS 样式通配符(?= 任意字符,* = 任意数量的任意字符)是否与字符串匹配。(所以实际上你只能访问一个bool DoesWildcardMatch(string wildcard)
函数)。
直接的方法是进行测试,a*, b*, c*...
直到找到第一个字母,然后重复。我能想到的一些优化:
- 搜索
*a*, *b*
etc. 以确定字符集 - 当
*x*
找到匹配项时,执行 divide-et-impera (*a*x*, *b*x*, ...
)
encryption - 强(即AES)和非强(即经典zip)加密之间是否存在非线性差异
AES 和其他现代加密算法被认为是强大的,有时人们会看到诸如“不建议使用经典的 zip 加密,因为它不再被认为是强大的”这样的引用。但是它们之间真的存在非线性差异吗?例如,如果两者都产生具有高熵的序列,这是否意味着使用非常长的密码(512 位或更多)它们都变得难以区分,因为理论上我们可以用十亿年的计算机时间来打破 AES 并以 1 压缩/10 那个时候?
brute-force - 防止对 MySQL 的暴力攻击?
我需要为 MySQLd 打开网络,但每次我这样做时,服务器都会被强制遗忘。一些平均密码猜测脚本开始在服务器上敲击,在端口 3306 上打开连接并永远尝试随机密码。
我怎样才能阻止这种情况发生?
对于 SSH,我使用拒绝主机,效果很好。有没有办法让拒绝主机与 MySQLd 一起工作?
我也考虑过更改 MySQL 运行的端口,但这并不理想,只是一个权宜之计(如果他们发现新端口怎么办?)
有没有人有任何其他想法?
如果它有所不同,我在 FreeBSD 6.x 上运行 MySQL 5.x。
python - 动态计算蛮力大小?
如何动态计算蛮力方法的大小?例如,如果将所有 IPv6 地址从 0:0:0:0:0:0:0:0 - ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 打印到文件中,将需要多少次迭代和空间?棘手的部分是线条长度变化的部分。IP 地址只是示例。
想法是您给出给定部分的格式和最大长度。因此,如果变量类型为 '%c' (char),maxlen 为 26,则迭代次数为 26,文本文件中人类格式所需的空间为 26 + 26(一个字符作为分隔符)
例如:
- 1.2.3.4 占用 7 个字节
- 9.9.9.10 占用 8 个字节
- 1.1.1.100 占用 9 个字节
- 5.7.10.100 占用 10 个字节
- 128.1.1.1 占用 9 个字节
- 等等
示例 0.0.0.0 - 10.10.10.10:
迭代次数:14641 所需空间:122452 字节
进入
结果:[14641, 122452]
security - 字典攻击下密码弱吗
感谢您的关注。所有真诚有用的答案都被投票赞成。
我使用密码强度计让用户知道他们选择的密码有多强。但是这个密码检查器显然没有涵盖密码在字典攻击下的弱点。我该如何检查,是否值得?
此外,我的常规密码检查器最初使用浏览器中的 javascript 运行(无需传输)。如果我想检查字典攻击弱点,我必须将其传输到脚本。我的理解是我不应该清楚地传输它。
有人可以帮我解决这个问题。如何检查密码在字典攻击下是否不弱,以及如何在传输到我的脚本之前对其进行加密?
额外信息:
为什么我认为除了常规密码表之外我还需要字典攻击检查?正如你们中的一些人所指出的,用户可以选择像 P@ssword 或 Yellow12 这样的密码。但是我遇到的大多数密码强度检查器都会将此视为一个好的密码。至少我正在使用Yet Another Password Meter并且确实如此(我实际上认为它是更好的密码检查器之一。)如果有人知道更强大的密码检查器,请提及它,但前提是您根据经验确定它更强大;)
但我的问题确实是:如何对密码进行字典攻击检查?我在某处读到它是针对哈希完成的,但是我在哪里进行搜索?一旦我知道如何去做,我就会决定它是否值得。
感谢迄今为止提供帮助的所有人:)
c# - 移动到 DataTable 中的特定记录
希望很简单,但找不到任何这样的选择。
我有一个数据表——说......里面有 10 行。表单上的某些字段分别按名称绑定到 table.columns。
在另一个有网格的表单上,当我滚动网格时,详细字段会按预期刷新,因为网格会触发 DataTable 记录更改事件。
在不使用数据网格的情况下,如何将表格定向到特定行以在表单上加载/显示刷新...例如:
我知道我可以在表中使用 foreach 行,但需要明确使用,因为我不想遍历所有行,但需要对特定行具有特异性。
我查看了 LoadDataRow(),但这似乎是为了将数据推回服务器。不是我想要的...我只想让表格的“当前”行成为特定行...
谢谢
经过进一步研究,我发现基于 FORM 的控件“BindingSource”(或派生类)允许这样做,例如网格。但是,很明显,.Net 引擎正在做一些事情,最终将给定的行“加载”到最终触发回“BindingSource”的东西中……DataTable 有 RowChanging 和 RowChanged 事件,这些事件似乎是由OnRowChanging / OnRowChanged 代表,但我们如何告诉数据表我们希望它作为活动的“行”。
表单控件可以为其绑定源执行此操作,但在幕后真正发生的事情是触发这些 OnRowChanging 事件......我不想重新加载数据表、行等,只需更改被认为是“活动”行,如网格、列表框、组合框等。
php - PHP 中的蛮力/DoS 预防
我正在尝试编写一个脚本来防止在我正在构建的网站中进行暴力登录尝试。逻辑是这样的:
- 用户发送登录信息。
- 检查用户名和密码是否正确
- 如果是,让他们进来。
- 如果否,则在数据库中记录一次失败的尝试。检查给定时间范围内是否有太多失败(例如:5 分钟内失败):
- 如果是,则暂停执行 10 秒:
sleep(10)
,然后向用户报告登录失败。 - 立即向用户报告登录失败
- 如果是,则暂停执行 10 秒:
在向同事解释这一点时,有人问我,如果黑客在一秒钟内发送 1000 个请求,这将有什么帮助。前 5 个会立即返回,然后剩下的 995 个都只需要 10 秒吗?
我有一个偷偷摸摸的怀疑,我不完全理解 HTTP 是如何工作的——这种情况是否可能发生,或者服务器将处理来自一个客户端的并发请求的数量是否有限制?
更好的解决方案是增加睡眠时间吗?
所以前5个会很快,然后每个后续都会增加睡眠。
c - 需要有关 crypt(3) 暴力破解代码的帮助
我正在尝试用 C 语言开发一个程序,该程序将“破解”UNIX 使用的 crypt(3) 加密。我猜最天真的方法是暴力破解。我想我应该创建一个包含密码可以具有的所有符号的数组,然后获取它们的所有可能排列并将它们存储在一个二维数组中(其中所有 1 个字符的密码都保存在第一行等)通过 for循环。有没有更好的方法来做到这一点?循环非常混乱。