Skip to content

Latest commit

 

History

History
191 lines (107 loc) · 30.8 KB

File metadata and controls

191 lines (107 loc) · 30.8 KB

二、准备和测试指南

第 1 章常见 Web 应用和架构中所述,了解目标应用的构建方式肯定会帮助我们进一步进行粗略的笔试。所有这些理解都可能是一把双刃剑。更复杂的应用可能会压倒技术最熟练的测试人员。当我们进行测试时,我们需要确保覆盖了需求的整个范围。这可能很吸引人,但如果你和我一样,我们需要有一个计划。拥有严格的流程和充分理解的规则将有助于我们为客户提供一致、有价值的信息。这种额外的正式处理也将确保我们得到与客户商定的范围的全面覆盖。

这些计划既可以作为客户流程的一部分存在,也可以作为我们通过合同带来的东西存在�� 我们可能是内部员工和承包商,也可能是作为外部顾问引入的。在第一种情况下,你的任务可能是针对自己雇主的环境或产品进行测试。在这种情况下,您的订单可能来自内部流程或项目需求。管理层要求的特别测试并不少见,但要确保范围和流程得到正式同意,以确保各方都受到保护。在后一种情况下,客户可能会雇佣您或您的雇主提供测试。在这些情况下,范围、工作说明书SOW),合同作为一个整体,需要经过双方的审查,以确保边界得到保护

在整个过程中,记住我们为什么会在那里�� 我们在那里是为了帮助客户,而不是羞辱或出现在他们的员工面前。无论您是通过邀请或授权参与测试,道德黑客社区都应该赞扬那些接受测试的组织,因为可能有一天我们的个人数据或财务状况会受到威胁。让我们尽我们所能确保我们不是明天的受害者。

在本章中,我们将讨论以下内容:

  • 我们可以利用和修改一些综合测试框架以供自己使用
  • 指导我们行为的道德和法律原则
  • 关于建立实验室和批准目标以排练测试技能的指导,我们将在本书期间对此进行探讨

选择您最喜欢的测试框架


特别是在渗透测试和 web 应用笔测试领域建立领导地位的竞赛中,一些组织、公司和委员会如雨后春笋般涌现。其中一些组织提供了一种产品中立的方法,而另一些组织的观点则毫不掩饰地推动了他们推荐的笔测试方法或框架。这个测试框架的内容和格式会有很大的不同,所以我们需要对选项进行排序,看看哪个选项有意义。

政府支持的中心和机构,如位于国家标准与技术研究所****NIST美国计算机应急准备小组美国认证)、计算机安全资源中心中国证监会)等,以及新成立的欧盟网络和信息安全局https://www.enisa.europa.eu )倾向于关注维护者指南,该指南提供了一些指导,当然可以转化为测试需求和重点领域。

因此,回到潜在路径;选择一个框架通常取决于一个人的舒适区和对程序或观点的熟悉程度。对于许多行业来说,法规遵从性和监管也将推动选择。没有正确的答案,但选择可能会对架构产生影响,并最终导致优势和劣势。很多时候,我们自己的培训预算、日程安排、产品设置和背景将决定我们如何完成培训过程。我们可以通过认证、项目合作或通过与雇主有联系的方式来完成培训。让我们来看看一些最流行的方法。

通过产品构建框架

这是一本专注于 Kali Linux 的书,但值得一提的是,有很多产品都在尝试一体式 web 笔测试。其中一些是精心设计和维护的,而另一些近年来被忽略了,但仍然基于独特的功能集或界面找到了拥护者。

