瑞友天翼代码审计

admin 2024年10月29日14:07:53评论25 views字数 693阅读2分18秒阅读模式

1漏洞详情

  一、7.0.3.1之前

漏洞主要出现ConsoleExternalUploadApi.XGI接口

瑞友天翼代码审计

出现漏洞的方法为getfarminfofromdb

瑞友天翼代码审计

很明显的sql注入

其中sign值是通过以下代码计算出来的,我们需要找一下$keyVal的值

$signCalculate = md5($initparams . $keyVal);

瑞友天翼代码审计

这段代码的意思传入的key去数据库查,查到了就返回key对应的值,查不到就返回1,所以sign计算代码就如下:

<?php$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

瑞友天翼代码审计

原文始发于微信公众号(渝安服):瑞友天翼代码审计

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年10月29日14:07:53
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   瑞友天翼代码审计https://cn-sec.com/archives/1851527.html

发表评论

匿名网友 填写信息