关于CSRF的问题

11 浏览
0 Comments

关于CSRF的问题

在使用cookie进行身份验证时,使用信号auth-token是否安全(仅通过ajax发送和请求JSON)?

为什么攻击者无法获取隐藏域中的表单令牌?

攻击者如何通过POST请求进行CSRF攻击?

0
0 Comments

CSRF(Cross-Site Request Forgery)是一种常见的网络安全攻击方式,攻击者通过伪装成合法用户的浏览器请求向目标网站发送恶意请求,以实现攻击目的。下面的问题内容解释了CSRF攻击的原因以及解决方法。

首先,有一个问题是关于是否可以在cookie中使用单个令牌进行身份验证。回答是,如果该cookie是HTTP-only(用于保护XSS攻击)并且使用SSL加密,则外部用户无法读取该cookie。然而,用户的浏览器会保留该cookie,并在再次请求应用程序页面时自动发送它。这在用户浏览网站时是期望的,但也是CSRF攻击可能发生的原因。

另一个问题是为什么攻击者无法获取隐藏字段中的表单令牌。回答是,在CSRF攻击中,黑客无法读取您的网站或cookie,因为它应该受到SSL/HTTPS的保护。CSRF攻击通过欺骗浏览器将黑客的数据与您的安全数据一起发送到您的网站。因此,在防御CSRF攻击时,隐藏字段中的值是默认的防御机制之一-他们在cookie中有一个秘密值(黑客可以欺骗浏览器重新发送但无法查看或编辑),并且在加密页面中的隐藏输入字段中有相同的值(黑客无法获取)。如果cookie和隐藏值不匹配,则存在CSRF攻击。

另一个问题是攻击者如何通过POST请求进行CSRF攻击。解答是,假设您有一个安全的网站。您可以使用SSL登录到该站点,并获得一个HTTP-only的SSL身份验证cookie来保持登录状态。现在,我有一个完全不同的网站上的新页面。如果我从我的网站上链接到您的网站,当您点击该链接时,它将离开我的网站并转到您的网站,同时传递您的cookie。如果我在我的页面上添加一个POST到您的网站的HTML

,同样的事情发生:浏览器返回到您的网站,并发送表单中的任何数据,以及您的cookie。请注意,我既没有读取您的cookie,也没有读取您网站上的任何页面,因为这两者都受到SSL加密的保护。为了达到最好的效果,我可以隐藏该表单,使用户甚至意识不到他们正在向您的网站发送请求。

以上是关于CSRF攻击的原因以及解决方法的内容。

0