绕过disable_functions 插件应用 SUCTF EasyPHP
2019-08-19 22:16:52 Author: mp.weixin.qq.com(查看原文) 阅读量:109 收藏

写在前面

    上周末的SUCTF里有道题 EasyPHP, 看到有许多小伙伴在尝试使用蚁剑的 「Bypass Disable_functions」插件,却没有成功,然后今天加了 fsocks 方式,可以很顺畅的 getflag 了。于是就有了这篇文章。

正文

题目是这样的:

getshell 不是本文的重点, 所以我就快速代过了,详细的 writeup 请关注 「ChaMd5 安全团队」微信公众号 (广告费5毛)

一顿操作,getshell 之后,发现需要绕过 open_basedir 。

然后我在服务器上面看到了一堆的 ant_x64.so  (实际上比图里的要多,因为我偷偷删了)  但是大家好像都没成功

看一下 putenv 和 error_reporting 是可以用的,所以我们选择  LD_PRELOAD 方式:

实际上呢,插件执行 php 命令是执行成功了的,只是代理脚本出了些问题导致没能一次成功,可以看一下都有多少人执行成功但没连上来

失败的原因就是之前的插件的代理脚本里使用的是 curl 来进行转发的,这个环境里没有这个扩展:

于是改用  fsockopen 实现的代理脚本

然后就没问题了

想了想,把 fsock 方式也融合进了插件里。最后我们放一段连贯操作, 使用已经更新过的插件 v0.5 (没更新的快更新):


另外再说一下我当时是怎么做这个题的,偷了个懒

在插件写php路径的地方,填写的 php,实际到ant.so 里是拼了一条命令

所以,用命令注入的思路,就能拿到想要的结果了

写在后面

    不过过度依赖工具,搞懂原理最重要,至于怎么实现,看个人想法。


不如关注一波再走?


文章来源: https://mp.weixin.qq.com/s/iGtQExCHpyAVJ-Xf5_L6pQ
如有侵权请联系:admin#unsafe.sh