Kali Linux 本身有一些工具套件,它可以托管这些套件,以提供对测试生命周期的全面覆盖。下面列出了一些更普遍的选项:

  • 铁蜂http://ironwasp.org/index.html :这个免费的开源软件包在 Mac 和 Windows 上运行,或者在 Linux 上运行 WINE,它附带了大量的现成功能。然而,让它真正强大的是,您可以自己制作或借用他人用 VB.NET、C#、Ruby 或 Python 编写的模块,使该工具成为您自己的工具!其网站提供了精心编写的详细视频,向您展示该工具的功能。
  • Veracodehttp://www.veracode.com/products/dynamic-analysis-dast/web-application-security-testing :SaaS 提供了执行云托管 web 应用渗透测试的 Veracode,这是进入这一领域的一个新入口。
  • IBM 安全应用扫描http://www-03.ibm.com/software/products/en/appscan :这个多功能一体的 web 和移动应用测试套件可以在目标应用上打开,以自动报告合规性、漏洞和建议的修复。对于大型企业来说,它是一种流行的内部部署选项,并为软件开发生命周期SDLC的所有阶段提供产品。最近,他们开始提供云托管的变体。IBM 的解决方案也使自己与众不同,这在很大程度上要归功于它与类似的安全和开发生态系统的集成。由于系统事件和事件管理器SEIM)、QRadar 以及专注于网络的 IDS/IPS 产品和代码开发平台组合之间的协同效应,他们提供了差异化。
  • Rapid7 appspiderhttps://www.rapid7.com/products/appspider/ :IBM 专注于自己的生态系统,Rapid7 也有类似的功能套件,但专注于与技术合作伙伴的集成。Appspider 能够实现许多相同的功能,但它面向与 DevOps 工具以及 SEIM、IDS/IP 和 WAF 工具的全面列表的集成。它甚至可以自动修补、重播攻击,并可以自动生成规则;在速度、覆盖率和可用性方面,它是一个顶级的执行者。
  • HP WebInspecthttp://www8.hp.com/us/en/software-solutions/webinspect-dynamic-analysis-dast/ :与 IBM 的产品非常相似,WebInspect 非常专注于单一供应商的方法,用于所有事情,如安全、开发和编码,然后是渗透测试和补救。此解决方案的成本和复杂性使其成为内部分析的更好选择,而不是外部 pen 测试人员的更好选择。
  • 针剂http://www.acunetix.com :与 IBM、Rapid7 和 HP WebInspect 选项不同,Acunetix web 漏洞扫描器专注于笔测试支持和报告,而不深入研究自动化规则和修补。这不是一件坏事;它做什么,它做得很好;通常,当外部笔测试仪工作时,这些功能是未使用的。Acunetix 提供了丰富的报告,并经常在功效、覆盖率和功能方面排名第一。

像你一样训练

