Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2018-15133-PoC — Python 漏洞利用工具,针对 CVE-2018-15133,通过在已知 APP_KEY 的情况下对加密会话进行不安全反序列化,实现在易受攻击的 Laravel 应用上远程执行代码。 | Kitploit
工具/GitHubGitHub/loaxert/cve-2018-15133-poc
Payload生成漏洞分析代码分析漏洞利用Web应用程序漏洞利用渗透测试
GitHubloaxert/cve-2018-15133-poc

CVE-2018-15133-PoC

Python 漏洞利用工具,针对 CVE-2018-15133,通过在已知 APP_KEY 的情况下对加密会话进行不安全反序列化,实现在易受攻击的 Laravel 应用上远程执行代码。

查看仓库
49个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2018-15133-PoC

此 Python 脚本利用 CVE-2018-15133 漏洞,针对存在不安全反序列化漏洞的 Laravel 应用实现远程代码执行(RCE)。

该漏洞利用 Laravel(5.5.40 及更早版本,以及 5.6.0 至 5.6.29)中已加密的会话会自动反序列化且缺乏适当验证的弱点。在获取 Laravel 的 APP_KEY 后,攻击者可加密恶意负载,这些负载将被反序列化并在服务器上执行。

Laravel 会话系统工作原理

Laravel 使用对称加密机制处理会话,包含三个组件:

  • IV(初始化向量):每次会话随机生成的初始化向量

  • Value:使用 AES-128-CBC 或 AES-256-CBC 加密的值

  • MAC:基于 IV + value + APP_KEY 计算的消息认证码(HMAC-SHA256)

流程:

  • 接收三个输入参数:Laravel 的 base64 编码 APP_KEY、要执行的命令以及目标域名

  • 调用 PHPGGC 工具,使用 Laravel/RCE5 gadget chain 生成恶意 PHP 对象链

  • 构造将在目标服务器上执行的操作系统命令(例如:system('whoami');)

  • 生成包含串联 gadget 的 PHP 序列化负载

  • 将 base64 编码的负载解码为二进制格式

  • 处理 APP_KEY,去除可能存在的 "base64:" 前缀

  • 补全必要的填充,使密钥成为有效的 base64

  • 将密钥从 base64 解码为字节

  • 生成 16 字节的随机初始化向量(IV)

  • 使用 AES-CBC 模式,以密钥和 IV 加密负载

  • 加密前对负载应用 PKCS7 填充

  • 将 IV 编码为 base64

  • 将密文(加密后的负载)编码为 base64

  • 将 base64 编码的 IV 和 value 拼接,作为 HMAC 的消息

  • 使用 HMAC-SHA256,以密钥作为秘密,对拼接后的消息计算 MAC

  • 构建包含 iv、value 和 mac 三个字段的 JSON 对象

  • 将完整 JSON 编码为 base64

  • 使用 curl 构造 HTTP 请求,将负载放入 laravel_session cookie

  • 将请求发送到目标域名

  • Laravel 服务器接收 cookie 并解码 base64

  • Laravel 验证 MAC 对 IV 和 value 的完整性

  • Laravel 使用其 APP_KEY 通过 AES-CBC 解密内容

  • Laravel 自动反序列化解密后的内容

  • PHP 调用反序列化对象的魔术方法 __destruct() 或 __wakeup()

  • 触发 gadget chain,最终执行 call_user_func() 或 eval()

  • 操作系统命令在服务器上执行

该漏洞利用串联 PHP 魔术方法调用的 gadget chain:

在反序列化过程中,PHP 自动调用 __destruct() 或 __wakeup(),启动链式调用,最终通过 eval() 执行任意代码。

前提条件 要使漏洞利用成功,攻击者需要:

  • Laravel 的 APP_KEY(通过环境变量泄露、暴露的 S3 存储桶、源代码等方式获取)

  • 存在漏洞且默认启用反序列化的 Laravel 版本

  • 在 ./phpggc/ 目录下安装 PHPGGC(https://github.com/ambionics/phpggc)

使用示例

root@kitploit:~
python exploit.py "base64:dGhpc2lzYXNlY3JldGtleQ==" "whoami" "http://target.htb"
此命令将生成一个序列化负载,当 Laravel 反序列化该会话时执行 whoami。
下载工具