作者:cy45vsf | 来源:互联网 | 2022-12-03 19:49
在创建新的帖子草稿时,如何最好地保护WP免受CSRF攻击?
如果我添加新帖子并保存为草稿,我可以使用Burp Suite拦截请求.
使用Burp Suite中的参与工具,我可以更改帖子标题的值并将URL粘贴回浏览器,浏览器会创建一个带有更改的帖子标题的新草稿.
我怎样才能抵御这个?
干杯
1> t.m.adam..:
WordPress已经通过使用随机数提供了CSRF保护机制.创建新帖子时,会创建一个新的唯一nonce.此随机数是必需的,必须与其余的POST数据一起提交,以便将帖子保存为草稿或发布.如果nonce不存在或无效,则拒绝该请求.(使用Wordpress v4.9.8测试)
在您的测试中,您可以修改草稿,因为您使用Burp提交了正确的nonce,但在CSRF攻击中,此值将是未知的.Burp是一个拦截代理,因此您实际上对自己的HTTP流量执行了MITM攻击.如果你担心MITM攻击,你应该使用HTTPS.当然,攻击者仍然可以拦截您的网络流量,但所有数据都会被加密.
所以,我不会说这是一个CSRF漏洞,而是一个MITM漏洞.您可以通过更新WordPress版本,插件和更新来保护您的WordPress安装免受大多数公共攻击,还可以在https://wordpress.org/plugins/tags/security/中找到许多与安全相关的插件.
我认为在WordPress上进行安全测试的最佳工具是WPScan.它有一个庞大的漏洞数据库,它可以检测可能的漏洞并枚举用户,版本和插件.WPScan主要是一个侦察工具,但我们可以测试报告的漏洞利用的是与Metasploit的或Wpxf,一个鲜为人知但功能强大的工具,专业WordPress的开发.请注意,这些工具只能检测和利用公共漏洞.如果您想发现新的漏洞,那么您可以使用Burp或类似的扫描仪并研究WordPress源代码.
如果我误解了这个问题,并且你有一个没有nonce的表单(假设你正在编写一个插件),你可以添加一个nonce,wp_nonce_field
然后在接收表单的脚本中验证它wp_verify_nonce
.但是,如果您的WordPress安装不使用带有表单的随机数,则不应尝试手动添加随机数,而应更新为较新版本.