DAST 黑盒漏洞扫描器 第五篇:漏洞扫描引擎与服务能力

动态应用安全测试 (DAST) 与渗透测试:应用程序安全测试综合指南 本综合指南将探讨 DAST 与渗透测试,包括 DAST 扫描与渗透测试以及 SAST、DAST 和渗透测试之间的关系。 阅读详情

0X01 前言

本身需要对外有良好的服务能力,对内流程透明,有日志、问题排查简便。

这里的服务能力指的是系统层面的服务,将扫描器封装成提供给业务的业务服务能力不在该篇讲述范围内

0X02 简单的扫描

高端的漏洞往往用最朴实的扫描方法

最简单的扫描需求,只需要从数据库中读取数据,定期跑一遍所有规则就好了。

一个脚本更新资产,一个脚本定时读取数据、结合规则进行扫描、并把结果打到数据库里,一个脚本定时读取结果发邮件,这样就已经满足SRC自动化挖漏洞的需求了,而且效果还不错。

0X03 分布式扫描

随着扫描的资产变多,单个机器的龟速扫描令人着急,所以运行规则这一步加上分布式,即任务打到队列(redis/MQ/kafka等),再由多个节点运行扫描规则、输出漏洞结果

0X04 几个数据源扫描

这样很方便的可以扫描主机漏洞

再往后,不想只单单的扫描主机漏洞了,也想扫描注入/XSS/SSRF/XXE等基于url的漏洞,有了url类型数据。

甚至发现有的漏洞应该是针对域名的(单纯的IP+端口请求到达不了负载均衡),又有了domain类型的数据。

0X05 多任务扫描

这时候生产模块还能应付得过来,即读取各类型数据、绑定各类型插件。

但是有时候新增了规则,想单纯的扫描对着所有数据扫描这条规则,需要另外起脚本加一个临时的生产者。

有时候新增了一批资产,想单独对着这批资产扫描所有的规则,又需要临时写个生产者脚本。

由此代码变得冗杂,操作变得繁琐,于是有了任务的概念。

任务用于绑定数据与规则,一个任务就是一个生产扫描子任务的单位。

这样增量规则扫描全量数据,新增一个任务绑定这个规则和对应的数据;增量资产扫描全量规则,新增一个任务绑定这批资产和对应的规则。

而从数据库上操作任务与规则变得不太方便,于是加上了可视化平台,可在web端发布扫描任务、新增修改规则。

0X06 多数据源扫描

而在甲方内部,随着接入的数据源越来越多,url数据有镜像流量、爬虫流量、代理流量、nginx流量等等,host数据有hids agent流量、黑盒资产探测流量、cmdb/IT等流量,domain有域名爆破流量、内部运维系统获取的流量等。

每多一个数据源,都得加一段代码逻辑 : "当数据源是a的时候,从哪哪哪获取流量数据"。

当数据源数量超过十种,任务模块的数据源获取代码变得很冗杂,且并硬编码横行(从哪哪哪获取数据)、逻辑写死不通用(a的数据要从接口分页遍历、b的数据需要从redis读、c的数据是kafka、d的数据从数据库获取)。

某些数据不走中间的某段过滤匹配逻辑,于是又要加一个字段 is_xxx 标识 ,再在引擎里 if is_xxx=True, 代码通用性低、高度耦合,遇到bug时排查成本极高 ,比如遇到这个流量怎么会有这样的输出结果、怎么会报错这类问题时,往往花半天一天追踪流量。

故而需要对数据源进行改造,统一数据源输入格式,数据源分几种类型,url/host/domain,每种类型都有固定的格式,由外部按照这种格式进行输入。

在数据源过多时,外部的输入代码太多了,可额外抽象出来形成数据输入模块。

比如定义redis类型数据从哪里获取、接口怎么分页获取数据、数据库怎么迭代读取等,再一一配置数据格式转换方式。这样再遇到需要新增的流量类型,需要新增的代码就是可复用的某类数据获取方式。

0X07 系统间服务能力

但是又遇到一个问题,遇到跨部门或者跨项目需要调用扫描能力时,很不方便,输入上需要自己配置数据来源,还需要扫描开发人员添加这类数据,扫描结果还需要去数据库获取,有的没结果不知道到底是没扫描还是没漏洞。

对于业务方,需求增改、服务调用不方便。

所以需要提高服务提供的能力,对于调用方来说,扫描是一个黑箱子,只管传入数据、启动任务、获取结果,提供给调用方的是扫描服务能力。

对于扫描引擎开发方,对外进行引擎能力封装,服务与上下游拆分开, 也实现低耦合、高可维护、可扩展易扩展,不会因需求增改而频繁改动引擎代码、从而导致代码冗余、开发维护成本上升 。

实现方式:

数据接入时,调用方在管理平台注册数据标签,并在传入数据时标明数据标签(抽象数据配置步骤);

结果输出时,调用方注册回调接口(数据打往回调接口),扫描结果分有漏洞/无漏洞/没扫描这一类,回调接口选择接收的结果类型;或注册处置结果标签,扫描结果打给消息总线。

回调方式不知道对方接口设置的状态,可能接口报错了消息没有正确打过去,可能接口返回200的 status: false但无法判断是失败了,简单来讲就是无法保证数据一致性,扫描结果里有但接口因为报错没有这个结果。所以还是尽量使用消息总线的方式,由消费方对消费失败的数据进行记录、排查并作再消费,保证接收结果的接口不会丢数据。

再由注册方操作任务,绑定待扫描的流量的标签,需要扫描的规则,处置的方式即结果是打给某个回调或者是打上某个结果标签。

实现效果:

这样将引擎封装起来,基本可以保证引擎中不会因为过多的数据源,而东一块西一块,有很多的针对不同数据源读取的代码。

引擎本身只保证数据读取、按照规定的任务选择扫描规则、将扫描的结果打到结果队列或者打回给调用方。

0X08 全流程日志

但还有另外一个问题,排查问题成本比较大。

扫描器引擎逻辑相比部分产品会比较复杂,主要涉及到其中的存活检测、集群判断、白名单限制、QPS控制、任务调度等功能,有时候丢流量或者因为某个字段不对导致漏报、在插件运行前请求的内容有问题导致判断为不存活的流量从而漏报。

这些情况在以redis为队列的引擎中,排查起来比较麻烦。

所以需要全流程的日志:最好能知道几个关键步骤的中间结果是什么样的,遇到问题时排查方便。扫描器在去重后扫描中间过程数据量不如IDS大 (日百亿处理结果),大概也就上千万,可以全部记录下来,资源紧张可以只记录一段时间。

关于日志种类:我们溯源排查时一般需要的中间结果有数据源、扫描子任务、扫描结果。

关于日志实现:redis pop后数据就没了,引擎读后做双写比较麻烦。

所以选择可订阅的消息队列,比如kafka,引擎使用一个group进行消息消费,再起一个服务用另外的group对这批topic的数据进行存储,熟悉的ELK结构。

DAST 黑盒漏洞扫描器 第二篇:规则篇 怎么衡量一个扫描器的好坏,扫描覆盖率高、扫描快、扫描过程安全 而最直接的效果就是扫描覆盖率高(扫的全) 怎么扫描全面,1 流量全面 2 规则漏报低 流量方面上篇已经讲过,这篇主要讲扫描规则。 扫描规则漏报率低,从整体考虑,一方面是规则全,广度上有保证;一方面是检测手段有深度,可以跨能力联动检测,有能力解决主要和旁枝末节处的漏报场景扫描器的规则主要有两种类型 针对接口的web漏洞,通常是通用型漏洞,OWASP TOP 10,sql注入、xss、ssrf、xxe等,以下简称web规则 针对主机(包括整个站点)的 阅读详情

相关推荐

DevSecOps实践:从SAST到DAST安全扫描集成

SAST是一种在不运行代码的情况下,通过分析源代码来发现潜在安全漏洞的测试方法。它能够在代码编写的早期阶段就发现安全问题,从而有效降低修复成本。SAST通常被集成到开发环境中,如IDE或CI/CD流水线中。在DevSecOps实践中,集成SAST和DAST是确保应用程序安全性的重要步骤。通过选择合适的工具、集成到CI/CD流水线中、仔细分析扫描报告以及持续改进,我们可以构建更加安全的软件开发流程。希望本文能为开发者在DevSecOps实践中集成SAST和DAST提供有价值的参考和指导。

shejizuopin的博客 949

左移测试、模拟攻击,利用DAST筑就应用安全防线,(非常详细)从零基础到精通,收藏这篇就够了!

通常情况下,DAST 是在应用程序开发完毕后进行的,因为它是模拟对运行中应用程序的攻击。然而,通过“左移 DAST”(将DAST提早到开发过程的早期),开发团队能够更早发现漏洞,从而节省时间和成本。DAST 扫描工具会搜索运行中的应用程序中的漏洞,一旦发现允许 SQL 注入、跨站脚本(XSS)等攻击的漏洞,它会自动发出警报。Fortify 为您提供最全面的静态和动态应用程序安全测试技术,并提供运行时应用程序监控与保护,同时依托行业领先的安全研究为后盾。它从“内到外”审视应用程序,查找源代码中的漏洞。

leah126的博客 831

渗透测试常用工具总结——DAST、SAST、IAST

IAST是什么?交互式应用安全测试(Interactive application security testing IAST)是一个在应用和API中自动化识别和诊断软件漏洞的技术。IAST全称为 “交互式应用程序安全测试” ,通过利用Agent来监控应用程序运行时的函数执行情况,采集相关数据,与服务端进行实时交互,从而高效、准确地识别出应用程序中的漏洞。同时可准确定位到漏洞所在的文件、行数、方法及参数,方便开发团队及时修复漏洞。

m0_61506558的博客 1759

浅谈DAST,什么是DAST,开发人员为什么要使用它?

大多数开发人员还没有听说过 DAST 扫描仪,因为它们主要由 appsec 和渗透测试人员使用。

qq_36719336的博客 4898

DAST黑盒漏洞扫描器:规则篇 编程学习

在网络安全领域中,黑盒漏洞扫描器是一种常用的工具,用于检测应用程序中的潜在漏洞。在网络安全领域中,黑盒漏洞扫描器是一种常用的工具,用于检测应用程序中的潜在漏洞。在实际的应用中,你需要根据你要检测的漏洞类型来编写适当的逻辑。在实际的应用中,你需要根据你要检测的漏洞类型来编写适当的逻辑。请注意,这只是一个基本的示例,实际的黑盒漏洞扫描器可能需要更复杂的逻辑和更多的功能来检测各种类型的漏洞。请注意,这只是一个基本的示例,实际的黑盒漏洞扫描器可能需要更复杂的逻辑和更多的功能来检测各种类型的漏洞。

KrDebugging的博客 363

Andriod应用开发基础项目——记账本

本项目采用Java语言编写,是一款基于Android Studio开发的简易项目,本项目可以提高Java语言编写软件的能力,同时加深对开发软件Android studio有了更深层次的掌握,很适合初学者。在项目过程中,遇到了一些挑战和问题,但通过不断的努力和学习,最终取得了成功。未来,可以还可以继续优化App的功能和性能,增加更多实用的功能,提升用户体验。

eryasd的博客 3467

左移测试、模拟攻击,利用DAST筑就应用安全防线,(非常详细)从零基础到精通,收藏这篇就够了!_dast扫描工具

左移测试、模拟攻击,利用DAST筑就应用安全防线,(非常详细)从零基础到精通,收藏这篇就够了!_dast扫描工具

bdfcfff77fa的博客 782

香橙派5b 移植 imx415

修改设备树,以为例,关闭ov13855,添加imx4151;0;1;0;1;0;1;0;1;0;1;0;1;0;以此类推,修改三个dtsi。

ChenYX的博客 4537

毕业设计:基于python的漏洞扫描系统的实现

毕业设计:漏洞扫描系统的实现通过计算机技术和网络扫描技术,对目标系统进行主动扫描和漏洞检测。该漏洞扫描系统具有高效、准确和可扩展的特点,可以帮助用户及时发现和修复系统中的漏洞,提高网络安全性。为计算机毕业设计提供了一个创新的方向,结合了网络安全、计算机网络和软件开发技术,为毕业生提供了一个有意义的研究课题。对于计算机专业、软件工程专业、网络安全专业和信息安全专业的毕业生而言,提供了一个具有挑战性和实用性的研究课题。

2301_79555157的博客 5301

Camera HAL 多线程管理详解

