1漏洞详情
一、7.0.3.1之前
漏洞主要出现ConsoleExternalUploadApi.XGI接口
出现漏洞的方法为getfarminfofromdb
很明显的sql注入
其中sign值是通过以下代码计算出来的,我们需要找一下$keyVal的值
$signCalculate = md5($initparams . $keyVal);
这段代码的意思传入的key去数据库查,查到了就返回key对应的值,查不到就返回1,所以sign计算代码就如下:
$initparams="aaaaaa";
$keyVal="1";
$signCalculate = md5($initparams . $keyVal);
echo($signCalculate)
$initparams参数的格式:
必须包含__与_且通过_进行分割取值
所以我们构造的initparams值就为
command_uploadFileToMenuUpgrade__user_admin__pwd_123456__serverIdStr_1
然后通过脚本计算出sign的值:
注入出现在以下位置:很明显的
新版本加入了转义导致注入不存在了:
二、7.0.3.1版本
出现漏洞的位置在ConsoleExternalApi.XGI
原理是一样的,传递三个参数,往下走
这里有个坑就是key值加了判断
我们只要不经过数据库查询就好了,key等于inner的时候计算sign值的KeyVal就变成了Realor
寻找command,注入点
如下:很明显的注入
sign值计算
使用json传递的:
所以如下
Getshell
原文始发于微信公众号(渝安服):瑞友天翼代码审计
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论