myscan被动扫描器架构解析:从流量处理到漏洞报告

发布时间:2026/8/13 14:32:00
myscan被动扫描器架构解析:从流量处理到漏洞报告 myscan被动扫描器架构解析从流量处理到漏洞报告【免费下载链接】myscanmyscan 被动扫描项目地址: https://gitcode.com/gh_mirrors/mysc/myscanmyscan是一款功能强大的被动扫描器专为安全从业者设计能够高效处理网络流量并生成详细的漏洞报告。它不主动收集流量而是通过分析来自其他方式获取的流量利用内置规则对数据包进行增删改查从而发现可能存在的漏洞风险。一、myscan被动扫描器整体架构myscan的架构设计清晰主要包括流量采集、数据处理、漏洞检测和报告生成等模块。以下是其核心架构流程图从流程图中可以看出myscan的工作流程主要分为以下几个步骤流量采集通过Chrome、Firefox、IE等浏览器Fiddler等工具将流量转发至Burpsuite。数据格式化Burpsuite通过myscan_burp_extension.jar插件将请求体和响应体格式化为json数据并存储到Redis中。数据处理Myscan工程从Redis中读取json数据转换为Python字典并对数据包进行分类和去重处理。漏洞检测工作进程从Redis获取处理后的数据调用相应模块进行漏洞探测并将结果保存回Redis。报告生成保存数据线程接收到结果后将其输出到HTML文件。二、流量处理机制2.1 流量采集与转发myscan支持多种流量采集方式用户可以通过浏览器、Fiddler等工具将流量转发至Burpsuite。Burpsuite作为中间人代理能够捕获所有经过的HTTP/HTTPS流量。2.2 数据格式化与存储Burpsuite加载myscan_burp_extension.jar插件后会调用Burpsuite的API将请求体和响应体格式化为json数据并存储到Redis中。具体的json数据结构可以参考Class2-进阶用法及开发指南。2.3 数据包分类与去重Myscan从Redis中读取json数据后会将其转换为Python字典并对数据包进行分类处理主要分为以下三类PerFile每个文件对完整的URL进行hash如http://127.0.0.1:8888/vulnerabilities/xss_r/。PerFolder每个文件夹将URL拆分为多个目录分别对每个目录进行hash如http://127.0.0.1:8888/、http://127.0.0.1:8888/vulnerabilities/等。PerScheme每个数据包对数据包中的URL、Cookie、Body参数名、请求方法、协议、主机、端口和URL路径等进行hash。此外myscan还支持右键模式用户可以在Burpsuite中选中一条或多条数据右键Send to Myscan将其发送到任务队列。此模式下的数据包去重可以通过配置文件中的Rightclick uniq按钮进行控制。三、漏洞检测流程3.1 参数解析myscan能够对请求体中的参数进行详细解析支持多种参数类型包括URL参数、Body参数、Cookie参数、XML参数、JSON参数等。每种参数类型都有对应的content_type和param_type具体如下表所示content_type值说明CONTENT_TYPE_UNKNOWN-1未知类型CONTENT_TYPE_NONE0无参数CONTENT_TYPE_URL_ENCODED1URL编码参数CONTENT_TYPE_MULTIPART2多部分表单数据CONTENT_TYPE_XML3XML参数CONTENT_TYPE_JSON4JSON参数CONTENT_TYPE_AMF5AMF参数param_type值说明PARAM_URL0URL参数PARAM_BODY1Body参数PARAM_COOKIE2Cookie参数PARAM_XML3XML参数PARAM_XML_ATTR4XML属性参数PARAM_MULTIPART_ATTR5多部分表单属性参数PARAM_JSON6JSON参数对于XML参数myscan能够解析其中的元素和属性如下图所示对于复杂的多部分表单数据myscan也能够准确解析如下图所示3.2 POC检测myscan集成了丰富的POCProof of Concept脚本用于检测各种常见的Web漏洞。这些POC脚本位于项目的myscan/pocs/目录下按照不同的分类方式进行组织如perfile、perfolder、perscheme等。POC检测流程主要包括以下几个步骤从Redis中获取处理后的数据包。根据数据包的类型和特征选择合适的POC脚本进行检测。执行POC脚本发送测试 payload并分析响应结果。如果检测到漏洞将结果保存到Redis中。3.3 反连平台myscan内置了反连平台支持HTTP、DNS、RMI和LDAP四种反连方式用于检测盲注、命令执行等需要外部交互的漏洞。用户需要准备一个域名和公网服务器并进行相应的DNS配置。反连平台的配置可以在myscan/config.py文件中进行修改。四、漏洞报告生成4.1 报告生成流程当工作进程检测到漏洞并将结果保存到Redis后保存数据线程会接收到这些结果并将其输出到HTML文件。生成的报告包含漏洞的详细信息如漏洞类型、URL、参数、请求和响应数据等便于用户进行进一步的分析和验证。4.2 报告查看与导出生成的HTML报告可以通过浏览器直接查看也可以导出为其他格式如PDF进行保存和分享。报告的存储路径可以在配置文件中进行设置。五、高级功能与扩展5.1 错误阀值控制为了避免因发送过多payload而导致IP被封锁myscan实现了错误阀值控制功能。当某个站点的最新N次请求均失败时myscan会停止对该站点的扫描。默认配置为最新的500次请求均失败时停止扫描。5.2 流量过滤用户可以在Burpsuite插件中设置过滤规则过滤掉不需要扫描的host或POC。此外还可以通过关闭Proxy mode来暂时停止被动扫描需要测试的数据可以通过右键Send to myscan发送到任务队列。5.3 插件支持myscan支持插件扩展插件主要用于收集和存储信息如提取页面中的域名、搜集URL到数据库等。插件位于myscan/plugins/目录下用户可以根据自己的需求开发自定义插件。5.4 分布式扫描通过将多个myscan实例连接到同一台Redis服务器可以实现分布式扫描利用多个网络和CPU资源提高扫描效率。需要注意的是Redis服务器应设置强密码并限制源访问以确保安全。六、总结myscan被动扫描器以其清晰的架构设计、强大的流量处理能力和丰富的漏洞检测功能成为安全从业者的得力助手。通过本文的解析相信读者对myscan的工作原理和使用方法有了更深入的了解。如果您想开始使用myscan可以通过以下命令克隆仓库git clone https://gitcode.com/gh_mirrors/mysc/myscan希望myscan能够帮助您在安全测试工作中发现更多潜在的漏洞提高工作效率。【免费下载链接】myscanmyscan 被动扫描项目地址: https://gitcode.com/gh_mirrors/mysc/myscan创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考