CSRF漏洞修复 防止跨站攻击解决方案

 
 
             CSRF漏洞,是指伪造跨站代码请求,来达到攻击目的。具体的攻击步骤如下:
 
黑客发现CSRF漏洞——伪造跨站代码——发送给用户——用户打开——用户执行伪造的代码——完
 
成攻击
 
 本来是想以程序代码的安全审计来讲的,发现很多人不懂PHP代码。就懒得写代码的安全审计了。
 
简单来说,在用户进行正常的操作请求时,服务端并没有判断用户发送的请求是否是用户本身发送
 
 
的。服务端接受到了来自某个cookie用户发送来的请求,就当成一个正常的请求来执行了。但是可
 
 
能是网站本身存在CSRF漏洞。如下图所示:
Sine安全公司是一家专注于:服务器安全网站安全、网站安全检测、网站安全测试、于一体的安全服务提供商。
 
CSRF,跨站请求伪造,在受害者通过浏览器打开某个恶意URL的时候,通过伪造请求达到跨站请求
 
 
伪造(常见于一些商城交互类网站或者自己开发的程序代码)
 
 
    用我自己的理解来说一下这个漏洞,简单来说这个漏洞就是攻击者在网站的html页面里伪造了
 
 
一个表单,然后GET POST到存在漏洞的网站里。大部分网站都用用过cookies作为一个用户的判断
 
 
,大家听过cookie这个词吧?这是服务端判断用户身份的一个标识。下面来说一下CSRF攻击的形式
 
。Sine安全公司是一家专注于:服务器安全、网站安全、网站安全检测、网站安全测试、于一体的安全服务提供商。
 
 
利用CSRF漏洞,会对网站以及用户有什么危害呢?
 
    1. 配合XSS漏洞可造成蠕虫病毒攻击。
 
    2. 可以更改用户的密码
 
    3. 更改(商城ecshop等开源程序)用户收货地址
 
  用户所有可以在网站操作的,黑客都可以利用CSRF漏洞去操作。只需要构造PoC代码,伪造请求
 
 
让受害者点击就可以执行漏洞。
 
    简单点来说,B以A的身份执行了A可以执行的操作,当然,我们这里B是黑客,A是用户。
 
CSRF漏洞修复安全建议
 
        通过token或者session来判断当前用户身份,检查POST来路Referer,在POST的信息中加
 
        token机制。
 
 
 
       用户的一些敏感操作需要验证码,更改密码需要验证之前的老密码。
        
       验证HTTP Referer字段
       
       在请求地址中添加token并验证
 
       在HTTP头中自定义属性并验证
 
       
 
分享: