昨天下午 在家无聊 日了个站 扫了一下有php-cgi的解析洞 看了一下是个 Discuz!X3.4
那就老办法注册账号 上传头像抓包放行 取得那个真实的图片地址 没有被渲染过的
注册了个账号 上传头像抓包 放行 就提示上传成功 没出来图片地址
这可不行啊 然后我就想 不行就发帖嘛 或者上传相册也是可以的 结果提示我 还tm叫我等15分钟
那能有什么办法呢 没有社工库 退出了 当前账号 想去试试弱口令搞个高权限的账号 结果还是没成功 ....
然后我就等啊等 等了15分钟 结果告诉我 还是不能上传图片 还得再升一级 去你妈的!
然后我就琢磨到底怎么样才能拿到真实地址 有的基友可能知道 拼凑嘛
知道ID号是可以拼凑的 然而并没有成功 我也不知道它到底是什么机制 可能是管理员做了什么设置
因为我看到被人做了你懂得广告 估计管理员修复了一下 但是并没有什么卵用 还是被人做了 扯远了
现在开始正题 分析这个上传包
Content-Disposition: form-data; name="avatar1"
xxxxx
Content-Disposition: form-data; name="avatar2"
xxxxx
Content-Disposition: form-data; name="avatar3"
xxxxx
大概是这样的 第一个是图片马 第二个和第三个不知道是什么鬼
看起来像是base64 后面证实确实是base64
然后百度了一波 discuz 头像地址 有三个
/uc_server/data/avatar/000/15/01/13_avatar_small.jpg
/uc_server/data/avatar/000/15/01/13_avatar_middle.jpg
/uc_server/data/avatar/000/15/01/13_avatar_big.jpg
小中大 三种尺寸的 写了个phpinfo在里面 并没有成功
然后我base64编码一下 访问/uc_server/data/avatar/000/15/01/13_avatar_middle.jpg./.php 报500错误
下载到本地看到有写入进去了 但是不知道为什么报错 不显示出来 我个人猜测可能是一些什么字符原因造成的
然后我就在那个图片马的包里的phpinfo那里 一直狂按左右键 发现这个phpinfo后面好像是有点问题 我不知道怎么描述这个事情 代码没有完全连起来 就是好像吃掉点什么 没有成为一个整体
后来想了一下 要是找到个空格什么的 不就好了么 (装逼语录:渗透需要细心)
然后在一个加号后面插入base64后的phpinfo avatar2 和 avatar3 都插入一次 放包 提示成功
再次查看 完美插入 其实phpcmsV9 也可以这样绕 不过那个不是base64的 需要找准点插入 一次高潮