目录
0x01 漏洞复现
0x02 FOFA检索关键词
0x03 代码审计
影响范围: EDR <= v3.2.19
漏洞描述:
终端检测响应平台EDR,围绕终端资产安全生命周期,通过预防、防御、检测、响应赋予终端更为细致的隔离策略、更为精准的查杀能力、更为持续的检测能力、更为快速的处置能力。在应对高级威胁的同时,通过云网端联动协同、威胁情报共享、多层级响应机制,帮助用户快速处置终端安全问题,构建轻量级、智能化、响应快的下一代终端安全系统。
0x01 漏洞复现
/ui/login.php?user=username
访问后可自动跳转进入
0x02 FOFA检索关键词
title="终端检测响应平台" && country="CN"
0x03 代码审计
通过url确定文件为ui/login.php
参数user , 我们快速搜索定位一下
在这里发现此段代码出现了问题
if((isset($_SERVER["REMOTE_ADDR"]) && ("127.0.0.2" == $_SERVER["REMOTE_ADDR"] || "127.0.0.1" == $_SERVER["REMOTE_ADDR"]))
|| $docker)
{
//构造session
if(isset($_GET["user"]))
{
$auth_value["auth_user"] = $_GET["user"];
}
elseif($docker)
{
$auth_value["auth_user"] = $username;
}
else
{
//$auth_value["auth_user"] = "SCLOUDE";
//免密登录后,人为loginout,还是需要密码登录,url不一样
return;
}
在if判断中,首先判断了$_SERVER["REMOTE_ADDR"]是否存在且为127.0.0.2
然后判断了是否等于127.0.0.1 以及$docker
因为exp执行可跳转进入后台,这里判断为真
参考群内表哥的说话,可以理解为内网到内网的反代场景,
判断经过ngix反代,REMOTE_ADDR为127.0.0.1,因此为真
漏洞触发的原因可能为代理设置问题或是docker配置问题