目录
CSRF与XSS的区别:
CSRF是借用户的权限完成攻击,攻击者并没有拿到用户的权限,而XSS是直接盗取到了用户的权限
get请求
原理:
A在某个网站更改我们所需要的信息信息点击提交,用bp开启抓包。然后把更改数据的get请求网址复制出来发给B。当B点击这个链接打开的时候,如果B恰好登陆我们的目标网站,信息就会修改成功。
靶场:pikachu的get,dvwa的low
pikachu为例
lili用户进行信息更改界面,然后把提交的链接发送给allen
用bp进行抓包
GET /vul/csrf/csrfget/csrf_get_edit.php?sex=777888&phonenum=777888&add=777888&email=777888&submit=submit
构造payload
http://8.130.137.228:84/vul/csrf/csrfget/csrf_get_edit.php?sex=777888&phonenum=777888&add=777888&email=777888&submit=submit
将payload发送给allen,allen进行点击
post请求
pikachu为例
可以看到我们进行修改的参数在请求体中可以看到
利用bp的poc(一个html页面)生成网址链接
访问这个链接的时候是不能关闭bp的代理的。访问到这个界面之后,就要关闭bp代理,点击按钮就修改信息成功了
防护措施:
①对敏感信息的操作增加安全的token;
②对敏感信息的操作增加安全的验证码;
③对敏感信息的操作实施安全的逻辑流程,比如修改密码时,需要先校验旧密码等。
④用referer来限制访问跳转页面