【安全时刻-7 实 战】——艰难的打靶
本帖最后由 Hello. 于 2020-7-11 12:58 编辑一次完整的 实 战 过程
最近很忙,好久没更新啦,各位久等 {:10_297:}
正好最近打了个很好玩的靶,就记录下来让各位理理思路吧 ^_^
温故而知新:传送门
涉及知识点:代码审计,PHP 反序列化,木 马 构造
必需工具:清凉扫描,中国蚁剑或中国菜刀,Edit this cookie ,VS Code
那就~开始吧 ?{:9_235:}
static/image/hrline/1.gif
static/image/hrline/1.gif
一、知己知彼
1、不妨先打开看看网站有什么
2、模仿 Discuz ,首页只有登录和注册页面,那么进行注册、登录,继续观察功能。
3、登入之后发现了上传图片功能,但只能上传 png 格式图片(我像傻子一样用 jpg 试了很久{:10_266:})
4、可以看到图片正确地被上传到服务器了,但这个页面似乎没有任何其他功能了。
5、然后我们来用清凉扫描扫扫 敏 感 文件,发现 /www.tar.gz 下有内容,
那就下载下来解压看看,发现框架为 ThinkPHP 5 。
二、代码审计
1、用 VS Code 打开下载的文件夹,进行代码审计。
2、调试一下,发现 Register.php 第六十行和 Index.php 第四十行有断点。
3、再次调试审计,发现这两个点的作用如下:
Index.php :
访问大部分页面(例如 index )会调用 login_check 方法,
该方法会将传入的用户 Profile 反序列化,再到数据库中检查相关信息是否一致。
Register.php :
判断是否注册,未注册的调用 check (也就是 Index 的 index 方法),跳转到主页。
4、然后审一下其他代码,发现上传图片的主要逻辑在 Profile.php 里。
流程如下:
首先,检查是否登录,
然后,判断是否有文件,
接着,获取后缀是否为 png ,并解析图片,判断是否能正常打开,
最后,从临时文件拷贝到目标路径。
5、发现 Profile 有 _call 和 _get 两个魔法方法
分别表明在调用 不可调用方法 和 不可调用成员变量时 怎么办。
_get 从 except 里找
_call 调用自身的 name 成员变量 指代的变量 所指代的方法
到这里,我们已经有了大致思路 {:10_284:}
前面审计到了反序列化和析构函数的调用,
所以结合这三点我们就可以操控 Profile 里的参数,控制其中的 upload_img 方法,
这样我们就能任意更改文件名,从图片这里突破 {:10_257:}
**** Hidden Message *****
四、运行脚本 && 置 cookie
1、运行脚本,指定一下路径,拿到 Poc {:10_257:}
2、利用 Edit this cookie 置 cookie
3、刷新!(漂亮{:10_298:})
五、连接图片马、夺旗
1、蚁剑连上,打开 /flag 文件。
2、成功夺旗!
static/image/hrline/1.gif
static/image/hrline/1.gif
看到这里,你们一定和沐沐一样激动,其实我也只是这个领域的菜鸟而已{:10_284:}
希望这次的实 战教程能给你们带来收获 {:10_328:};
我一定会继续努力,把教程永永远远做下去 {:10_278:}!
https://fishc.com.cn/static/image/hrline/1.gif
https://fishc.com.cn/static/image/hrline/1.gif
声明:原创作品,如有侵权,请联系删除;如有雷同,纯属巧合
转载请注明出处及作者
统计:
夺旗时间:3.4 小时
写作时间:2 天
整理时间:5 小时
字数:11555 字节
图片:21 张
作者:曦沐
特别鸣谢:
所有支持【工欲善其事】&【安全时刻】系列以及安全实验室的朋友们!{:10_297:}
写这篇文章耗费了大量心血,希望各位支持一下!如果喜欢,记得收藏+评分吖,谢{:10_297:}
如果有收获,别忘了评分{:10_281:}
看看,我花了多少心血在这篇主题上,希望各位回复一句支持下!让我更有动力!
赠人鱼币~手有鱼香
不评个分再走嘛~
支持一下淘帖:
【工具】:传送门
【安全】:传送门
招募一起进步的伙伴以及志同道合的大牛~https://cdn.jsdelivr.net/gh/hishis/forum-master/public/images/patch.gif 这是?
我小白看不懂了 weiter 发表于 2020-7-11 12:14
这是?
我小白看不懂了
{:10_266:}哈~专业知识讲的多了 Hello. 发表于 2020-7-11 12:15
哈~专业知识讲的多了
{:10_266:}
小白傻掉了 这是?把一个网站黑掉了{:10_257:} 小甲鱼的铁粉 发表于 2020-7-11 12:36
这是?把一个网站黑掉了
{:10_266:}敲你脑壳 Hello. 发表于 2020-7-11 12:51
敲你脑壳
不是不是,我真不知道{:10_266:},我刚来论坛不久的
上面写的打靶成功,意思不就是把网站干掉了吗{:10_250:} 小甲鱼的铁粉 发表于 2020-7-11 12:54
不是不是,我真不知道,我刚来论坛不久的
上面写的打靶成功,意思不就是把网站干掉了吗{:10_2 ...
我的目的只是夺旗哈哈{:10_256:} Hello. 发表于 2020-7-11 12:57
我的目的只是夺旗哈哈
好吧{:10_250:},我也为你把人家网站黑了
那样的话鱼c可就要监督你了{:10_256:} 小甲鱼的铁粉 发表于 2020-7-11 12:58
好吧,我也为你把人家网站黑了
那样的话鱼c可就要监督你了
那个网站本来就是用来黑的.... qiuyouzhi 发表于 2020-7-11 13:01
那个网站本来就是用来黑的....
哈哈哈哈,好吧 {:7_132:} 顶一下! 终于更新了{:10_266:}
从断点开始,越来越精彩 不二如是 发表于 2020-7-11 15:47
从断点开始,越来越精彩
感谢感谢{:10_297:} 哇,这就是菜鸟吗?hao腻害~ 乘号 发表于 2020-7-11 20:14
哇,这就是菜鸟吗?hao腻害~
{:10_297:} 太强了,大哥!!(虽然我啥也没看懂{:10_266:})