我正在研究哈希计算器课程。这是一个简单的Web应用程序,它在主页面上包含两个提交表单,用户可以在这些表单中提交哈希并获取文本并查看一节经文。
尽管应用程序很简单,但它需要在其中实现安全功能。我设法减轻了SQL和XSS攻击。然后,我决定使用两个漏洞评估扫描仪“Acunetix”和“Nessus”。两个扫描程序都向我显示我的应用程序容易受到CSRF的攻击,并且对此攻击的保护是在PHP中实现会话和随机令牌。
我已经读过这次攻击以及它的作用。但是,我很困惑,因为这次攻击主要集中在已经过身份验证的用户和cookie上,所以我的问题是?我是否需要在我的应用程序中嵌入会话和令牌,只返回并恢复哈希和明文?如果是,为什么我应该这样做以及周围有哪些潜在威胁?
非常感谢你!
你的问题是正确的,CSRF保护需要有意识的决定。我想你至少可以考虑在你的应用程序中这样做,这就是为什么。
CSRF是关于另一个网站能够欺骗用户在访问恶意应用程序时无意中执行应用程序中的操作。确实,大多数情况下,这会利用用户已登录的事实,但情况并非如此。
对于您的应用程序,立即浮现的两个与CSRF相关的威胁是:
也许这些不适用于您的确切用例,我只想指出,即使没有任何类型的会话状态,CSRF确实是一个问题,系统地揭示这些潜在威胁的工具称为威胁建模。
简短的回答:不,你没有,因为你没有'用户'(身份验证),你不需要csrf令牌。