- 每日一句:用Cookie打他
- 本篇内容:CSRF的原理
CSRF实战注意
一、CSRF理解
1.定义
简单的说,csrf漏洞的成因就是网站的cookie在浏览器中不会过期,
只要不关闭浏览器或者退出登录,那以后只要访问这个网站,都会默认你已经登录的状态。
而在这个期间,攻击者发送了构造好的csrf脚本或包含csrf脚本的链接,
可能会执行一些用户不想做的功能(比如是添加账号等)
2.危害
攻击者利用你的身份,以你的名义发送恶意请求。
例如:
以你名义发送邮件,发消息,盗取你的账号,甚至购买商品,虚拟货币转账。
造成的后果:个人隐私泄露以及财产安全。
3.制作csrf
了解目标网站使用的CMS,下载;找到想改的页面。(假如没有二次开发)
直接burp抓包,右击,找到tools(工具),找csrf POC,点击后将代码复制
(这个代码可以改写,可以变得很危险)。
放到(插入到)某个网站上,诱使管理员一点击,直接中招。(稍微一点社工就行)
4.csrf攻击过程
~访问A站没有退出账号(A站的cookie没有失效),去访问B站。
~B站有恶意脚本,让你的浏览器去访问A站,
~浏览器带着B站准备好的恶意语句去提交给服务器
~服务器没有csrf的防范,直接将B站准备好的语句执行了
~最终,用户在不知道情况下的就被攻击了
二、CSRF实战注意
1.xss与csrf的区别:
xss的核心是操作目标网站的HTML代码,窃取cookie
csrf的核心在非目标网站的HTML代码做手脚 让浏览器偷偷的去访问目标网站
2.局限性:
~来访问你的网站,且要带着未失效的cookie
~攻击目标是指向性的
~目标网站没有csrf的防范
3.防护csrf
~检测 HTTP Referer
这个可以绕过
原理:就是检查你的来源,你是从哪个网站发来的请求
~在cookie之中增加随机token值,基本可以杜绝csrf,而且对客户几乎没影响
注意:什么是随机Token值?(不同的表单包含一个不同的随机值)
原理类似验证码,但是不用手动填入了,之后与服务器比对
4.给浏览器增加burp证书
访问,127.0.0.1:8080,点击网页右上角的 “CA Certificate”
burp的证书会自动下载,然后导入浏览器即可
三、总结
- 掌握CSRF的原理
- 多多实战(实战总结经验)