[发明专利]JavaScript路径枚举在审
申请号: | 201710705774.8 | 申请日: | 2017-08-17 |
公开(公告)号: | CN107808097A | 公开(公告)日: | 2018-03-16 |
发明(设计)人: | K·A·威廉姆斯;S·A·米勒;S·D·哈德曼 | 申请(专利权)人: | 安提特软件有限责任公司 |
主分类号: | G06F21/57 | 分类号: | G06F21/57 |
代理公司: | 北京德琦知识产权代理有限公司11018 | 代理人: | 康泉,宋志强 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | javascript 路径 枚举 | ||
背景技术
可以测试web页/应用程序以确保可开发的漏洞的来源。这些漏洞的一个来源可以是可执行的JavaScript代码。因为这些应用程序通常是大型的、复杂的并与web服务相互关联,所以可以执行JavaScript分析以暴露可攻击的入口点。
附图说明
以下详细描述参考附图,其中:
图1是用于JavaScript路径枚举的示例环境的框图;
图2是用于JavaScript路径枚举的示例方法的流程图;
图3是用于文档对象模型调整和枚举的另一示例方法的流程图;
图4是用于JavaScript路径枚举的示例方法的流程图;
图5是用于JavaScript路径枚举的示例系统的框图。
具体实施方式
在正常操作期间,浏览器中的web页可以执行JavaScript代码并对定时器事件、实时用户事件(诸如按键和鼠标点击)等做出反应。所得到的调用链和代码流可以构成一组允许的或计划的执行。作为示例,针对在JavaScript代码中的“if-else”分支路径,代码可以遵循由当前程序状态所指示的路径。它可以运行“if”或“else”,但不是两者均运行。
该正常代码流是正确的程序操作,但是可以不包括来自恶意施动者(actor)的可能攻击点。然而,正确的浏览器执行可以不是对于这些施动者的约束。恶意施动者可以分析源代码并进行关于代码如何与web服务器交互的推论以确定JavaScript代码的非计划(unintended)执行。示例是上述的相同的“if-else”。浏览器的计划(intended)执行可以指示在某个情境中采取“if”路径。该计划路径可以称作“正常”路径。然而,两种代码路径可以包含对服务器的AJAX网络调用并且该AJAX调用可以是将被利用的入口点。熟练的攻击者可以修改一组攻击以通过遵循非计划路径来尝试并制作如果代码替代“if”路径而进入“else”路径将发生的网络请求。该非计划路径可以称作“黑暗路径”。
在此所述的JavaScript路径枚举技术可有助于自动地探索在正常浏览器操作期间不会发生但是如果执行黑暗路径则可以由入侵者用作攻击点的这些黑暗路径。用于JavaScript路径枚举的示例方法可以包括接收与包括多个可执行JavaScript代码的HTML页面结构对应的代码以及枚举JavaScript代码中的分支路径。该方法可以包括确定在浏览器执行JavaScript代码的正常操作期间将不会执行的分支路径的分支。该方法还可以包括生成用于分支的人工条件以及使用人工条件执行分支。
图1是JavaScript路径枚举可以是有用的示例环境100的框图。环境100可以包括具有文档对象模型104、执行引擎106以及浏览器108的堆栈102。文档对象模型(DOM)104是超文本标示语言(HTML)页面结构的内部表示,即,它是反映web页的树型结构。初始页面可以来自web服务器并可以渲染至浏览器中作为HTML以及可以在HTML页面加载之后执行的其他代码(诸如JavaScript(JS)代码)。一旦渲染,则可以与页面交互(例如通过点击、按键、和定时器事件等)以引起页面改变。这些交互可以引起将DOM 104改变为添加至DOM、从DOM删除、DOM改变等的形式。这些对DOM的改变可以称作“DOM突变”。
执行引擎106可以执行来自HTML页面结构的代码。例如,执行引擎106可以是执行JavaScript代码的JavaScript引擎。浏览器108可以用于解释HTML页面结构以及由DOM 104表示的可执行代码。在一些方面中,浏览器108可以是模拟人类操作者并且还内部追踪DOM状态变化的“无头(headless)”浏览器。无头浏览器可以使用异步的JavaScript和XML协议(AJAX)对服务器进行调用。无头浏览器可以模拟传统的浏览器如何动作但是可以不渲染图形用户界面(GUI)。通过不渲染GUI,环境100可以提高安全扫描/分析的速度。浏览器108还可以访问由传统浏览器所禁止和/或隐藏的某些值和动作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于安提特软件有限责任公司,未经安提特软件有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710705774.8/2.html,转载请声明来源钻瓜专利网。