CVE-2018-7600 - Drupal 7远程代码执行
概述
这是一个针对易受攻击的Drupal 7安装的CVE-2018-7600漏洞的Rust实现利用工具。该漏洞利用Drupal在处理表单缓存时的缺陷,通过在POST请求中操纵form_build_id
参数,当Drupal渲染缓存元素时,#post_render
回调会执行攻击者控制的标记,从而实现命令执行。
技术描述
该Rust CLI工具针对目标Drupal 7网站执行两步攻击序列(投毒然后触发):首先发送请求参数,解析HTML响应获取form_build_id
,然后触发file/ajax
端点以执行攻击者指定的函数。
由于客户端禁用了证书验证(为了镜像原始PoC中传递verify=False
的行为),该工具将适用于使用自签名或其他无效TLS证书的目标。如果您希望要求有效证书,可以在源代码中更改此行为。
使用方法
基本用法(默认命令为whoami
,默认函数为passthru
):
|
|
运行自定义命令和函数:
|
|
使用HTTP/S代理(格式:http://127.0.0.1:8080/
):
|
|
CLI选项摘要:
-u
,target
:目标Drupal站点的URL(例如http://target.com/
)-c
,--command
:在目标上执行的命令(默认:whoami
)-f
,--function
:用作攻击向量的PHP函数(默认:passthru
)-p
,--proxy
:用于路由请求的可选代理URL
完整攻击流程示例:
- 投毒
user/password
表单,插入包含命令的#post_render
回调和#markup
- 解析响应以在
form#user-pass
中找到form_build_id
- 向
?q=file/ajax/name/#value/
发送包含form_build_id
的POST请求以触发渲染并执行命令
免责声明
此工具仅用于教育和授权的渗透测试目的。请负责任地使用,并且仅对您拥有或已获得明确权限的系统使用。