CSRF漏洞小记

CSRF漏洞小记

实例:2007年Gmail的CSRF漏洞

https://www.davidairey.com/google-Gmail-security-hijack/


#什么是CSRF漏洞
Cross-site Request Forgery
跨站请求伪造
攻击者盗用了你的身份,以你的名义发送恶意请求
CSRF能够做的事情:以你的名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚拟货币转账


#CSRF漏洞利用条件

–(服务器对客户端的信任)用户已获取服务器认证,登陆网站,并在本地生成cookie(已进行网页认证)

–攻击者(或黑客)提供的恶意链接,受害者必须在不登出存在漏洞的网站,同时使用一个浏览器打开(可通过社工的方法)

–网站除了验证cookie,没有特殊验证方法


#CSRF漏洞检测方法

–使用OWASP CSRFTester工具进行检测。它是OWASP推出的CSRF半自动化软件,省去了CSRF最繁琐的过程-------代码构造。 使用代理抓取我们在浏览器中访问过的所有的连接及表单等信息,修改相应的表单等信息,重新提交,如果测试请求成功被网站服务器接受,则说明存在CSRF漏洞。

–使用burpsuite对CSRF漏洞进行检测。 首先抓取认为可能存在CSRF漏洞 的请求数据包,然后查看是否存 在token或referer验证。 如果不存在验证则可能存在CSRF 漏洞,此时可使用burpsuite的 Engagement tools 去生成 CSRF 漏洞的PoC,去验证CSRF 漏洞。


#常见的CSRF攻击类型

–GET类型:
这种类型的CSRF一般是由于程序员安全意识不强造成的。GET类型的CSRF利用非常简单,只需要一个HTTP请求:

<img src=http://wooyun.org/csrf?xx=11 />

在访问含有这个img的页面后,成功向http://wooyun.org/csrf?xx=11发出了一次HTTP请求。所以,如果将该网址替换为存在GET型CSRF的地址,就能完成攻击了。
–POST类型:
这种类型的CSRF危害没有GET型的大,利用起来通常使用的是一个自动提交的表单:

  <form action=http://wooyun.org/csrf.php method=POST>
                <input type=“test” name=“xx” value=11/>
      </form>
      <script> document.forms[0].submit(); </script>

访问该页面后,表单会自动提交,相当于模拟用户完成了一次POST操作


#XSS与CSRF区别

CSRF:需要用户先登录网站A,获取 cookie

XSS:不需要登录

CSRF:是利用网站A本身的漏洞,去请求网站A的API

XSS:是向网站 A 注入 JS代码,然后执行 JS 里的代码,篡改网站A的内容


#防御CSRF的策略
–验证 HTTP Referer 字段

–在请求地址中添加 token 并验证

–在 HTTP 头中自定义属性并验证

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值