本文摘要:Camera HAL 采用双线程管理体系(CAMX与CHI-CDK)实现高效并发处理。CAMX ThreadManager负责HAL内部及框架交互,采用线程池+任务调度机制,将节点处理、回调等封装为Job异步执行;CHI ThreadManager专注于OEM定制逻辑,支持异步/同步两种作业模式。两套系统通过函数指针解耦但共享地址空间,共同实现硬件流水线的强实时性。文章详细解析了两者的类层次架构、核心数据结构及典型应用场景,并提供了问题排查的代码切入点,为Camera HAL开发与性能优化提供指导

DU_YULIN的博客 56

2026从0到1!C#工控机开发实战指南:新手一周就能跑通的完整项目

这篇文章摘要如下: 工业自动化领域工控机开发入门指南,针对零基础开发者提供从环境搭建到项目实战的全流程指导。文章首先解答工控机开发的3个核心问题,比较工控机与普通PC的区别,推荐使用C#作为开发语言。随后详细讲解开发环境配置、四大核心技术栈(通信协议、数据库、UI框架、多线程),并重点演示Modbus TCP通信的实现。最后通过一个完整的温度监控系统项目实战,展示如何用WPF构建实时数据采集界面,包括Modbus通信类编写、数据采集服务实现等关键代码片段。全文采用图解+代码的方式,帮助开发者快速掌握工控系统

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 704

Fortify(SAST、DAST) 安全扫描测试

sast、dast安全测试

jinwu18的博客 677

【保姆级】联想服务器 Ubuntu 装机:RAID 0/1/5/10 从原理到配置(新手也能一次成)

联想服务器RAID配置指南:Ubuntu系统适配方案 摘要: 联想服务器采用LSI MegaRAID硬件控制器,支持RAID0/1/10/5四种阵列模式。RAID0提供最高性能但无冗余,适合临时数据;RAID1完全镜像确保数据安全,推荐用于系统盘;RAID10兼顾性能与冗余,适合数据库等高要求场景;RAID5平衡容量与成本,适用于文件服务器。配置可通过本地BIOS(Ctrl+R)或XCC远程管理完成,Ubuntu安装时可自动识别虚拟磁盘。注意事项包括:使用同型号硬盘、监控重建进度、避免SSD与机械盘混用等。

2501_93651177的博客 488

一文搞懂:开发安全中的SAST、DAST、IAST和RASP

开发安全 SAST DAST IAST RASP DevSecOps SDL SDLS

qq_21408865的博客 8993

Oracle EBS 寄销/VMI(1)-->基础设置

名词解释:     BPA:一揽子采购协议     BPR:一揽子发放     SR:来源补充规则     ASL:合格供应商列表     VMI: 供应商管理库存     寄售(Consignment)是把货物放在客户那里,客户要用的时候才付款的库存,一般是指卖方把

陈显平的专栏-Oracle EBS 1万+

【灰度共生矩阵(GLCM)原理及代码实现】

文章主旨详细介绍灰度共生矩阵(Gray-Level Co-occurrence Matrix, GLCM)的生成原理、核心特征量及其在图像纹理分析中的应用,并提供了可运行的Python代码实现。该网页是一篇理论结合实践的优秀技术文章。它不仅清晰地解释了GLCM这一经典纹理分析工具背后的数学原理,还提供了完整、可复现的代码,非常适合计算机视觉或图像处理领域的学习者和开发者入门并实践灰度共生矩阵。读者可以通过运行代码来直观理解GLCM如何工作,并提取图像的纹理特征。

blotemj.blog.youkuaiyun.com 179

SAST、DAST、FOSS、SonarQube 企业级扫描工具解析

企业级代码安全需要"四重安检"体系:SAST(静态扫描)用于早期代码审查,DAST(动态测试)模拟真实攻击,FOSS检测开源组件风险,SonarQube综合评估代码质量。建议开发期组合使用SAST、SonarQube和FOSS,测试期加入DAST深度扫描,运维期持续监控。实施时需避免工具堆砌、只扫不改等问题,建立统一安全平台,将安全流程融入DevOps全生命周期。真正的安全防护是体系化能力,需要流程化、指标化和一体化的管理,而不仅是工具清单。

★【World Of Moshow 郑锴】★ 993

手把手教你学simulink实例--基于Simulink的电动汽车动力总成控制策略验证与标定仿真平台

