0x00 项目背景
该系列旨在分享自己和团队在SRC、项目实战漏洞测试过程中的有趣案例,如果读者能从本项目习得一些有用的知识,那么笔者将非常荣幸。
该系列首发github:https://github.com/J0o1ey/BountyHunterInChina
本项目由M78sec维护,未经授权,文章严禁私自修改版权转载。
0x01 前⾔
某天测⼚商业务时,发现其中有⼀个提供⾳乐播放业务的资产,正好⾥⾯有我想听的歌,于是就有了这篇⽂章
0x02 信息收集
F12简单看下⽬标信息环境:
ServerSoft:IIS 7.5 CMS:JYMusic(ThinkPHP)
0x03 开搞和碰壁
抱着试试看的⼼态随便找了个资源⽂件试了发解析漏洞,没想到成功了,那么现在只需要找到上传点就能getshell 了。
⽬标站开放注册,登录后发现存在头像上传功能,原以为直接可以搞定了,结果却不尽⼈意,应该是⼆次渲染了。。。
试了上传⼀些⼆次渲染后仍能执⾏的Webshell后依然发现⽆法正常getshell,看样得放弃头像这个地⽅了
0x04 柳暗花明⼜⼀村
既然头像上传⾛不通那么只能另寻出路,分享⾳乐功能被改成⼈⼯审核,但是猜测接⼝还是存在的。
这⾥通过fofa找到⼀个功能正常的站点,以下称为www.bbb.com 这个站点的分享⾳乐功能是正常的
直接上传⾳乐⽂件
⽂件正常上传,但是没有返回路径emmm,提交试试。
wtf,没有分类数据咋办,祭出神器F12给select标签加⼀个有value值的option。
提示分享成功,查看审核列表也有了,编辑发现ID为23,⾸⻚随便点进去⼀个发现id为21。
同时发现接⼝可以获取⾳乐上传路径,替换为ID=23后取得路径。
那么思路就来了,把www.bbb.com的操作在www.aaa.com重现⼀遍即可
直接把bbb.com上传⾳乐⽂件的请求,移花接⽊到aaa.com上(burp改包host和cookie,提交时改fileid)。
通过解析漏洞访问我们后缀名为MP3的webshell
本文作者: RG