1.CSRF原理
程序员开发的时候,未对相关页面进行token和referer判断,造成攻击者可构造自己的URL地址欺骗用户进行点击
- 漏洞分析(低级可绕过)
通过这个可以更改密码
改为了password
- 中级多了referer头可以绕过
源代码 多了一个referer
通过burp抓包
前提是要先登录
更改成功,通过burp构造referer
- 高级有了token不可绕过
源代码多了一个token
token的payload随机产生,不可以构造
两个侧重点
- 用户和服务器建立在web会话之中
- 欺骗用户访问url
2.CSRF攻击分类
站内 敏感操作(添加用户、修改密码)
站外 留言或评论的地方
3.检测工具
burp
CSRFTester
4.如何挖掘Csrf漏洞(登录后页面,有后台权限)
- 扫描器
- 修改密码的地方
通过Burp抓包
变更csrf poc生成
新建一个
在会话状态
点击新建的1.html
- 添加用户的地方
- 数据库备份的地方
在burp里可以看见文件夹的命名
&backupdir=xxxx%26backupfilename%3Daaaa用户必须与服务器建立会话连接状态,只要有人访问链接就进行数据库备份
- 数据交易、支付等
- 等其它一些对话框钓鱼页面
登录一个普通用户
发表一个帖子,宽高为0,图片链接为http://10.0.0.139:92/dz/uc_server/admin.php?m=db&a=operate&t=export&appid=0&backupdir=xxxx%26backupfilename%3Daaaa
登上管理中心
admin管理员查看发来的帖子钓鱼成功
- CSRF一般与XSS结合使用
5.防范方法
郊验http referer字段和token值
写代码时,不要滥用request
修改密码的时候要郊验原密码和验证吗
安全设备去防御(临时)
白名单