What this doesn\'t prevent: Brute Force
它所做的一切就是防止自动暴力攻击?
不。这不能防止暴力攻击。
在暴力攻击中,攻击者可以控制HTTP请求的所有参数。这包括referer。由于攻击者可以发送任意引用,这并不能阻止暴力攻击。(几乎)所有暴力工具都允许设置引用者,而将站点本身设置为引用者是相当标准的。
防止暴力的机制包括基于IP或用户名以及CAPTCHA的禁止或限制。
What this might be intended to prevent: CSRF
此代码可能已缩进,以向管理区域的所有POST请求添加引用者检查。如果referer无效,则拒绝请求。
在CSRF攻击中,攻击者强制受害者执行状态更改POST请求。这可以通过向攻击者发布HTML和Javascript代码来实现。com,然后自动向受害者发送请求。一旦经过身份验证的受害者访问该网站。
Referer检查是防止CSRF的一种机制。作为唯一的受害者。com被接受为有效的引用者,攻击者无法强制受害者从其自己的域发送请求。
当然,WordPress有自己的CSRF保护(通过反CSRF nonces)。但它可能不会涵盖所有情况,插件的安全性在很大程度上取决于插件开发人员。
额外的referer检查有助于防止WP核心,尤其是插件中的CSRF漏洞被利用。
当然,如果这是故意的,那么代码就被窃听了。这个$
在里面RewriteCond %{REQUEST_URI} ^(.*)?wp-admin$
阻止检查大多数请求。
该检查也可以轻松绕过。将接受以下推荐人:
Referer: http://example.com.org
Referer: http://not-example.com
Referer: http://notexample.com
Referer: http://attacker.com/example.com
[...]
要增加站点的安全性,需要首先解决这两个问题。还可以通过不局限于POST请求来进一步改进代码(在写得不好的应用程序中,GET请求也可能更改服务器状态,或者POST请求可以转换为GET请求)。由于该检查仅适用于管理员,因此不应限制可用性。