- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于模块化设计Web应用程序漏洞利用框架研究与开发
基于模块化设计Web应用程序漏洞利用框架研究与开发 摘 要:在Web渗透测试中,使用自动化工具进行漏洞利用向来是安全人员比较喜欢的一种手段。但随着Web应用的不断发展,传统的自动化安全工具已无法满足渗透测试员的需求。本文提出了一种全新的Web应用攻击模型,根据此模型设计了一个开放式的基于模块化设计的Web应用程序漏洞利用框架,并简述了其部分开发细节。该框架可以实现针对特定Web应用的定制化渗透测试并通过其高度自由的模块化定制实现各类拓展。 关键词:Web渗透测试;漏洞利用;模块化框架 中图分类号:TP311.10 1 Web渗透测试中的自动化攻击难题 随着Web应用越来越广泛,Web安全威胁日益凸显。在这种情况下,互联网上涌现出一大批Web安全测试工具,安全人员也往往喜欢使用这些自动化工具对目标站点进行安全测试。使用工具攻击可以避免人工进行重复工作,减少安全人员的工作量,但随着Web应用的进一步发展,传统自动化工具也面临着诸多问题。 传统Web应用程序自动化工具普遍基于Fuzzing技术,通过向目标输入大量预先定义好的危险数据,观察站点响应,从而进行攻击。这类工具有几大天生的缺陷: 一是所有攻击向量均是事先定义好的,无法动态编辑,从而限制了攻击的灵活性,如果工具中现有向量对Web应用无法产生效果,则攻击便无法继续进行。且攻击缺乏针对性,无法针对目标漏洞进行精确打击。 二是攻击模式单一,传统自动化工具普遍采用“请求-响应”的攻击模式,但某些复杂的Web应用程序漏洞,在能够攻击漏洞前可能需要进行多次不同的请求,或是进行某些特定操作后才可以接触到漏洞页面,在这种情况下传 统自动化工具将无法产生任何效果。 三是捕获响应的手段有限,传统自动化工具捕获响应的格式通常是预先定义好的,只能使用通用的匹配模式进行响应数据的捕捉,实际应用中可能会无法捕获到Web应用返回的响应,因此不能从响应数据获取攻击结果。 四是由于开发者的安全意识逐步提升,不少Web系统都采取了一定的安全措施,包括输入过滤等。面对这些防御措施,传统的自动化工具的“无差别攻击”模式不仅无法绕过防御,还有可能因为触发了系统防御机制而使得连接被阻断。 五是相比客户端应用程序,Web应用程序普遍具有定制性,不同的单位为满足自身需要,会定制本单位专有的Web平台,这些平台在开发过程、编码规范等方面一般不会遵循同样的准则。这使得按照“标准”状况开发的自动化工具在应对一些“意外”情况时往往无能为力。 2 基于模块化的Web应用攻击 鉴于现有自动化Web安全工具存在以上种种缺陷,安全人员迫切需要一种全新的Web渗透测试自动化解决方案,新方案需要解决的主要问题便在于如何使自动化攻击可以根据目标特点进行调整与定制,针对指定目标,只需人工做出微小的调整,便可以使接下来的攻击自动进行,让攻击更加精确有效,且能够针对同一漏洞的攻击可以很方便地实施重放。为此,我们需要构建一个全新的模型来满足这些要求。 针对Web应用的攻击从本质上来说就是发送一个个经过精心构造的http请求,因此我们可以将一次完整的针对Web应用程序的攻击抽象为一个模型。模型划分为两部分:攻击模式和攻击向量。攻击模式指的是发起攻击的http请求模式,它定义了http请求的顺序、请求路径、完成请求所需的合法变量,及攻击数据的输入点。攻击向量指的是在该次攻击中输入的危险数据,通过这些输入可以对目标造成不同的攻击效果,此外,攻击向量还定义了捕获响应数据的方式,因此可以根据不同的输入攻击数据在不同的响应中获取相应的攻击结果。 这种模块化的Web应用攻击模型实现了“攻击模式”与“攻击向量”的分离,将二者变为两个独立的模块。在实际渗透测试过程中,攻击向量即向服务端注入的恶意代码,它往往是可以重用的,而攻击模式则根据目标自身的特点会有所变化。通过对两个模块的自由定制与组合,可以很方便地开发出针对特定Web应用程序漏洞的EXP(漏洞利用程序)与POC(漏洞证明)。 图1 模块化Web应用攻击模型 3 模块化Web应用程序漏洞利用框架的实现 3.1 整体构架 为了将上述模型应用于实际,我们需要开发一个应用程序,实现一个基于模块化设计的Web应用程序漏洞利用框架。该框架分为主程序和拓展模块。可以构建针对Web应用程序的攻击模式与攻击向量,通过将特定的攻击模式与攻击向量组合,即可以对目标应用发起定制化攻击。 主程序应包含完成底层网络通信所需的所有功能,可以构造任意Http请求以完成攻击,所有核心功能均在主程序中定义完成以供各个模块调用。 所有模块应该是可轻易拓展的,模块均有自己的接口规范,它们可以调用主程序中的相关函数,模块构建完成后不需经过编译即可直接在主程序中加载。
原创力文档


文档评论(0)