一觉醒来,听说护网蓝队捕获了一个深信服的0day,待我看完这部剧再分析一下。
EDR简介
终端检测响应平台(EDR)是深信服公司提供的一套终端安全解决方案,方案由轻量级的端点安全软件(Agent)和管理平台(MGR)共同组成。
fofa语法
title="终端检测响应平台"
漏洞复现
https://ip+端口/tool/log/c.php?strip_slashes=system&host=id
代码分析
将c.php文件拷贝到本地进行分析
$_REQUEST会将接入的参数保存成数组,然后将前台获取的参数传入到了$show_form()
跟入$show_form
$show_form是匿名函数,use是调用外部变量$strip_slashes、$show_input
extract() 函数会从数组中将变量导入到当前的符号表。它会把数组变成变量,该函数使用数组键名作为变量名,使用数组键值作为变量值。
因此,extract()存在变量覆盖问题,上述poc就是利用了此处的变量覆盖。
于是传入的参数就变成了$strip_slashes=system、$host=id
接着往下看,
在93行中使用了$strip_slashes($host),结合poc,于是该处就变成了sysytem(id)执行了系统命令,产生了该漏洞。
从下图可以看到,本来$strip_slashes也是匿名函数,该函数的作用就是删除变量$var中的反斜杠\