csrf-基于Pikachu的学习
CSRF-跨站请求伪造
CSRF的原理
CSRF攻击即Cross-site request forgery,跨站请求伪造,直白来说就是恶意网站伪装成用户,向被害网站发起操作请求。
- 用户输入账号信息请求登录A网站。
- A网站验证用户信息,通过验证后返回给用户一个cookie
- 在未退出网站A之前,在同一浏览器中请求了黑客构造的恶意网站B
- B网站收到用户请求后返回攻击性代码,构造访问A网站的语句
- 浏览器收到攻击性代码后,在用户不知情的情况下携带cookie信息请求了A网站。此时A网站不知道这是由B发起的。那么这时黑客就可以进行一下骚操作了!
两个条件:
1 用户访问站点A并产生了cookie
2 用户没有退出A同时访问了B
Pikachu靶场
CSRF-GET
打开题目,是一个登录框,我们直接提示一下,挑选一下受害者(因为CSRF需要用户已经登录,服务器给了一个cookie),那就allen登录一下吧。
接下来我们修改一下个人信息试试看,修改成:
我试过一次后,url很快变了一下,我们看不到,所以burp启动,捕捉一下吧,发现的确有参数
我们给参数值复制一下,然后把包发了,停止抓包了,我们就刚才那个参数开始去构造payload一下。
(我这里是搭建在本地了,所以你构造的时候需要写你靶场在的url)
http://localhost/pikachu-master/vul/csrf/csrfget/csrf_get_edit.php?sex=hack&phonenum=hack&add=hack&email=hack&submit=submit
然后我们去浏览器拿着payload访问一下:
啊啊啊,我的信息被改了,GG
CSRF-POST
这道题还是一个登录,这次选取受害者vince
点击修改个人信息,然后burp抓包,发现是POST请求,所以不能直接访问链接去触发CSRF,需要我们去构造一个html,这里我们直接用burp的工具生成
生成如下,我们复制粘贴,创一个html文件
点击submit,发现信息被更改了
注意打开这个html文件的时候用的浏览器一定要与账号登陆的那个浏览器一样才行
CSRF-token
这次受害对象我选的kevin
点击修改个人信息,抓包看看怎么个事
加了一个token值,token值每次都会改变,CSRF攻击就不起效了,收拾跑路吧!
CSRF的防御措施
javascript - CSRF是什么?有效的防御措施有哪些? - 前端_风雨开发路 - SegmentFault 思否
什么是CSRF?如何防御CSRF攻击?知了堂告诉你 - 知乎 (zhihu.com)
热门相关:大文豪 天龙剑尊 剑斗九天 盖世双谐 娇妻太甜:禁欲总裁,别太急