我正在尝试实施CSRF和SSL(它们并非完全依赖),并列出了我对该主题的理解,以获得理解证明。
请随时纠正我的理解。
我们在几乎所有安全应用程序中都看到了CSRF令牌。
跨站请求伪造(CSRF)的工作原理:
您已登录到您的银行帐户(例如,SBI或JPMC)并正在查看您的帐户,或者只是因为您忙碌而将其打开在浏览器上。 现在,您收到的电子邮件可能是文本/图像或下一个选项卡上的任何内容。收到电子邮件的那一刻,像onload等其他java脚本函数的功能可能会在您不知情的情况下触发浏览器的GET / PUT / POST请求。 现在需要注意的是,CSRF实际上无法从您的安全网页中读取任何内容,因为当您拥有正确的SSL时,安全页面就会被加密。 CSRF也无法窃取您的凭据。事实上,它无法找到保存在安全网站内隐藏标签内的CSRF令牌,因为它是加密的。只有在您使用网站对自己进行身份验证之后,它才会起作用,它会触发请求,这些请求会诱使服务器认为来自您刚登录的浏览器的请求因此服务器按照收到的请求工作。
现在,当黑客试图打开CSRF攻击时,它会欺骗浏览器发送url:
<img src="https://www.bankWebsite.com/transfer?amount=1000&destination=8990">
因此,在您不知道的情况下,从您认证的会话中,会发出一个请求,要求在账号8990中转移1000金额。就像那样,您被抢劫了1000美元。
如何保护自己:
CSRF保护可以通过以下几种方式完成:
1)从标题验证请求的来源
2)验证请求的目标
3)CSRF令牌
CSRF令牌保护的工作原理:
CSRf令牌位于标头/ cookie中。因此,当黑客欺骗浏览器将请求发送到服务器时,令牌仅出现在标题中而不是提交的表单中。因此,当服务器检查是否收到CSRF令牌时,它会尝试将头部中的CSRF令牌与从表单/请求接收的令牌进行匹配。如果它不存在/不匹配,则服务器识别出它是攻击并阻止请求进一步渗透。
如果我对CSRF攻击的理解,保护是否正确,请大家请求纠正我? 它也意味着没有正确实施SSL,CSRF是没用的吗?
答案 0 :(得分:1)
如果我对CSRF攻击,保护是否正确的理解,请求大家纠正我?
是
这也意味着如果没有正确实施SSL,CSRF是没用的吗?
如果您以明文形式向客户端发送令牌(而不是使用SSL加密),则攻击者可以截获该令牌。
如果攻击者知道要在表单数据中放入什么标记,则保护就会消失。