在我最近的渗透测试中,我在 osCommerce v4 中发现了一个关键漏洞,特别是通过绕过文件上传限制而启用的远程代码执行 (RCE) 漏洞。
此问题是在编辑管理员的档案照片时发现的。通过将文件扩展名从“shekk.gif”更改为“shell.php”,如下面的请求中所述,应用程序错误地接受了扩展名更改后的文件。
我启动了一个恶意 GIF 文件的上传过程。这是通过单击“编辑”上传文件来完成的。
该请求是使用 Burp Suite 拦截的,如下图所示。在此过程中,我将文件扩展名从“shell.gif”更改为“shell.php”。此文件的内容包括以下有效负载:
GIF 89a;
<?
system($_GET['cmd']);
?>
上面的有效负载是一个简单而有效的 PHP 脚本,旨在从 GET 请求的 'cmd' 参数执行系统命令。初始 'GIF89a;' 是一个 GIF 文件头,它欺骗服务器将此文件视为良性图像。此方法是通过利用服务器的文件处理逻辑来绕过上传过滤器的典型示例,允许执行任意命令。
上传后,我注意到图像似乎已加载,但文件扩展名仍为“shell.gif”。
但是,在单击“更新”并重新检查请求时,我发现包含文件“shell.gif”的“头像”参数。通过将其修改为“shell.php”,上传成功执行,并且应用程序接受了该文件。
通过访问其目录中的“shell.php”文件,我能够成功实现远程代码执行 (RCE)。例如,执行命令'cat /etc/passwd'展示了运行服务器命令并可能访问敏感数据的能力。
我将分享一个关于如何使用 ExifTool 通过元数据实现远程代码执行 (RCE) 的巧妙技巧。这是一个漂亮的小方法,可以产生一些强大的结果。
所以,想象一下你有一个图像文件,你想使用 ExifTool 将一些 PHP 代码嵌入到它的元数据中。假设您将以下代码插入注释字段:<?php echo system('id');?>.
执行此代码时,将显示 id 命令的输出,该命令提供有关当前用户及其权限的信息。
将此 PHP 代码插入图像文件的元数据后。现在,事情变得有趣了。如果应用程序没有正确清理或过滤已上传文件的元数据,它可能会执行嵌入在图像元数据中的 PHP 代码。
现在,假设我们使用 Burp Suite 等工具拦截请求。然后,我们可以检查响应并查看我们的 PHP 代码是否成功执行。如果是这样,我们将能够在响应中观察命令的输出,确认我们已经实现了远程代码执行。id
所以,你有它 - 一个使用 ExifTool 通过元数据实现 RCE 的偷偷摸摸的小技巧。祝您黑客愉快!
原文始发于微信公众号(安全狗的自我修养):OsCommerce v4 RCE:揭开文件上传绕过威胁
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论