电动汽车的动力总成(Powertrain)是车辆的核心系统,包括动力电池、电机控制器、逆变器和驱动电机等关键部件。动力总成的控制策略直接影响车辆的动力性能、能耗效率和驾驶体验。为了验证和优化这些控制策略,基于MATLAB/Simulink的仿真平台成为一种高效且经济的解决方案。本项目旨在构建一个完整的基于Simulink的电动汽车动力总成控制策略验证与标定仿真平台,涵盖控制策略建模、性能评估以及参数标定等功能模块,并通过仿真验证系统的有效性。

MHD0815的博客 299

安全测试工具分为 SAST、DAST和IAST 您知道吗?

相信刚刚步入安全测试领域的同学都会发现,安全测试领域工具甚多,不知如何选择!其实安全测试工具大致分为三类:SAST、DAST和IAST。本文就带大家快速的了解这三者的本质区别!

liwenxiang629的博客 1911

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

渗透测试中常见的扫描技术

在渗透测试的过程中,为了节省时间和人力,通常采用手工和工具相结合的方式。使用工具,就是将一些机械性的操作自动化实现,用以提高渗透测试的效率。例如,寻找内网 192.168.16.0/24 所有在线主机,如果一个一个去 ping 来测试主机是否存活(在线),显然是不合适的。

Kangyan6的博客 854

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

应用安全测试技术DAST、SAST、IAST对比分析

应用安全测试技术DAST、SAST、IAST对比分析

qq_50854662的博客 1627

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

2025年漏洞扫描避坑指南:企业安全必备的5大SAST/DAST工具实测

随着数字化转型的深入,企业面临的网络安全威胁日益复杂多变。漏洞扫描作为确保系统安全的关键环节,选择合适的工具至关重要。本文将详细介绍2025年企业安全必备的5大SAST(静态应用安全测试)/DAST(动态应用安全测试)工具,帮助企业避免漏洞扫描的常见陷阱,提升安全防护能力。

DevOps_1024的博客 1238

一文洞悉DAST、SAST、IAST ——Web应用安全测试技术对比浅谈

一、全球面临软件安全危机 我们即将处于一个软件定义一切的时代,这是 “一个最好的时代,也是一个最坏的时代”。 无论是生活中离不开的通讯、支付、娱乐、餐饮、出行,以及医疗,还是国防领域中的火箭、导弹、卫星等,都离不开软件技术。然而,软件技术在促进社会发展的同时,也可能因为漏洞问题危害人们的个人隐私信息、财产安全甚至生命安全,这类案例不胜枚举。 2010年,大型社交网站rockyou.com被曝存在SQL注入漏洞,黑客利用此漏洞获取到3200万用户记录(包括E-mail、姓名及明文形式的密码)。 201

YvesHe的专栏 729

白盒、黑盒、SAST、DAST傻傻分不清?

白盒测试、黑盒测试、静态应用程序安全测试(SAST) 和 动态应用程序安全测试(DAST)是软件测试和安全领域中常见的术语。很多小伙伴分不清这四者到底有啥区别和关联,本文将做个简单的解释与区分。

hwxiaozhi的博客 651

5个网络安全漏洞扫描工具

主动识别和解决漏洞对于保护组织的数字资产至关重要。漏洞评估扫描工具通过自动发现网络、系统和应用程序中的安全漏洞并确定其优先级,在此过程中发挥着至关重要的作用。这些工具通过提供对攻击面的全面可见性并及时修复漏洞,帮助消除潜在风险。在本文中,我们将探讨一些可用的网络安全漏洞扫描工具,每个工具都提供独特的特性和功能来增强网络安全态势。Tenable 是网络安全解决方案的领先提供商,提供 Nessus,这是业内部署最广泛的漏洞评估扫描器之一。

ewii12567的博客 1203

s2 安恒 漏洞验证工具_黑盒扫描工具简介

一、Web扫描1、WebInspect国外商业级。HP WebInspect 可提供快速扫描功能、广泛的安全评估范围及准确的 Web 应用程序安全扫描结果。它可以识别很多传统扫描程序检测不到的安全漏洞。利用创新的评估技术,例如同步扫描和审核 (simultaneous crawl and audit, SCA) 及并发应用程序扫描,您可以快速而准确地自动执行 Web 应用程序安全测试和 ...

weixin_30327815的博客 2989
上一篇: 架构自治服务:构建数据驱动的架构洞察
下一篇: CORBA 架构体系指南(通用对象请求代理体系架构)​
程序员职业指南
博客等级 码龄4年 2136粉丝 960原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值