本篇内容介绍了“EDR环境产生漏洞的原因”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
搭建一个edr环境
https://XXX.com/tool/log/c.php?strip_slashes=system&host=id
https://XXX.com/tool/log/c.php?strip_slashes=system&host=whoami
将c.php文件拷贝到本地进行分析,能看到此文件最初是用来查看ldb的日志的。但复现时发现此界面不需要登陆就可以访问,因此也存在未授权访问的危险。
首先查看输出
$_REQUEST会将接入的参数保存成数组,然后将前台获取的参数传入到了$show_form()
跟进$show_form
$show_form是匿名函数,use是调用外部变量$strip_slashes、$show_input。
extract() 函数会从数组中将变量导入到当前的符号表。它会把数组变成变量,该函数使用数组键名作为变量名,使用数组键值作为变量值。
因此,extract()存在变量覆盖问题,上述poc就是利用了此处的变量覆盖。
于是传入的参数就变成了$strip_slashes=system、$host=id
在91行中使用了$strip_slashes($host),结合poc,于是该处就变成了sysytem(id)执行了系统命令,产生了该漏洞。
“EDR环境产生漏洞的原因”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
原创文章,作者:3628473679,如若转载,请注明出处:https://blog.ytso.com/tech/safety/229147.html