type
status
date
slug
summary
tags
category
icon
password
0x00 漏洞介绍
CSRF全称为跨站请求伪造(Cross-site request forgery),是一种网络攻击方式,CSRF攻击利用网站对于用户网页浏览器的信任,挟持用户当前已登陆的Web应用程序,去执行并非用户本意的操作。 用户登录、浏览并信任正规网站WebA,同时,WebA通过用户的验证并在用户的浏览器中产生Cookie。
简单理解:将即将支付网址连接盗取,将伪造站点操作代码放在csrf伪造站点,当点击伪造站点自动执行里面的命令行为(完成页面支付)---小黄的理解
0x01 csrf漏洞操作
1) low型
low级别通过get请求即可直接修改密码
方法:将url请求地址盗取直接修改密码重新请求即可
2)medium型
首先介绍中级,当我们以get型想请求修改密码,发现不可行,通过抓包发现,数据包中存在一行唯一标识符(记录数据包第一地址),相比系统就是检查数据包是否具有这个唯一标识从而允许或不允许修改密码
数据包
抓取正常请求包
接下来通过将referer头(记录数据第一发送地址)记录,填充到我们盗取的请求连接,从而达到通过检测
添加进伪造标识
修改成功
3)high级别
high检测是否具有一个token值类似于cookie值,也是唯一的,而不同的是,这个值每一回合都会改变,这需要配合xss储存型漏洞,将每一回合之前的这个token值提取出来,再通过盗取请求修改密码连接,将值添加进去,主要注意的是这个值需要获取后再去跳转请求伪造修改,中途不能够刷新,以为每一个回合都会改变
插入储存型xss发现,插入语句太长,页面无法全部填进去,通过修改js代码,修改当前限制值,再插入xss代码,获取token值
xss-payload:
<iframe src="../csrf/" onload=alert(frames[0].document.getElementsByName('user_token')[0].value)>
首先盗取请求连接
数据包发现存在唯一token值
插入xss
获取token值
修改盗取请求地址数据包,将值修改进去
友情提示师傅们不要忘记了修改的账号密码呀,不然只有暴力破解咯,或者用靶场其他默认密码~
- 作者:告白
- 链接:https://www.gbsec.top/article/%E7%90%86%E8%A7%A3CSRF%E6%BC%8F%E6%B4%9E
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章