- 博客(179)
- 收藏
- 关注
原创 13.渗透测试指南-报告
测试目标:描述安全测试背后的业务需求。描述测试如何帮助组织了解其系统。业务背景下的关键发现,例如可能的合规问题、声誉损害等。关注业务影响,暂时省略技术细节。关于企业如何防止问题再次发生的战略建议。以非技术的方式描述这些建议,暂时省略具体的技术建议。摘要应具有建设性和意义。避免使用行话和负面猜测。如果使用了数据、图表或插图,确保它们能比文字更清晰地传达信息。列出发现的问题及其风险级别。可以使用表格,方便两个团队查看。参考编号标题风险级别1用户认证绕过高。
2025-04-20 17:04:43
587
原创 12.渗透测试指南-API测试
REST 是一组用于与 Web 资源进行交互的规则和约定。统一资源标识符(URI)、HTTP 方法、请求头和状态码等关键组件支撑着 REST 的原则。侦察是任何渗透测试工作中的重要步骤,这也包括 API 渗透测试。通过收集有关 API 的信息并深入了解目标,侦察工作能够显著提升测试过程的有效性。这一阶段不仅增加了发现关键安全问题的可能性,还能确保对 API 的安全态势进行全面评估。
2025-04-20 17:02:41
709
原创 11.渗透测试指南-客户端测试
基于 DOM 的跨站脚本攻击是指页面上活跃的客户端内容(通常是 JavaScript)通过源获取用户输入,并在Sinks中使用该输入,从而导致注入代码执行的XSS漏洞的统称。本文仅讨论导致 XSS 的 JavaScript 漏洞。DOM,即文档对象模型,是浏览器中用于表示文档的结构格式。DOM 允许 JavaScript 等动态脚本引用文档的组件,如表单字段或会话 cookie。浏览器也使用 DOM 进行安全控制,例如限制不同域名的脚本获取其他域名的会话 cookie。
2025-04-20 16:55:35
377
原创 10.渗透测试指南-业务逻辑测试
应用程序必须确保在应用程序或系统的前端以及直接在服务器端仅能输入逻辑上有效的数据。仅在客户端/前端验证数据可能会使应用程序容易受到通过代理或与其他系统交接时的服务器注入攻击。这与简单地执行边界值分析(BVA)不同,因为这种验证更困难,并且在大多数情况下不能仅在输入点进行验证,通常需要检查其他系统。例如:一个应用程序可能会要求你输入社会安全号码。在边界值分析中,应用程序应检查输入数据的格式和语义(值是否为 9 位数字、非负数且不全为 0),但也存在逻辑方面的考量。社会安全号码是分组和分类的。
2025-04-20 16:25:10
441
原创 9.渗透测试指南-弱密码学测试
当客户端和服务器之间传输信息时,必须对其进行加密和保护,以防止攻击者读取或修改这些信息。最常见的做法是使用HTTPS,它采用了传输层安全协议(TLS),该协议是较旧的安全套接层(SSL)协议的替代品。TLS还提供了一种方式,让服务器向客户端证明它们连接到了正确的服务器,即通过展示一个可信的数字证书。多年来,SSL和TLS协议以及它们使用的加密算法中被发现了大量的加密弱点。此外,这些协议的许多实现也存在严重的漏洞。因此,测试网站不仅要实现TLS,而且要确保以安全的方式实现,这一点非常重要。
2025-04-20 16:04:28
975
原创 8.渗透测试指南-错误处理测试
各类应用程序(如 Web 应用、Web 服务器、数据库等)都会因各种原因产生错误。开发人员常常忽略对这些错误的处理,或者认为用户不会故意触发错误(例如,在需要整数的地方输入字符串)。当开发人员只考虑正常情况时,就会忽略代码可能接收到但无法处理的其他所有可能的用户输入。堆栈跟踪信息网络超时输入不匹配内存转储了解内部使用的 API。通过了解内部系统和框架,绘制相互集成的各种服务的地图,从而为链式攻击打开大门。收集正在使用的应用程序的版本和类型。
2025-04-20 15:53:10
545
原创 7.渗透测试指南-输入验证测试
反射型[跨站脚本攻击(XSS)](https://owasp.org/www - community/attacks/xss/)是指攻击者在单个 HTTP 响应中注入可在浏览器执行的代码。注入的攻击代码不会存储在应用程序本身中,它是非持久化的,只会影响那些打开恶意构造链接或第三方网页的用户。攻击字符串作为构造的 URI 或 HTTP 参数的一部分,被应用程序不当处理后返回给受害者。反射型 XSS 是现实中最常见的 XSS 攻击类型。反射型 XSS 攻击也被称为非持久化 XSS 攻击,由于攻击载荷是通过单个请
2025-04-20 14:09:50
2168
原创 6.渗透测试指南-会话管理测试
任何基于Web的应用程序的核心组件之一,是控制和维护与之交互的用户状态的机制。为避免对网站或服务的每个页面进行持续认证,Web应用程序会实施各种机制,在预定的时间段内存储和验证凭据。这些机制被称为会话管理。在本次测试中,测试人员需要检查Cookie和其他会话令牌是否以安全且不可预测的方式创建。若攻击者能够预测并伪造脆弱的Cookie,就可以轻易劫持合法用户的会话。Cookie用于实现会话管理,RFC 2965中对其进行了详细描述。
2025-04-20 11:31:14
697
原创 5.渗透测试指南-授权测试
许多 Web 应用程序在日常运行中会使用和管理文件。如果输入验证方法设计或部署不当,攻击者就可能利用系统漏洞来读取或写入本不可访问的文件。在某些特定情况下,甚至可以执行任意代码或系统命令。传统上,Web 服务器和 Web 应用程序会实施身份验证机制来控制对文件和资源的访问。Web 服务器会尝试将用户文件限制在“根目录”或“Web 文档根目录”内,这代表着文件系统上的一个物理目录。用户需要将此目录视为 Web 应用程序层次结构的基础目录。
2025-04-20 11:23:28
761
原创 4.渗透测试指南-认证测试
许多 Web 应用程序和硬件设备的内置管理账户都设有默认密码。虽然在某些情况下,这些密码可能是随机生成的,但通常是固定的,这意味着攻击者可以轻易猜出或获取这些密码。此外,当应用程序创建新用户时,可能会为其设置预定义的密码。这些密码可能由应用程序自动生成,也可能由工作人员手动设置。无论哪种情况,如果密码不是以安全的方式生成,攻击者就有可能猜出这些密码。账户锁定机制用于缓解暴力破解攻击。登录密码或用户名猜测攻击。任何双因素认证(2FA)功能或安全问题的代码猜测攻击。
2025-04-20 11:15:26
1027
原创 3.渗透测试指南-身份管理测试
应用程序具备多种类型的功能和服务,这些功能和服务需要根据用户的需求来设置访问权限。管理员:负责管理应用程序的各项功能。审计员:审查应用程序的交易记录并提供详细报告。支持工程师:协助客户调试和解决其账户上的问题。客户:与应用程序进行交互并享受其提供的服务。为了处理这些使用场景以及应用程序的其他用例,需要设置角色定义(通常称为基于角色的访问控制,RBAC用户根据所分配的角色来完成相应的任务。一些网站提供用户注册流程,该流程能自动(或半自动化)为用户提供系统访问权限。
2025-04-20 11:09:48
1000
原创 2.渗透测试指南-配置与部署管理测试
相互连接且异构的Web服务器基础设施本质上十分复杂,其中可能包含数百个Web应用程序,因此配置管理和审查是测试和部署每个应用程序的基本步骤。只要存在一个漏洞,就可能破坏整个基础设施的安全性,即使是看似微不足道的小问题,也可能演变成同一服务器上其他应用程序的严重风险。为了解决这些问题,在绘制出整个架构之后,对配置和已知的安全问题进行深入审查至关重要。为了确保应用程序本身的安全,对Web服务器基础设施进行适当的配置管理非常重要。
2025-04-20 11:01:42
657
原创 1.渗透测试指南-信息收集
为了使搜索引擎正常工作,计算机程序(即“网络爬虫”)会定期从数十亿个网页上抓取数据(这一过程被称为网页抓取这些程序通过跟踪其他页面的链接或查看网站地图来发现网页内容和功能。如果网站使用一个名为robots.txt的特殊文件列出了不希望搜索引擎抓取的页面,那么这些页面将被忽略。这只是一个基本概述,谷歌提供了关于搜索引擎工作原理的更深入解释。测试人员可以使用搜索引擎对网站和 Web 应用程序进行侦察。搜索引擎发现和侦察有直接和间接两种方式:直接方式是指搜索索引和缓存中的相关内容;
2025-04-20 10:44:53
1237
原创 4.13.3附录 D. 编码注入
Character encoding is the process of mapping characters, numbers and other symbols to a standard format. Typically, this is done to create a message ready for transmission between sender and receiver. It is, in simple terms, the conversion of characters (b
2024-07-18 13:08:20
973
原创 4.13.3 附录 B. 建议阅读
Suggested ReadingWhitepapersThe Economic Impacts of Inadequate Infrastructure for Software TestingImproving Web Application Security: Threats and CountermeasuresNIST PublicationsFundamental Practices for Secure Software DevelopmentThe OWASP Guide Pr
2024-07-18 13:06:58
160
原创 4.13.3 附录 A. 测试工具资源
本附录旨在提供一份用于 Web 应用程序测试的常用工具列表。它并非完整的工具参考,此处包含某一工具并不意味着 OWASP 对该工具的特别推荐。该列表仅包含可免费下载和使用的工具(尽管它们可能有许可证限制其用于商业活动)。
2024-07-18 13:05:59
1035
原创 4.13.2 命名方案
随着需要管理的 IT 资产数量不断增加,安全从业者需要新的、更强大的工具来进行自动化和大规模分析。缺乏这种互操作性能力可能会在安全评估过程中导致不一致、混乱的报告,以及额外的关联工作,还会造成资源和时间的严重浪费。随后是一个可选块,提供了 30 个可能的预定义元素,标签创建者可以使用这些元素来提供可靠和详细的信息。命名方案是一种系统的方法,用于识别每个漏洞,以方便清晰地识别和信息共享。提供的高度细化不仅能够描述给定的软件产品,还能描述其在软件生命周期中的特定状态。被定义为 NVD 提供的已注册值的字典。
2024-07-18 13:04:32
774
原创 4.13.1 报告结构
测试目标:描述安全测试背后的业务需求。描述测试如何帮助组织了解其系统。业务背景下的关键发现,如可能的合规问题、声誉损害等。重点关注业务影响,暂时省略技术细节。关于企业如何防止问题再次发生的战略建议。以非技术的方式描述这些建议,暂时省略具体的技术建议。摘要应具有建设性和意义。避免使用行话和负面猜测。如果使用了数据图表或插图,请确保它们能比文字更清晰地传达信息。列出发现的问题及其风险级别。可以使用表格,方便两个团队查看。参考编号标题风险级别1用户认证绕过高。
2024-07-18 13:03:43
641
原创 关于nessus安装过程中遇到的问题
1.安装和解除IP限制以及解决重启失效的后遗症参考这位大佬的博客https://www.cnblogs.com/zoey979/p/16201985.html,https://www.cnblogs.com/zoey979/p/16200724.html。更新包时,需要修改 plugin_feed_info.inc中的时间。,然后再次运行脚本,发现插件已经清除了,需要重新解压缩。更新插件和激活步骤一样,先去官网申请新的激活码。如果不行,请重复几次激活步骤,后期继续优化。当插件包空的时候用这个命令重新解压。
2023-12-24 00:43:33
1492
原创 4.7.19-服务器端请求伪造测试
Web 应用程序通常与内部或外部资源交互。虽然您可能希望只有预期的资源会处理您发送的数据,但处理不当的数据可能会导致注入攻击的情况。一种类型的注入攻击称为服务器端请求伪造 (SSRF)。成功的 SSRF 攻击可以授予攻击者访问应用程序或组织内的受限操作、内部服务或内部文件的权限。在某些情况下,它甚至可能导致远程代码执行 (RCE)。
2023-10-19 10:04:13
143
原创 4.7.18-服务器端模板注入测试
Web 应用程序通常使用服务器端模板技术(Jinja2、Twig、FreeMaker 等)来生成动态 HTML 响应。服务器端模板注入漏洞 (SSTI) 是指用户输入以不安全的方式嵌入到模板中,并导致在服务器上远程执行代码。任何支持高级用户提供的标记的功能都可能容易受到 SSTI 的攻击,包括 wiki 页面、评论、营销应用程序、CMS 系统等。一些模板引擎采用各种机制(例如沙盒、允许列表等)来防止 SSTI。
2023-10-19 10:03:30
185
原创 4.7.17-测试 Host 标头注入
Web 服务器通常在同一 IP 地址上托管多个 Web 应用程序,通过虚拟主机引用每个应用程序。在传入的 HTTP 请求中,Web 服务器通常根据 Host 标头中提供的值将请求分派到目标虚拟主机。将请求分派到列表中的第一个虚拟主机。执行重定向到攻击者控制的域。执行 Web 缓存中毒。操作密码重置功能。允许访问不打算从外部访问的虚拟主机。
2023-10-19 10:02:47
272
原创 4.7.16-测试 HTTP 传入请求
本节介绍如何监控客户端或服务器端的所有传入/传出 HTTP 请求。此测试的目的是验证后台是否发送了不必要或可疑的 HTTP 请求。大多数 Web 安全测试工具(即 AppScan、BurpSuite、ZAP)都充当 HTTP 代理。这将需要更改客户端应用程序或浏览器上的代理。下面列出的测试技术主要集中在我们如何在不更改客户端的情况下监控 HTTP 请求,这将更接近生产使用场景。
2023-10-19 10:02:11
102
原创 4.7.15-测试 HTTP 拆分走私
本节说明了利用 HTTP 协议的特定功能的攻击示例,这些攻击通过利用 Web 应用程序的弱点或不同代理解释 HTTP 消息的方式的特殊性。HTTP 拆分HTTP 走私第一种攻击利用了缺乏输入清理的漏洞,允许入侵者将 CR 和 LF 字符插入应用程序响应的标头中,并将该答案“拆分”为两条不同的 HTTP 消息。攻击的目标可能从缓存中毒到跨站点脚本不等。在第二次攻击中,攻击者利用了这样一个事实,即某些特制的 HTTP 消息可以以不同的方式解析和解释,具体取决于接收它们的代理。
2023-10-19 10:01:36
114
原创 4.7.14-测试 Incubated Vulnerability
孵化测试通常也称为持续攻击,是一种复杂的测试方法,需要多个数据验证漏洞才能发挥作用。孵化漏洞通常用于对合法 Web 应用程序的用户进行“水坑”攻击。攻击媒介首先需要持久化,它需要存储在持久层中,这只会在存在弱数据验证或数据通过其他渠道(如 Admin Console)或直接通过后端批处理到达系统时发生。其次,一旦攻击向量被“召回”,该向量就需要成功执行。例如,孵化的 XSS 攻击需要弱输出验证,以便脚本以其可执行形式交付给客户端。
2023-10-19 10:01:06
106
原创 4.7.13-测试格式字符串注入
格式字符串是一个以 null 结尾的字符序列,其中还包含在运行时解释或转换的转换说明符。如果服务器端代码将用户的输入与格式字符串连接起来,则攻击者可以附加其他转换说明符,从而导致运行时错误、信息泄露或缓冲区溢出。格式字符串漏洞的最坏情况发生在不检查参数且包含写入内存的%n指定符的语言中。如果攻击者利用这些函数修改格式字符串,则可能导致信息泄露和代码执行C 和 C++printf和类似方法 fprintf、sprintf、snprintfPerlprintf和 sprintf。
2023-10-19 10:00:31
92
原创 4.7.12-测试命令注入
本文介绍如何测试应用程序的 OS 命令注入。测试人员将尝试通过向应用程序发送 HTTP 请求来注入操作系统命令。操作系统命令注入是一种通过 Web 界面使用的技术,用于在 Web 服务器上执行操作系统命令。用户通过 Web 界面提供操作系统命令,以执行操作系统命令。任何未正确清理的 Web 界面都会受到此漏洞的影响。凭借执行操作系统命令的能力,用户可以上传恶意程序,甚至获取密码。如果在应用程序的设计和开发过程中强调安全性,则可以防止 OS 命令注入。
2023-10-19 09:58:01
96
原创 4.7.11.1-测试文件包含
文件包含漏洞允许攻击者包含文件,通常利用目标应用程序中实现的“动态文件包含”机制。此漏洞是由于在未进行适当验证的情况下使用用户提供的输入而发生的。本地文件包含 (LFI) 是通过利用应用程序中实现的易受攻击的包含过程来包含服务器上已存在的文件的过程。例如,当页面接收到作为本地文件路径的输入时,就会发生此漏洞。此输入未正确清理,允许注入目录遍历字符(例如../– 请参阅 4.5.1远程文件包含 (RFI) 是通过利用应用程序中实施的易受攻击的包含过程来包含来自远程源的文件的过程。
2023-10-19 09:57:17
118
原创 4.7.9-测试 XPath 注入
XPath 是一种主要为处理 XML 文档的各个部分而设计和开发的语言。在 XPath 注入测试中,我们测试是否可以将 XPath 语法注入到应用程序解释的请求中,从而允许攻击者执行用户控制的 XPath 查询。成功利用此漏洞后,攻击者可能允许攻击者绕过身份验证机制或在未经适当授权的情况下访问信息。Web 应用程序大量使用数据库来存储和访问其操作所需的数据。从历史上看,关系数据库一直是迄今为止最常见的数据存储技术,但在过去几年中,我们看到使用 XML 语言组织数据的数据库越来越受欢迎。
2023-10-19 09:56:45
104
原创 4.7.11.0-代码注入测试
本节描述了测试人员如何检查是否可以在 Web 页面上输入代码并让 Web 服务器执行它。在代码注入测试中,测试人员提交由 Web 服务器作为动态代码或包含文件处理的输入。这些测试可以针对各种服务器端脚本引擎,例如 ASP 或 PHP。需要采用适当的输入验证和安全编码实践来防范这些攻击。
2023-10-19 09:56:05
96
原创 4.7.10-IMAP SMTP 注入测试
此威胁会影响与邮件服务器 (IMAP/SMTP) 通信的所有应用程序,通常是 Web 邮件应用程序。此测试的目的是验证由于输入数据未正确清理而将任意 IMAP/SMTP 命令注入邮件服务器的能力。如果邮件服务器无法直接从 Internet 访问,则 IMAP/SMTP 注入技术会更有效。在可以与后端邮件服务器进行完全通信的情况下,建议进行直接测试。IMAP/SMTP 注入使访问邮件服务器成为可能,否则无法从 Internet 直接访问该服务器。
2023-10-19 09:55:23
340
原创 4.7.8-SSI 注入测试
Web 服务器通常使开发人员能够在静态 HTML 页面中添加小段动态代码,而不必处理成熟的服务器端或客户端语言。此功能由(SSI) 提供。Server-Side Includes 是 Web 服务器在向用户提供页面之前解析的指令。当只需要执行非常简单的任务时,它们代表了使用服务器端脚本语言编写 CGI 程序或嵌入代码的替代方案。常见的 SSI 实现提供指令(命令)来包含外部文件、设置和打印 Web 服务器 CGI 环境变量或执行外部 CGI 脚本或系统命令。
2023-10-19 09:54:17
123
原创 4.7.7-测试 XML 注入
XML 注入测试是指测试人员尝试将 XML 文档注入到应用程序。如果 XML 解析器无法根据上下文验证数据,则测试将产生积极结果。本节介绍 XML 注入的实际示例。首先,将定义 XML 样式的通信并解释其工作原理。然后,我们尝试在其中插入 XML 元字符的发现方法。一旦第一步完成,测试人员将获得一些关于 XML 结构的信息,因此可以尝试注入 XML 数据和标签(Tag Injection)。
2023-10-19 09:53:40
250
原创 4.7.6-测试 LDAP 注入
轻量级目录访问协议 (LDAP) 用于存储有关用户、主机和许多其他对象的信息。LDAP 注入是一种服务器端攻击,它可能允许泄露、修改或插入有关 LDAP 结构中表示的用户和主机的敏感信息。这是通过操作随后传递给内部 search、add 和 modify 函数的 input 参数来完成的。Web 应用程序可以使用 LDAP 来允许用户在公司结构中验证或搜索其他用户的信息。LDAP 注入攻击的目标是在查询中注入 LDAP 搜索过滤器元字符,该查询将由应用程序执行。Rfc2254。
2023-10-19 09:53:05
176
原创 4.7.5.8-客户端测试
当应用程序实现技术并且没有正确验证输入或为其查询变量进行参数化时,会发生客户端SOL注入。此数据库是通过使用JavaScript(JS)API调用(例如openDatabase())来操作的,它可以创建或打开现有数据库。
2023-10-19 09:52:18
66
Burp Suite使用教程1.pdf
2023-05-12
一直路由转发失败,请教一下是什么原因导致的
2024-06-07
TA创建的收藏夹 TA关注的收藏夹
TA关注的人