记某网络安全设备逻辑缺陷导致的getshell

简介: 记某网络安全设备逻辑缺陷导致的getshell

写在前面

听某位师傅说cnvd的证书对就业有帮助,特别是安全厂商类型的cnvd证书含金量更高。听到这里,我便开始跃跃欲试,便有了此篇文章出现。本篇文章就来讲讲这次挖掘安全厂商产品0day通用漏洞的过程。本章中所有漏洞均已提交至cnvd并获得证书。

过程

这里首先先到目标主站进行信息收集,看看他们有哪些产品等等。

然后我就用网络空间搜索引擎再次进一步收集信息,最后把目标定在了一个页面看着相对简陋的网络安全设备Web管理界面上:

然后这里到网上尝试寻找该安全厂商旗下这个产品的通用弱口令,费了一番功夫算是找到了,可是尝试了以后要不就是提示我密码不正确!

要不就是提示我:用户名不存在!

看来有可能是之前已经有人发现过该问题并提交了通用弱口令漏洞了,安全厂商可能已经修复了。这里为了验证我的观点,我便到cnvd的漏洞列表里进行高级搜索,把这家安全厂商的相关产品关键字输入进去进行查询,果然找到了该产品的弱口令漏洞信息,看来是我晚了一步啊,可惜了。那么这里我们明显不知道修复后的用户账号和相对应的密码,这里必须得开始进一步信息收集了。

经过了一些时间的信息收集,真是功夫不负有心人,我发现存在http://x.x.x.x/data,发现该路径下存在目录遍历漏洞。

这倒给我的信息收集省下了不少的麻烦。这里直接来找找有没有敏感文件和敏感信息泄露。可是找了半天,并没有什么敏感文件,都是一些Web源代码文件。本想着既然找不到敏感文件,那么就来审计下代码,看看会不会存在有漏洞直接打进去,可是这里并不能看到源代码:

可是这里却暴露了其绝对路径,这里马上便可以推断出其搭建在Windows系统上。再看看文件后缀名均为php,那么这是一个php+windows的情况。

php+windows的情况下:如果文件名+::$DATA会把::$DATA之后的数据当成文件流处理,不会检测后缀名,且保持::$DATA之前的文件名,然后这里便把文件的源代码给展示了出来:

那么这里就开始了代码审计。然后便在/data/login.php,即登录的文件中发现了疑点:

这里的部分代码我展示出来:

