当前位置: 首页 > 科技观察

网络安全攻防:Web安全CSRF

时间:2023-03-21 16:59:52 科技观察

CSRF(Cross-SiteRequestForgery)跨站请求伪造攻击。CSRF是一种伪造的请求,伪装成用户在网站上的正常操作。我们知道大多数网站都是使用cookie来识别用户(包括使用服务器端session的网站,因为sessionID大多保存在cookie中),然后进行授权。因此,要伪造用户的正常操作,最好的办法就是通过XSS或者链接欺骗,让用户在本机(也就是带有身份cookie的浏览器)发起一个用户不知道的请求。CSRF攻击方式于2000年由国外安全人员提出,但直到2006年才在国内引起重视。2008年,国内外许多大型社区和互动网站,如NYTimes等,都暴露出CSRF漏洞。com(纽约时报)、Metafilter(大型博客网站)、Youtube和百度HI。一、分类CSRF漏洞攻击一般分为站内和站外两种。CSRF站点中的漏洞部分是由程序员滥用$_REQUEST变量引起的。一些敏感的操作本来需要用户从表单提交POST请求来给程序传递参数。但是,由于使用了$_REQUEST等变量,程序也接受了GET请求参数,这就为攻击者利用CSRF攻击创造了条件。一般情况下,攻击者只需将预测到的请求参数放入站点帖子或消息的图片链接中,受害者就会浏览这样的页面。强制发起请求。CSRF异地类型的漏洞其实就是传统意义上的外部提交数据问题。一般程序员会考虑在评论、评论等一些表单上加水印,以防止SPAM问题。但是,为了用户的体验,有些操作可能没有任何作用。因此,攻击者可以先预测请求的参数,在站外网页中编写Javascript脚本伪造文件请求或自动提交表单,实现GET、POST请求,用户点击其中的链接session状态访问异地网页,强制客户端发起请求。2.原理CSRF原理如图1所示。图1CSRF原理这相当于受害人登录A网站后需要访问B网站,而B网站往往是钓鱼网站或欺诈网站。3.攻击场景可以用一个例子来说明CSRF攻击在日常生活中的应用。如果A银行允许以GET请求的形式进行转账,那多半不是指现实生活中的,因为现实生活中银行不可能只用GET请求来转账。