黑盒发现注入点
本以为渗透能很快结束,结果发现admin密码解不开,注入点非root,这样的话,拿到个注入点毫无卵用啊....
后面根据特征搜索,发现存在三四千个同源站,然后写了个批量脚本批量跑数据库用户名,想着跑个root来getshell,然而想法是好的,结果却很扎心,没有一个用root用户的站,后面就改了下,批量跑后台账号,得到账号后跑弱口令,最后成功进了其他同源站后台。
看着功能挺多,以为拿shell没跑了,结果吧,一顿操作,2个上传点均白名单,然后各种瞎折腾,始终拿不下shell,实在没辙了还去土司发了个贴求源码...
源码也是没求到,不过自己在网上的源码站找到了这套漫画源码,果断下载下来审计。
审计之第一处getshell
/Public/agent/lib/webuploader/0.1.5/server/preview.php
webuploader编辑器漏洞
利用方法:
这里不多解释了,测试了下,基本修复完了。
审计之第二处getshell
/Admin/FileUpload/uploadfile
任意上传
后缀没有任何过滤,任意上传没跑了,以为基本完事了,结果发现目标站修复了,其他站还是有个百分之10左右存在这个洞,不过都是因为目录不存在而上传失败。
审计之第三处getshell
可以看到,httpcopy2
函数无任何过滤,然后使用mhpd8bendi
函数调用
整个利用大致:先创建一个漫画内容,内容中的 image 字段填写远程的后门地址,然后采集,采集会抓取远程的后门到他本地中。
最后得到的shell路径为:/bookimages/漫画ID/后门.php
这个漏洞通杀率百分之九十九,但是又遇到了个难题,没法进后台怎么办,这需要后台权限....
然后就专门审计非后台的,没找到别的突破口了,最后想起我的注入点支持栈查询呀,直接本地调试好语句,然后注入点依次执行:
2 );INSERT INTO `qiswl_admin_user` (`username`,`PASSWORD`) VALUES ('test33','$2y$10$Qjf/QVYQz24PIkGK01.dBOMafONGbHzD/1u3lqy9RCRDwj0Bt4nNW')--+
//查询新建的账号ID
2 ) and (updatexml(1,concat(0x7e,(select id from qiswl_admin_user where username='test33'),0x7e),1))--+
//把新建的账号添加到超级管理员角色中
2 ); INSERT INTO `qiswl_auth_group_access` (`uid`, `group_id`) VALUES ('21', '1') --+
如上方法,成功进了后台,然后配合上面的采集getshell成功。
因为已经有方法成功搞定了,所以就没有继续审了,目测还有洞。
本文作者为Mr.Wu,转载请注明,尊守博主劳动成果!
由于经常折腾代码,可能会导致个别文章内容显示错位或者别的 BUG 影响阅读; 如发现请在该文章下留言告知于我,thank you !
师傅,我是这边是司法鉴定所的,有意向合作吗,有的话可以回复我邮箱