我正在搜索防止URL伪造。
像下面的例子
http://www.test.com/tranfer-money.do?value=1000000
如果我可以参加任何受害者的会议,我可以寄钱给我想要的东西。
我碰巧发现了 CSRF 技术 我碰巧也找到了 OTP 技术。
我认为它们是完全相同的算法。 OTP就像它的名字说的是“一次性密码” 而Anti-CSRF只是OTP体系结构的样本之一” 不是吗?
算法是“服务器给客户端一个不可预测的令牌,客户端将请求此令牌,服务器将进行验证”
为什么我这样认为是出于两个原因。
独立对象发出令牌。 从OTP角度来看,硬件或应用程序发出唯一的(不可预测的)令牌 从反CSRF的角度来看,WAS Server发出唯一的(不可预测的)令牌 不管它们是什么发行者,重要的是来自客户端对象的独立对象发行令牌。
独立发行者对象每次发行一次令牌。 在OTP中,硬件或应用程序会在用户一次请求敏感信息之前发出令牌。 在Anti-CSRF,WAS Server也在用户一次登录后发出令牌。 (我们可以每次使WAS Server发出令牌。这取决于WAS Server配置。如果我将服务器配置为这样工作,那么您能说这不是WAS服务器吗?)
我想知道的是CSRF令牌和OTP令牌之间有什么区别。
答案 0 :(得分:1)
OTP(一次性密码)和CSRF(跨站点请求伪造)是不同的。
OTP是一种身份验证机制。某种应用程序或硬件令牌正在生成可用于在应用程序中进行身份验证的字符串。 RSA令牌就是一个著名的例子,它实现了基于时间的一次性密码协议。
CSRF是Web应用程序的弱点,无法验证用户是否有意发送了请求。当我们谈论CSRF保护时,通常是指使用反CSRF令牌进行保护。这些令牌由服务器生成,并由客户端在每次更改系统状态的请求中传递。服务器会拒绝所有没有此令牌的请求。