我有一个关于csrf缓解的问题。文献建议在每一页上使用一个令牌,该令牌必须与任何表单一起提交-此令牌必须有效才能发生事务。
页面上有一个令牌如何保护csrf?
我不能只做一个HTTP GET请求,从HTML中解析令牌,然后在一个帖子中使用这个令牌(在某个时限内),因为HTTP是无状态的吗?

最佳答案

是的,你可以。但那不是csrf。csrf是我偷偷让你执行一个你不打算执行的动作。例如,如果你登录了一个特定的网站,我诱骗你点击一个链接,比如:
http://test.com/action.php?delete_id=324
你点击链接,结果你删除了一个你不想删除的资源。或者如果我让你看到这样的图像(看看src):

<img src="http://test.com/action.php?delete_id=324" />

但是,如果action.php需要一个令牌呢?然后我(攻击者)必须尝试找出您当前使用的令牌。
http://test.com/action.php?delete_id=324&token=89723gdeHDdhipd823igb9bd87309287bhdebvtaGY
否则,操作将不会发生,请求将被拒绝(或至少应该被拒绝)。

09-30 17:22
查看更多