认证是一个很好的方法,通过它,你可以爬上学习曲线,开始你的网络笔测试职业生涯。如果你正在读这本书,你可能已经获得了一个或多个专业认证。大多数认证蓝图引导道德黑客通过测试流程,这与洛克希德·马丁公司的网络杀戮链(®非常相似 http://www.lockheedmartin.com/us/what-we-do/aerospace-defense/cyber/cyber-kill-chain.html 如下图所示)。虽然这些并不是名义上的框架,但它们可以提供一种从“T4”到“T5”的方法,这种方法可以被集成和调整,以便在您自己的流程中使用。

网络杀戮链驱动了大多数攻击和测试方法,并形成了大多数行业认证的基础。

洛克希德·马丁公司(Lockheed Martin)在一篇名为《情报驱动的计算机网络防御》(Intelligence Driven Computer Network Defense)的论文中创建了网络杀伤链,该论文通过分析对手战役和入侵杀伤链(获得信息 http://www.lockheedmartin.com/content/dam/lockheed/data/corporate/documents/LM-White-Paper-Intel-Driven-Defense.pdf )。

两个领先的国际组织,EC 理事会和 GIAC/SANS,将自己确立为以认证为中心的组织,通过合格的安全专业人员获得了认可,这反过来也为他们的项目带来了良好的口碑。攻击性安全性(Kali Linux 的创建者/维护者)也提供了备受尊敬的以 Kali 为中心的认证,这些认证因其实用的测试方法而备受推崇。

欧共体理事会的做法

欧共体理事会的黑客攻击和强化企业 Web 应用/网站 CAST 613 课程(https://www.eccouncil.org/programs/web-application-security/ 处理一系列最具影响力和恐惧的攻击。他们的课程涉及到亮点,重点是帮助开发人员理解如何更好地保护和测试他们的应用。鉴于欧共体委员会没有针对纯网络应用笔测试的攻击性认证,本课程和认证可以增强欧共体委员会的认证道德黑客CEH认证)中学习到的更通用的笔测试方法。与许多 EC 委员会认证一样,可以通过培训课程或书店和在线提供的第三方文本获得材料。

我们将参考欧共体委员会的更多道德准则,但鉴于这并不像他们的 CEH 那样受欢迎,请特别关注更为成熟的网络笔测试标准。

GIAC/SANS 方法

GIAC 和 SAN 共同提供活动、培训路径和一个强大的社区,通常被认为是美国和北约政府网络安全专业人员的最爱,并且经常被列在那里许多角色的要求中。他们的产品包括GIAC Web 应用渗透测试仪GWAPT认证。GWAPT 是一个独立的认证,与网络杀戮链密切相关,其课程仅在会议和在线课程中提供。

他们的培训成本很高,这被认为是值得的,但这往往限制了能够访问他们的方法和框架的受众范围。考虑 GWAPT 一个更先进的认证,非常值得作为您的 Web 笔测试职业的下一步。

进攻性安全方法

攻击性安全是为我们带来 Kali Linux 的组织,以及一些活跃的博客和渗透测试和取证领域的思想领袖。虽然他们在认证领域以其攻击性安全认证专业OSCP)而闻名,但他们也提供攻击性安全网络专家OSWEhttps://www.offensive-security.com/information-security-certifications/oswe-offensive-security-web-expert/ 。这种严格的培训以 24 小时的实践考试为特色,这是他们认证策略的标志。虽然进攻性安全重点放在实际方面,但事实上,它们确实教授了许多人用作基线的实践方法。他们的操作系统 Kali Linux 是本书的重点,因此我们肯定会在本书的许多方面听取他们的指导。

开源方法和框架

开源倡导者为我们提供了一些非常彻底的选项,我们可以选择这些选项作为起点。每个选项都提供了一个结构,该结构通常是免费的或偏向于特定的供应商或工具集。事实上,大多数由非营利组织开发的开源框架只能通过跨部门的工具来实现。来自万维网联盟W3C等组织的附加指南 https://www.w3.org网络应用安全理事会WASChttp://www.webappsec.org 可以帮助完成您的流程。

ISECOM 的 OSSTMM

安全与开放方法研究所ISECOM发布了其最新开源安全测试方法手册OSSTMM的付费墙保护版本 http://www.isecom.org/research/osstmm.html ;第 4 版是最新版本。silver或更高身份的成员可以访问该文档,但早期版本可以免费访问。

OSSTMM 在更高的层次上描述了所有形式的渗透测试过程,Web 应用测试元素遍及其中。我们将在我们继续进行的时候参考它,但请考虑这是本书的可选参考。

ISSAF

信息系统安全评估框架ISSAFhttps://sourceforge.net/projects/isstf/ 是一个封存的项目,尽管如此,它还是提供了大量信息。它可以帮助理解整个企业级评估过程,其中不仅包括 pen 测试,还包括事件和变更控制程序、安全操作SecOps)程序以及环境的物理安全等。ISSAF 缺少更多当前的应用测试指导,它通过提供样本 NDA、合同、调查问卷和其他有用的模板来弥补这一点,这些模板可以帮助制定适当的可交付成果。

值得注意的是,ISSAF 涵盖了以下学科领域:

  • 整个评估过程中的项目管理、指南和最佳实践
  • 评估方法
  • 技术控制评估
  • Unix/Linux、Windows、Novell 和数据库系统安全评估
  • Web 应用安全评估
  • 互联网用户安全与社会工程
  • 安全评估项目的法律方面
  • 保密协议保密协议及安全评估合同模板
  • 征求建议书征求建议书模板
  • 渗透测试实验室设计的一些指南(本章后面将介绍)

NIST 出版物

近三十年来,NIST 发布了专门出版物,以提供许多技术领域的最佳实践和指导,计算机安全资源中心中国证监会)在网络安全防御领域率先提供了许多可自由访问的出版物。NIST 还发布了有价值的指南,用于测试组织安全方法的有效性和覆盖范围。

NIST 首次涉足这一领域,其专门出版物信息安全测试和评估技术指南(NIST 800-115()http://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-115.pdf ,有些过时,现在不再手动维护。值得花时间参考 SP 800-115,因为它仍然为所有形式的渗透测试(包括 web 应用)提供有用的信息。撇开技术货币不谈,它的价值在于系统地处理测试数据,维护适当的控制,以及构建您的测试环境他正准备写一份有价值的报告。

最近感兴趣的 SP 是评估联邦信息系统和组织的安全和隐私控制(SP 800-53A,可在上获得)http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-53Ar4.pdf)。本演示文稿不太关注管理流程,而是提供有关如何最好地制定自己的政策的指导方针。SP 800-53A 还提供了将其合法地位纳入 SDLC 的指导(如第 1 章通用 Web 应用和架构中所述)。作为额外的奖励,SP 800-53A 包括几个附录,提供一些评估和报告信息;附录 F 包括一套完整的测试,可纳入您自己的流程中。NIST 测试场景按覆盖率和关键性进行排序,为公共已知漏洞的大量缓存提供一些急需的严格性。

OWASP 的 OTG

web 笔测试中最广泛接受的参考是 OWASP 测试指南,也称为 OTG,版本 4(https://www.owasp.org/index.php/OWASP_Testing_Project )。OWASP 多年来一直处于该领域的领先地位,这得益于社区的大量参与,以及它在预测趋势和教导社区测试趋势方面的卓越声誉。OWASP 的影响是在诸如 SAN、Black Hat 和 DevCon 举办的会议上进行演示的一个主要驱动因素,他们的前 10 个 web 安全威胁对我们任何人来说都是必读的。

OTG 与 NIST 指南非常相似,它提供了一些将测试纳入适当阶段的提示和指针。OWASP 比前面讨论的其他全覆盖框架更定期地维护 OTG,每三到四年发布一次 top 10 和 OTG。然而,OTG 的大部分都直接投入到特定于 web 的测试中,该测试不仅可以全面覆盖前 10 大威胁,还可以覆盖 OWASP 团队积极跟踪的所有漏洞。

虽然 OTG 涵盖了很多领域,但它从一本入门书开始,包括 OWASP 在 SDLC 中的最佳实践以及测试的适当阶段。OTS 还超越了技术漏洞,展示了目标客户如何从红队(进行模拟安全入侵)以及网络笔测试特有的许多侦察和足迹方面获益。一旦讨论了这个基础,下面的部分将 Web APP 笔测试分解成逻辑集中,这些逻辑组集中在可由类似测试、工具和开发或部署的类似阶段覆盖的体系结构的特定区域:

  • 身份管理、身份验证和授权
  • 会话管理
  • 输入验证
  • 错误处理
  • 密码学
  • 业务逻辑(基于输入或更新的数据处理和操作)
  • 客户端(通常是受害者浏览器)

如果你现在还没有猜到,OWASP 测试指南就是我们将通过这本书作为我们的基础。在实践中,其他框架可以更好地为您工作,但是货币、焦点、完整性以及它们的文档的可访问性以及它们推荐的测试为我们在测试目标应用中使用 Kali-Linux 提供了坚实的基础。

保持其合法性和道德性


如果我们的测试过程让我们免于牢狱之灾,降低我们和客户的风险,那岂不是太好了?在大多数国家,国家、省、州和地方各级的法律体系呈指数级增长。我们被轰炸的许多新闻故事清楚地表明,世界各地各级政府机构仍在努力确定如何在网络安全相关事件的隐私、保密性和问责制之间找到适当的平衡。事实证明,在绝大多数政府机构中,制定法律的人可能不适合理解复杂性并制定有效的法规。对我们来说,一个复杂的事实是,我们很少在一个司法管辖区内运作:州际和国际纠纷是危险和动态的。在工作中,我们如何才能使自己免于持续的瘫痪和恐惧?

什么是合法的?

首先,我们正在测试的站点的位置和管辖业务的法律管辖区将分别呈现我们应该了解的不同法律法规。在美国和欧盟,跨越国家或成员国边界的行动属于其总体条例的主要管辖范围。为了避免触犯这些法律,你最好搜索一下你的管理机构的法律(对于欧盟,http://eur-lex.europa.eu/homepage.html 提供了一个良好的起点,而美国司法部提供了类似的搜索功能,但在名为的指南中总结了国家代码起诉计算机犯罪https://www.justice.gov/sites/default/files/criminal-ccips/legacy/2015/01/14/ccmanual.pdf))。与 1984 年的《计算机欺诈和滥用法案》、1996 年的《经济间谍法案》、《联邦信息安全管理法案》(T7)(FISMA)、2002 年的《网络安全增强法案》和类似的美国法律通过提供拦截和阻止恐怖主义所需的适当工具来团结和加强美国美国爱国者,自 2001 年起),也影响了美国网络法律的先例和原则。萨班斯-奥克斯利法案、健康保险便携性和责任法案HIPAA)和支付卡行业数字安全标准PCI-DSS等法规可能适用于我们将与之互动的许多客户,取决于其职能和管理机构。

欧盟刚刚颁布了一项影响深远的新法规,称为通用数据保护法规GDPRhttp://www.eugdpr.org )这有助于定义公司的责任,并且肯定会影响我们在涉及在欧盟开展业务的公司的项目中的角色。印度政府最近制定了自己的 2013 年综合国家网络安全战略,并通过其电子和信息技术部网站(提供对所有这些战略的访问 http://meity.gov.in/content/cyber-laws-security 。许多其他亚洲和非洲国家也在不断修改自己的法律。值得投资于参考书和法律期刊,涵盖不断发展的法律领域,这可以帮助你站在法律的正确一边

随着您业务的发展,可能值得聘请一名律师或律师事务所,专注于网络安全、数据、隐私和道德黑客方面的法律,聘请一名律师帮助您制定合法的合同,并在您和您的公司可能涉及的任何法律诉讼中提供代理。

什么是道德?

道德准则虽然没有法律约束力,但可以成为法律法规走向的领头羊,至少比大多数政府实体的标准更高。他们用法律语言所缺乏的,只是用通俗易懂的语言来弥补,这通常会引导我们远离可能出现的任何法律问题领域。欧共体理事会和 GIAC/SANS 都发布了道德规范(https://www.eccouncil.org/code-of-ethics/https://www.giac.org/about/ethics))以及许多其他行业机构和认证机构。一些商业工具供应商或提供者也对正确使用抱有期望,并对使用其工具集的邪恶活动表示不满。通过注册成为会员或持有他们的证书,您将遵守他们的标准。 

在 pen 测试实践的自然演变过程中,在讨论或完成项目时可能会遇到一些问题,这些问题在既定的标准操作程序、道德规范或法律中可能不明确。在这些情况下,最好退后一步,评估每个可用选项可能产生的潜在短期和长期危害或好处。在这里,同意一系列法律和道德界限可能是一种财富——有时,最好的办法是完全避免道德或法律灰色地带,坚持有充分理由的流程和行动。

贴标——实践我们所学


所以你可能会问,我们什么时候能有笔测试的乐趣?让我们说很快。我们必须建立一个安全但具有代表性的环境,为我们想要运行的各种测试提供成熟的目标。我们还希望在不影响某些实际生产应用或其底层系统或支持网络的性能的情况下推动这些限制。由于品种是生活的调味品,因此在渗透测试中也是如此。通过对各种平台的接触和了解,您的测试效率将大大提高。有一些很棒的资源,比如 Packt 自己的为高级渗透测试构建虚拟测试实验室Kevin Cardwell*(编写的第二版*https://www.packtpub.com/networking-and-servers/building-virtual-pentesting-labs-advanced-penetration-testing-second-edition ,如果您想进入更严格的通用笔测试范围。在本节中,我们将简要讨论本书中我们将使用的沙箱或实验室,以排练我们的笔测试方法。

作为参考,本书的我的实验室与下图相似:

本书的渗透测试虚拟实验室为探索和演练新的攻击方法提供了充足的空间。

创建虚拟化环境

白帽,就像任何 IT 专业人士一样,通常对特定的平台和操作系统忠诚。我完全希望这本书的读者会使用运行微软 Windows、Mac OS(X 或 Sierra)或 Linux/BSD(Ubuntu/Debian、Fedora/RedHat、SUSE、FreeBSD 等)的笔记本电脑。不要为小事操心——只要它是一台相当新的、配置良好的笔记本电脑或台式机(4 CPU 现代内核、以太网和无线、一些 USB(版本 2 或 3)插座,以及最低 16 GB RAM),它至少应该可以让您开始使用。

冒着引发另一场狂热辩论的风险,我们希望选择一个虚拟化平台来运行在这个平台之上(对不起!)。虚拟化通过使用虚拟化平台建立虚拟网段,并安装和访问 Windows 和 Linux 台式机和服务器变体的虚拟机(VM),帮助我们公平竞争,并实际提高实验室的多功能性。选择符合您预算和偏好的产品。诸如 Oracle 的 Virtual Box、VMWare 的 Workstation 或 Fusion、Citrix Xen 甚至 Parelles(在 Mac 上)等选项都很受欢迎。web 应用渗透测试中的性能没有其他形式中的性能那么重要,因为我们在大多数工作中不会进行实时破解或散列。

应该注意的是,您当然可以使用专用服务器或基本(物理)主机和网络设备来构建实验室,但我们可以使用虚拟沙盒来完成本书中的所有工作。在实际操作中,更常见的情况是,专业笔测试人员使用虚拟机来执行测试,因为虚拟机有助于确保客户进行适当的消毒和隔离。测试人员只能将虚拟机托管在可移动或网络驱动器上,并在项目完成时删除虚拟机。

我们的渗透测试主机

我们将使用 Kali Linux 的最新版本(撰写本书时为 2016.2 版),使用其存储库中的现成虚拟机(https://www.offensive-security.com/kali-linux-vmware-virtualbox-image-download/ )。我鼓励修改映像以具有更大的分区(我使用 1 TB 混合 USB 3.0 驱动器存储所有映像,并将 Kali 映像设置为 100GB 的单个分区)。这个较大的占地面积将容纳大量的网站档案和数据收集。如果需要,还可以启用其他虚拟网络接口卡(NIC),但我使用 VMWare Fusion 的机器设置将单个 NIC 映射到所需的每种连接形式的相应接口。对于 MITM 攻击,我们将提供第二个 NIC。

创造目标丰富的环境

我们将遇到的大多数服务器目标将托管在 Linux 或 Windows 操作系统上,客户端将是 Linux、Windows、Mac OS 或 mobile(Android、iOS、Windows Phone 或 Blackberry)。让我们分别考虑服务器端和客户端。

发现容易上当受骗的服务器

如果您拥有活动的Microsoft Developers ProgramMSDP许可证,您可以使用这些图像进行测试;但对于没有预算支持的其他人来说,你可以从微软的评估中心网站(上下载几乎任何操作系统或软件包的完整版本,评估期为 60 到 180 天 https://www.microsoft.com/en-us/evalcenter/ )。这两种选择都是合适的,但经常需要重新开始,而且评估许可证的成本不存在,这使得后者是一个非常合适的选择。我建议至少可以访问 MS Server 2008、2012 和 2016 的映像,并为 IIS 和其他重要 web 服务配置映像。

Linux 客户端更容易。您可以找到几乎任何您需要的变体的选项;对于企业/商业变体,您可以找到一个免费的、社区支持的近似值,非常接近。大多数用于 web 服务的 Linux 实现不仅包括 Linux 操作系统,还包括相应的 ApacheWeb 服务器、MySQL 数据库和 PHP 版本,它们共同构成了 LAMP web 堆栈。拥有 Debian、Ubuntu、CentOS(用于 Red Hat targets)、Fedora 或 SuSE Linux 的当前映像可以确保您为任何潜在场景做好准备。

对于有抱负的 pen 测试人员来说,最好的事情是出现了可黑客攻击的服务器 VM,其中有几个允许对各种各样的漏洞进行尝试。Rapid7 发布并支持 Metasploitable VM(https://information.rapid7.com/metasploitable-download.html ),这在牙齿中稍长,但在一般渗透测试中非常值得实践。然而,Web 渗透测试得益于带有预配置应用的适当映像,因此我们可以直接使用有趣的东西。感兴趣的图像是该死的易受攻击的 Web 应用DVWAhttp://www.dvwa.co.uk ),OWASP 破网应用(https://sourceforge.net/projects/owaspbwa/files/ 和 Beebox 虚拟机(基于虚拟机的 Buggy Web 应用或*bwAPP 版本)*模块,可从获取 http://www.itsecgames.com 。可在 VulnHub(处)找到额外的练习虚拟机 https://www.vulnhub.com/

不知情客户

如果您不愿意为了下载合适的 MS 桌面操作系统而披露信息和创建帐户,您还可以下载 Microsoft 鼓励测试人员和开发人员使用的操作系统和浏览器组合图像(https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/ )。为了完整性起见,您需要选择 Windows 7、8 和 10 主机;在书中的不同点上,尝试各种可用的浏览器(Internet Explorer/Edge、Firefox、Chrome 等)是有意义的。虽然 MSDN、Eval Center 和开发者下载都可以工作,但为了便于设置新环境,后一种方法足以完成我的大部分准备工作。

移动设备操作系统可以虚拟运行,成功率参差不齐,iOS 是唯一的障碍(祝你好运,iOS 可以虚拟运行!)我们的大多数技术都会单独利用浏览器,因此使用浏览器插件或开发工具配置就可以做到这一点。从 Firefox 或 Chrome 快速搜索用户代理浏览器转换器将产生允许桌面浏览器模拟任何数量的其他浏览器的工具,包括移动浏览器和基于桌面的浏览器。我尽可能使用 Kali 虚拟机的 Firefox 或 Iceweasel 浏览器,在同一虚拟机上使用 Chrome 浏览器,或者在适当的 Windows 虚拟机上使用 IE/Edge、Safari 或其他浏览器,或者根据需要使用笔记本电脑的浏览器。

总结


Web 应用渗透测试可能是一项重大任务。没有计划就是计划失败;我们必须有一个定义良好的流程或测试框架,该流程或测试框架既能被我们的技术团队充分理解,也能得到客户管理层的认可,以便在他们的环境中使用。笔试不可避免地迫使我们了解工作的一些非技术方面。当我们针对我们不拥有的应用,跨越由第三方提供的基础设施时,我们肯定必须遵守众多利益相关者的各种规则和道德规范。实现这种理解有很多不同的角度,所以至少这应该是一个深思熟虑的过程

在这一章中,我们看了一些比较流行的测试方法和框架,我们可以从这些方法和框架中建立我们自己的过程和实践。我们还花了一些时间研究如何界定我们的法律和道德责任。与黑帽黑客不同,我们在这里帮助客户抵御攻击,因此我们有规则要遵循。在定义我们的过程和理解我们的边界方面,所有的家庭作业都是针对我们组合在一起的沙箱进行测试的,我们涵盖了建立自己的沙箱或实验室的一些方面。您自己的环境可能看起来非常不同:不同的人有不同的笔划!

在下一章中,我们将最终开始深入研究如何侦察和确定目标范围。我们将研究可用于进行非侵入性扫描和远离目标站点雷达的工具,深入了解这些工具的结构,揭示潜在的访问向量,并对邻接和感兴趣的注释进行分类,以便在测试的后期阶段提供帮助。让我们开始吧!