xray的 webhook如何把它Hook住?^(* ̄(oo) ̄)^
xray webhook
xray可以通过webhook传递扫描信息,官方文档也是一笔带过,可能大多数人都不清楚,或者仅仅知道有这么个东西,但是不知道怎么使用,webhook是xray被动监听模式下的一种输出结构和方式。相比输出Json和txt格式,webhook输出漏洞是实时的,试问谁不想第一时间看到漏洞信息呢。前阵子我通过抓取流量的方式抓到了参数,然后把这个请求解了,开放给大家看下,免得再在解包上浪费精力
type Webhookpara struct {Data interface{} `json:"data"`Type string `json:"type"`
}// web_vuln模式下的xray结构:
type ExtraParam struct {Param map[string]interface{} `json:"param"`
}
type Detail struct {Addr string `json:"addr"`Extra ExtraParam `json:"extra"`Payload string `json:"payload"`Snapshot [][]string `json:"snapshot"`
}
type Target struct {Url string `json:"url"`
}
type VulnData struct {CreateTime int64 `json:"create_time"`Detail Detail `json:"detail"`Plugin string `json:"plugin"`Target Target `json:"target"`
}// web_statistic模式下的xray结构
type StatisticData struct {AverageResponseTime float64 `json:"average_response_time"`NumFoundUrls int `json:"num_found_urls"`NumScannedUrls int `json:"num_scanned_urls"`NumSentHttpRequests int `json:"num_sent_http_requests"`RatioFailedHttpRequests float64 `json:"ratio_failed_http_requests"`RatioProgress float64 `json:"ratio_progress"`
}// 传输类型为statistic的json结构体结构:扫描器状态信息
func StatistictoJSON(a interface{}) StatisticData {jsonStr, err1 := json.Marshal(a)if err1 != nil {fmt.Println("序列化xray web_statistic类型数据失败", err1)logging.RuntimeLog.Error(err1)}var res StatisticDataif err := json.Unmarshal([]byte(jsonStr), &res); err != nil {fmt.Println("反序列化xray web_statistic类型数据失败", err)logging.RuntimeLog.Error(err)}return res}// 传输类型为vuln的json结构体结构:详细漏洞信息
func VulntoJSON(a interface{}) VulnData {jsonstr, err1 := json.Marshal(a)if err1 != nil {fmt.Println("序列化xray web_vuln类型数据失败", err1)logging.RuntimeLog.Error(err1)}var res VulnDataif err := json.Unmarshal([]byte(jsonstr), &res); err != nil {fmt.Println("反序列化xray web_vuln类型数据失败", err)logging.RuntimeLog.Error(err)}return res
}
上面是结构及解析,下面是一个基于golang gin使用例子,有的字段时有时无,这种字段我都放弃掉了,如果都要判断代码量会很多,type 的类型有 :“web_statistic” ,“web_vuln”,“host_vuln” ,“subdomain”等类型,但是被动下只有web_statistic和web_vuln才有意义。
// XrayWebHook 用于接收xray json请求
func XrayWebHook(c *gin.Context) {var req Webhookparaif err := c.ShouldBindJSON(&req); err != nil {c.JSON(400, gin.H{"status": 1,"mes": err.Error(),})return}if req.Type == "web_statistic" {var r StatisticDatafmt.Println("xray web_statistic原始数据:", req.Data)r = StatistictoJSON(req.Data)if r.AverageResponseTime == 0 {//为0扫描结束,可以将此状态做进一步处理}if req.Type == "web_vuln" {var r VulnDatar = VulntoJSON(req.Data)fmt.Println("扫描目标:", r.Target.Url)fmt.Println("漏洞类型:", r.Plugin)fmt.Println("payload:", r.Detail.Payload)}c.JSON(200, gin.H{"status": 0,"mes": "successfully",})
}
相关文章:
xray的 webhook如何把它Hook住?^(* ̄(oo) ̄)^
xray webhook xray可以通过webhook传递扫描信息,官方文档也是一笔带过,可能大多数人都不清楚,或者仅仅知道有这么个东西,但是不知道怎么使用,webhook是xray被动监听模式下的一种输出结构和方式。相比输出Json和txt格式…...
浅析RabbitMQ死信队列
原文首发于公众号【CSJerry】 在现代分布式系统中,消息队列扮演着至关重要的角色。它们可以实现应用程序之间的异步通信,并确保数据的可靠传输和处理。而在这个领域中,RabbitMQ作为一种强大而受欢迎的消息队列解决方案,具备了高…...
ELK 企业级日志分析系统(ElasticSearch、Logstash 和 Kiabana 详解)
目录 一.ELK简介 1.1ELK的概述 1.2ELK的组成 1.2.1 ElasticSearch 1.2.2 Logstash 1.2.3 Kibana 1.2.4 小总结 1.3可以添加其他组件 1.4filebeat 结合 logstash 带来好处 1.5日志处理的步骤 二.Elasticsearch 2.1Elasticsearch概述 2.2Elasticsearch核心概念 2.2.1接近…...
数学建模—多元线性回归分析
第一部分:回归分析的介绍 定义:回归分析是数据分析中最基础也是最重要的分析工具,绝大多数的数据分析问题,都可以使用回归的思想来解决。回归分析的人数就是,通过研究自变量X和因变量Y的相关关系,尝试去解释…...
win10 64位 vs2017 qt5.12.6 pcl1.9.1 vtk8.1.1配置安装步骤
由于我电脑中有 QT5.12.6 VS2017,就不介绍怎么安装了,只介绍cmake,pcl及vtk的配置步骤 为了便于后续QT的调用,以下所有安装路径中均不能出现中文及空格等 PCL自带VTK是不完整的,所以需要下载VTK源码进行重新编译使其…...
【项目 计网1】4.1 网络结构模式 4.2MAC地址、IP地址、端口
文章目录 第四章 Linux网络编程4.1 网络结构模式C/S结构(client-server)B/S结构(Browser/Server,浏览器/服务器模式) 4.2 4.3MAC地址、IP地址、端口(1)(2)MAC地址IP地址(…...
uni-app:分页实现多选功能
效果 代码解析 一、标签-列表 <view class"item_all" v-for"(item, index) in info" :key"index"><view class"position parameter-info text-over" :class"{checked_parameter: item.checked}" :data-id"i…...
问道管理:沪指窄幅震荡跌0.18%,有色、汽车等板块走低
3日早盘,沪指盘中窄幅震动下探,创业板逆市上扬;两市半日成交不足5000亿元,北向资金净卖出超15亿元。 到午间收盘,沪指跌0.18%报3255.88点,深成指跌0.23%,创业板指涨0.2%;两市算计成交…...
Kotlin 协程与 Flow
简介 Kotlin的Flow 是 Kotlin 在异步编程方面的一个重要组件,它提供了一种声明式的、可组合的、基于协程的异步编程模型。Flow 的设计灵感来自于 Reactive Streams、RxJava、Flux 和其他异步编程库,但它与 Kotlin 协程无缝集成,并提供了一种更…...
设备管理系统与物联网的融合:实现智能化设备监控和维护
在数字化时代,设备管理系统和物联网技术的融合为工业企业带来了巨大的变革和创新。本文将探讨设备管理系统与物联网的融合,重点介绍设备健康管理平台在实现智能化设备监控和维护方面的关键作用和优势。 一、设备管理系统与物联网的融合 随着物联网技术的…...
三、从官方源码精简出第1个FreeRTOS
1、官方源码下载 (1)进入FreeRTOS官网:FreeRTOS官网 (2)点击下载FreeRTOS。 (3)选择待示例的项目进行下载。 2、删减目录 (1)下载后解压的FreeRTOS文件如下图所示。 (2)删除下图中红框勾选的文件。 (3)删除"FreeRTOSv202212.01\FreeRTOS\Demo"目录下用…...
__call__函数的用法
__call__的用法 在 Python 中,类可以通过定义特殊方法 call 来使其实例对象可调用,就像调用普通的函数一样。当你在实例对象后面加上括号并传递参数时,Python 会自动调用这个对象的 call 方法。这使得你可以将类的实例对象当作函数来使用。 下…...
golang定时任务库cron实践
简介 cron一个用于管理定时任务的库,用 Go 实现 Linux 中crontab这个命令的效果。之前我们也介绍过一个类似的 Go 库——gron。gron代码小巧,用于学习是比较好的。但是它功能相对简单些,并且已经不维护了。如果有定时任务需求,还…...
Julia 流程控制
流程控制语句通过程序设定一个或多个条件语句来实现。在条件为 true 时执行指定程序代码,在条件为 false 时执行其他指定代码。 Julia 提供了大量的流程控制语句: 复合表达式:begin 和 ;。 条件表达式:if-elseif-else 和 ?: (三…...
问题解决方案
前端开发 1、npm安装的时候老是卡住 reify:rxjs: timing reifyNode:node_modules/vue/cli/node_modules 查看当前使用的那个镜像 nrm lsnpm ---------- https://registry.npmjs.org/yarn --------- https://registry.yarnpkg.com/cnpm --------- https://r.cnpmjs.org/taobao …...
kubernetes基于helm部署gitlab-operator
kubernetes基于helm部署gitlab-operator 这篇博文介绍如何在 Kubernetes 中使用helm部署 GitLab-operator。 先决条件 已运行的 Kubernetes 集群负载均衡器,为ingress-nginx控制器提供EXTERNAL-IP,本示例使用metallb默认存储类,为gitlab p…...
ChatGPT在在线客服和呼叫中心中的应用如何?
ChatGPT在在线客服和呼叫中心领域中有广泛的应用潜力,可以帮助企业提供更高效、个性化和满意度更高的客户服务体验。以下是详细的讨论: **1. 自动化客服:** ChatGPT可以用于自动化客服流程,通过自动回复用户的常见问题和查询&…...
C++多线程环境下的单例类对象创建
使用C无锁编程实现多线程下的单例模式 贺志国 2023.8.1 在多线程环境下创建一个类的单例对象,要比单线程环境下要复杂很多。下面介绍在多线程环境下实现单例模式的几种方法。 一、尺寸较小的类单例对象创建 如果待创建的单例类SingletonForMultithread内包含的成…...
“深入解析JVM内部机制:从字节码到垃圾回收“
标题:深入解析JVM内部机制:从字节码到垃圾回收 摘要:本文将从字节码生成、类加载、运行时数据区域和垃圾回收等方面深入解析JVM的内部机制,并通过示例代码展示其工作原理和实践应用。 正文: 一、字节码生成 JVM是基…...
音频系统项目与音频算法研究方向分类
+我V hezkz17进数字音频系统研究开发交流答疑群(课题组) 音频系统项目与音频算法研究方向分类 一 音频系统项目产品分类 1 收音机,数字收音机,复读机 2 耳机,蓝牙耳机,TWS蓝牙耳机, 3 立体声音箱,AI智能音箱, 4 音频功放,车载功放, 5 音响,普通音响,Soundbar音响…...
如何高效实现金融核心系统客户证件影像预览?kkFileView完整解决方案
如何高效实现金融核心系统客户证件影像预览?kkFileView完整解决方案 【免费下载链接】kkFileView Universal File Online Preview Project based on Spring-Boot 项目地址: https://gitcode.com/GitHub_Trending/kk/kkFileView 在金融行业日常运营中…...
Qwen2.5-VL-7B-Instruct新手必看:无需网络,纯本地部署的多模态AI工具
Qwen2.5-VL-7B-Instruct新手必看:无需网络,纯本地部署的多模态AI工具 你是不是经常遇到这样的场景:看到一张复杂的图表,想快速提取里面的数据;收到一张产品照片,需要生成详细的描述文案;或者想…...
GLM-4.1V-9B-Base实际作品集:10张典型图片的多角度中文理解结果
GLM-4.1V-9B-Base实际作品集:10张典型图片的多角度中文理解结果 1. 模型能力概览 GLM-4.1V-9B-Base是智谱开源的视觉多模态理解模型,专为中文视觉理解任务设计。这个模型最令人印象深刻的地方在于,它能像人类一样"看"图片并回答各…...
Pixel Couplet Gen效果展示:基于用户画像(年龄/地域)的像素春联风格个性化推荐
Pixel Couplet Gen效果展示:基于用户画像(年龄/地域)的像素春联风格个性化推荐 1. 项目概览 Pixel Couplet Gen是一款融合传统春节文化与现代像素艺术风格的AI春联生成器。通过ModelScope大模型的强大生成能力,结合精心设计的8-…...
AListFlutter(手机alist)——跨平台网盘挂载神器,安卓设备轻松管理云端文件
1. 为什么你需要AListFlutter? 作为一个经常需要在不同设备间切换办公的现代人,我深刻理解手机存储空间不足的痛苦。每次想用手机看个电影,都要先删掉几个APP;想拍个视频,又得清理微信缓存。直到发现了AListFlutter这个…...
市场上有哪些做专精特新,创新型中小企业。企业老顾客选择多
在当今经济发展格局中,专精特新,创新型中小企业正成为推动经济创新发展的重要力量。那市场上有哪些这样的企业深受老顾客青睐呢?市场热门企业类型行业报告显示,在高端装备制造、电子信息、生物医药等领域,有不少专精特…...
RNA Clean-Up and Concentration Kits:适用于小RNA测序的RNA纯化与浓缩方案
在分子生物学研究中,RNA的纯度与浓度直接影响下游实验的成败。无论是从TRIzol等酚类试剂中提取的RNA,还是经过体外转录、DNase处理、标记反应等酶促步骤的样本,均可能残留影响后续实验的杂质。由艾美捷代理的Norgen Biotek推出的RNA Clean-Up…...
Phi-3-mini-4k-instruct-gguf保姆级教程:从CSDN GPU平台访问到结果导出全流程
Phi-3-mini-4k-instruct-gguf保姆级教程:从CSDN GPU平台访问到结果导出全流程 1. 认识Phi-3-mini-4k-instruct-gguf Phi-3-mini-4k-instruct-gguf是微软Phi-3系列中的轻量级文本生成模型GGUF版本。这个模型特别适合处理问答、文本改写、摘要整理以及简短创作等任务…...
如何快速定制lightgallery.js画廊样式:SCSS变量终极指南
如何快速定制lightgallery.js画廊样式:SCSS变量终极指南 【免费下载链接】lightgallery.js Full featured JavaScript image & video gallery. No dependencies 项目地址: https://gitcode.com/gh_mirrors/li/lightgallery.js lightgallery.js 是一个功能…...
JavaScript开发提效:从ZoomIt、Inspection Lens到Xmind的实战应用
1. ZoomIt:让代码审查和演示更高效的工具 第一次接触ZoomIt是在一次团队代码评审会上。当时同事正在讲解一个复杂的DOM操作逻辑,屏幕上的代码密密麻麻,后排同事根本看不清细节。只见他按下快捷键,屏幕瞬间放大到200%,关…...