<?php
/**
        系统登录设置
*/
include(' ../ commmon/ connDb. php');
$dbQuery = new DataBaseQuery();
$userName=$_POST['userName'];
$password=$_POST['password'];
$system=$_POST['system'];
$userInfo = $dbQuery->querySing1eRow('select passward,roleld from user_info   where name="' . $userName. '"' , true);
if($password == "dandain12345")
{
    @session_start();
    $_SESSION['userName’]=$userName;
    $_SESSION['system’]=$system;
    $_SESSION['roleId']=$userInfo['roleId'];
    $mainMenuIds = fetchMainMenu($dbQuery,$userInfo['roleId']);
    $_SESSION['mainMenulds']=$mainMenuIds;
    $subMenuIds = fetchSubMenu($dbQuery,$userInfo['roleId']);
    $_SESSION['subMenuIds']=$subMenuIds;
    modifyXML($system) ;
    echo "0";
    $dbQuery->closeDb() ;
}
else
{
    if(count($userInfo)==0){//用户名不存在
        echo "1";
        $dbQuery->closeDb() ;
        return;
    }else{//用户名存在
        if ($userInfo['password' ] !=$password){//密码不正确
            echo "2";
            $dbQuery->closeDb();
            return;
        }else{//正确登录
            @session_start();
            $_SESSION['userName’]=$userName;
            $_SESSION['system’]=$system;
            $_SESSION['roleId']=$userInfo['roleId'];
            $mainMenuIds = fetchMainMenu($dbQuery,$userInfo['roleId']);
            $_SESSION['mainMenulds']=$mainMenuIds;
            $subMenuIds = fetchSubMenu($dbQuery,$userInfo['roleId']);
            $_SESSION['subMenuIds']=$subMenuIds;
            modifyXML($system) ;
            echo "0";
            $dbQuery->closeDb() ;
}

这里发现if($password == "dandain12345")语句代码和下面的当用户名存在并正确登录成功的实现的代码完全一样,那么这里理论便有一个逻辑缺陷漏洞了:即不论用户名是否存在,只要随便输入一个用户名,密码输入dandain12345,最后都能够成功登录进去。

这里分析完后,马上进行尝试:

比如:随便输入一个用户名为test,密码先随便输。然后提示我用户名不存在!

那么这里把密码换成输入dandain12345,居然成功了。这也证实了我之前的观点:不论用户名是否存在,只要随便输入一个用户名,密码输入dandain12345,最后都能够成功登录进去。

那么这里在选一个存在的用户名admin,然后密码随便输。提示我密码不正确!

这里再把密码换成输入dandain12345,也成功了,而且还是管理员权限:

最后我在管理员的权限下经过寻找可用上传点和尝试,最后成功传上去了一句话木马,并用蚁剑成功连接了

执行ipconfig

相关文章
|
存储 运维 API
HPE OneView 10.0 - HPE 服务器、存储和网络设备集中管理软件
HPE OneView 10.0 - HPE 服务器、存储和网络设备集中管理软件
235 1
|
9月前
|
安全 Linux 网络安全
Nipper 3.9.0 for Windows & Linux - 网络设备漏洞评估
Nipper 3.9.0 for Windows & Linux - 网络设备漏洞评估
244 0
Nipper 3.9.0 for Windows & Linux - 网络设备漏洞评估
|
10月前
|
存储 监控 Linux
Dell OpenManage Enterprise 4.5 - Dell 服务器、存储和网络设备集中管理软件
Dell OpenManage Enterprise 4.5 - Dell 服务器、存储和网络设备集中管理软件
269 0
|
存储 安全 Linux
Dell OpenManage Enterprise 4.4 - Dell 服务器、存储和网络设备集中管理软件
Dell OpenManage Enterprise 4.4 - Dell 服务器、存储和网络设备集中管理软件
441 4
Dell OpenManage Enterprise 4.4 - Dell 服务器、存储和网络设备集中管理软件
|
11月前
|
存储
WGLOG日志管理系统可以采集网络设备的日志吗
WGLOG日志审计系统提供开放接口,支持外部获取日志内容后发送至该接口,实现日志的存储与分析。详情请访问:https://www.wgstart.com/wglog/docs9.html
|
存储 监控 算法
公司内部网络监控中的二叉搜索树算法:基于 Node.js 的实时设备状态管理
在数字化办公生态系统中,公司内部网络监控已成为企业信息安全管理体系的核心构成要素。随着局域网内终端设备数量呈指数级增长,实现设备状态的实时追踪与异常节点的快速定位,已成为亟待解决的关键技术难题。传统线性数据结构在处理动态更新的设备信息时,存在检索效率低下的固有缺陷;而树形数据结构因其天然的分层特性与高效的检索机制,逐渐成为网络监控领域的研究热点。本文以二叉搜索树(Binary Search Tree, BST)作为研究对象,系统探讨其在公司内部网络监控场景中的应用机制,并基于 Node.js 平台构建一套具备实时更新与快速查询功能的设备状态管理算法框架。
404 3
|
安全 Ubuntu Linux
Nipper 3.8.0 for Windows & Linux - 网络设备漏洞评估
Nipper 3.8.0 for Windows & Linux - 网络设备漏洞评估
577 0
Nipper 3.8.0 for Windows & Linux - 网络设备漏洞评估
|
XML 安全 网络安全
Nipper 3.7.0 Windows x64 - 网络设备漏洞评估
Nipper 3.7.0 Windows x64 - 网络设备漏洞评估
288 0
Nipper 3.7.0 Windows x64 - 网络设备漏洞评估
|
边缘计算 网络协议 安全
DDoS攻击:网络世界的“洪峰考验”与应对逻辑
本文介绍了DDoS攻击的运行机制及其影响,并提供了多层次的防御策略。DDoS攻击通过海量流量使目标服务器过载,造成服务中断,对电商和在线平台带来巨大经济损失与用户信任危机。防御措施包括基础设施优化、流量调度及云端协同防护等技术手段。针对中小企业,推荐使用如非凡云提供的弹性防护方案,含200G免费DDoS防御与自动带宽扩容功能,有效降低攻击风险和技术门槛。
1014 0
DDoS攻击:网络世界的“洪峰考验”与应对逻辑
|
监控 Linux PHP
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
576 20