原理
CSRF(Cross-Site Request Forgery,跨站请求伪造) /XSRF
是一种挟持用户在当前已登录的Web应用程序执行非本意的操作的攻击方法
攻击者盗用了你在某个网站的身份,以你的名义发送恶意请求
危害
以你的名义
1.冒充身份
2.账户接管
3.其他:登录/注册/注销
4.安全设计原则:CSRF
防御
从漏洞原理来看
关键操作增加验证码(比如说支付密码)
验证referer(来源) =>可被bp修改
使用Token
从漏洞利用前提条件来看
用户需要养成访问完一个网站之后,点击退出帐户的好习惯
利用前提:
1.登录信任网站A,并在浏览器中保存相应的Cookie。 2.在不退出网站A的情况下,访问危险网站B。
流程
cookie是存储在浏览器 | session是存储在服务器的
1.用户在没有退出 核心网站 的时候,点击了恶意网站,这样才可以发起一次攻击
半自动化
例子:修改密码
自己账户 登录 修改密码 =>bp抓包 engagement tools=>Generate CSRF Poc
复制html 存入evil.html 发给 用户 用户点击就会被更改密码
前提:在浏览器中保存相应的Cookie。
自动化提交
对浏览器有要求 (搜狗 猎豹可以)
<img src="url/?后面加参数" >
比如:<img src="http://www.pikachu.com/vul/csrf/csrfget/csrf_get_edit.php?sex=boy&phonenum=13676767767&add=nba+76&email=allen%40pikachu.com&submit=submit">
js自动化提交
跟自动化类似 后面加上以下脚本 有name属性的值是 submit前要加上空格
补充脚本 自动提交
<script>
document.forms[0].submit();
</script>
延申 可讲改文件进行一些伪装修饰 如跳转按钮 图片 跳转网页等
