某信服EDR任意用户登陆漏洞分析
影响范围: 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配置问题
1. 全库网所有资源均来源于用户上传和网络,如有侵权请发送邮箱联系站长处理!
2. 如果你有好的资源或者原创教程,可以到审核区投稿发布,分享会有钻石奖励和额外收入!
3. 全库网所有的源码、教程等其它资源均源于用户上传发布,如有疑问,可直接联系发布作者处理
4. 如有链接无法下载、失效或广告,请联系全库网管理员核实处理!
5. 通过发布原创教学视频或优质源码资源可以免费获得全库网站内SVIP会员噢
6.全库网管理猿邮箱地址:admin@qkuser.com,我们会在收到您的邮件后三个工作日内完成处理!
7. 如遇到加密压缩包,默认解压密码为"qkuser.com",如遇到无法解压的请联系管理员!
全库网 » 某信服EDR任意用户登陆漏洞分析
2. 如果你有好的资源或者原创教程,可以到审核区投稿发布,分享会有钻石奖励和额外收入!
3. 全库网所有的源码、教程等其它资源均源于用户上传发布,如有疑问,可直接联系发布作者处理
4. 如有链接无法下载、失效或广告,请联系全库网管理员核实处理!
5. 通过发布原创教学视频或优质源码资源可以免费获得全库网站内SVIP会员噢
6.全库网管理猿邮箱地址:admin@qkuser.com,我们会在收到您的邮件后三个工作日内完成处理!
7. 如遇到加密压缩包,默认解压密码为"qkuser.com",如遇到无法解压的请联系管理员!
全库网 » 某信服EDR任意用户登陆漏洞分析