深信服edr 2020HW行动0day 漏洞细节

漏洞1

一下4个漏洞触发都在其他文件,这里只进行漏洞点的分析。
漏洞点tool\log\c.php
启动c.php大约140行-148行

这里执行了两个方法 show_form 与main
这里追踪show_form
内容如下图:


这里的extract存在变量覆盖。也就是说, 这里的你可以控制任何参数,用输入参数进行替代即可。这里的strip_slashes方法简单提一句,改方法做了一下普通的过滤

最后再改文件第8行左右可以看见改函数如何执行


该函数包含再call_user_func中,作为回调函数的值进入call_user_func 被执行。
可以说, 这是一个非常好的bypass webshell

漏洞2

tool\php_cli.php
一样的实现方法, 内容作为call_user_func的参数的回调值进入call_user_func中去。

漏洞3

tool\ldb_cli.php


一样的内容, 同样是引用了$show_form的问题

漏洞4

tool\mdd_sql.php
这里的图都懒得贴了。
神他妈 懂的都懂

漏洞5 任意文件读取

store\cat.php
文件大概400行左右

是由start()进行启动的,
filename 变成变量$fname 并没有过滤直接到了read_file($file_list)
而file_list与fname有关。参与运算的方法是parse_path


至此形成任意文件读取。

posted @   李慢慢233  阅读(7541)  评论(0编辑  收藏  举报
编辑推荐:
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂
· 凌晨三点救火实录:Java内存泄漏的七个神坑,你至少踩过三个!
点击右上角即可分享
微信分享提示