Invision Power Board 4.1.19.2 XSS / CSRF / File Upload / Information Disclosure
IPB是一个集论坛展示与CMS的PHP平台。这套系统本身是不开源的,但是我为了复现该漏洞,从网上下载了该平台的一个盗版。该文件我已经作为附件上传到小密圈中了,有兴趣的圈友可以看看。
首先,根据原文,漏洞的触发点在http://<target>/admin/convertutf8/index.php?controller=
作者说controller参数并没有很好的过滤,那么我们打开phpstrom的debug功能,对参数进行跟踪。
调用了run函数。
拼接路径+controller参数+php后缀得到文件路径,判断该文件路径是否存在,不存在则跳入error。显然,我们输入的payload不可能真实存在对应的文件名,因此,进入error函数。
error直接sendout一个error message给template,看起来好像没有问题,controller参数似乎并没有产生影响。我们接着跟进template。
我们可以看到,controller没经任何过滤机会直接赋给了template中的$controller
变量。
确实,template中没有经过任何过滤就获取了controller参数,将其放入模板变量中替代。我们构造一下payload
|
|
成功弹框。根据这个XSS,可以构造出相应的针对管理员权限账号的CSRF。作者给出对应的EXP如下。
|
|
|
|
这是两个不同的payload,具体做了什么就当是留给各位的一个小小的问题。并且各位可以发挥自己的想象力,我们还可以去实现怎样的攻击,写出更好玩的payload。