### 简要描述:
phpwindv9.0.1存储型XSS及利用技巧(需要一定权限)
### 详细说明:
漏洞利用需要phpwind版主以及总版主权限,可以在某些情况下被用来获取管理员最高权限。
1.版主和总版主操作(置顶、高亮、精华)帖子的时候,可以填入操作填入理由,在操作理由处填入xss code
[<img src="https://images.seebug.org/upload/201507/16212254c0e915f27343bb2cc2003591e21eb40b.png" alt="phpwind0.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201507/16212254c0e915f27343bb2cc2003591e21eb40b.png)
反应到Fiddler里面就是
[<img src="https://images.seebug.org/upload/201507/1621234623cc10f8d8f81fc9c438c5ae220584da.png" alt="1000.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201507/1621234623cc10f8d8f81fc9c438c5ae220584da.png)
2.被操作帖子所属的用户就会收到通知,展开详情就会触发xss payload
[<img src="https://images.seebug.org/upload/201507/162124373880f301f741e9f1aa4a6dc11137acbf.png" alt="phpwind2.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201507/162124373880f301f741e9f1aa4a6dc11137acbf.png)
成功收到cookies
[<img src="https://images.seebug.org/upload/201507/16212747f3c0682fe49db82a8a24bbc9783bda8d.png" alt="phpwind3.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201507/16212747f3c0682fe49db82a8a24bbc9783bda8d.png)
至此,一个xss的内容大概讲完了,看官肯定觉得鸡肋点有两处:
1.版主权限
2.phpwind做了http_only防护,导致无法读取cookies里面的csrf_token字段,导致cookies不完整,不能凭XSS平台收到的cookies登录
[<img src="https://images.seebug.org/upload/201507/16213102ce663883cd59928e2f57926c20db4e87.png" alt="phpwind6.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201507/16213102ce663883cd59928e2f57926c20db4e87.png)
### 漏洞证明:
现在我们需要考虑如何绕过这两点鸡肋点:
1.版主权限,可以社工获得。或者是本身已经是版主权限的话就根本不必要执行前面的步骤
2.绕过http_only防护,毕竟“XSS已经属于一个远程代码执行了”--呆子不开口,要获取完整的cookies其实只差一步,就是要获取被http_only的csrf_token字段。
0x_Jin在
[WooYun: 我是如何通过一个 XSS 探测搜狐内网扫描内网并且蠕动到前台的!(附带各种 POC)](http://www.wooyun.org/bugs/wooyun-2014-076685)
里面提到过利用XHR结合XSS嗅探内网的技巧,可以用在这里因为phpwind把http_only字段的内容直接写在了页面源代码内的input值内。
所以参考了网上的一些资料,写了一个XSS平台可以用的利用XHR获取页面源代码的脚本,配置一下:
[<img src="https://images.seebug.org/upload/201507/16213332ec68e36762e773821a36c2d5156623e0.png" alt="phpwind7.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201507/16213332ec68e36762e773821a36c2d5156623e0.png)
XSS平台就收到整个页面的源代码了
[<img src="https://images.seebug.org/upload/201507/162133543e5bef428b6febd8b09014f2e085baf0.png" alt="phpwind4.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201507/162133543e5bef428b6febd8b09014f2e085baf0.png)
从源代码获取被保护的csrf_token
[<img src="https://images.seebug.org/upload/201507/162134170db3e491a7a523cb5b140db90cee917c.png" alt="phpwind5.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201507/162134170db3e491a7a523cb5b140db90cee917c.png)
至此,http_only保护的字段也被获取到了。cookies完整,如果接收的及时的话,就可以凭借cookies去登陆对应账户了,或者进一步利用劫持用户发个帖什么的。
[<img src="https://images.seebug.org/upload/201507/162136374d62b47c8586f5b463ac4a5f622ca89e.png" alt="phpwind6.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201507/162136374d62b47c8586f5b463ac4a5f622ca89e.png)
暂无评论