jÄk: Using Dynamic Analysis to Crawl and Test Modern Web Applications

jÄk: Using Dynamic Analysis to Crawl and Test Modern Web Applications
复制标题

DOI:
10.1007/978-3-319-26362-5_14
复制
发表时间:
2015-11
期刊:
--
影响因子:
--
通讯作者:
Giancarlo Pellegrino;Constantin Tschürtz;E. Bodden;C. Rossow
Giancarlo Pellegrino;Constantin Tschürtz;E. Bodden;C. Rossow
中科院分区:
其他
文献类型:
--
作者:
Giancarlo Pellegrino;Constantin Tschürtz;E. Bodden;C. Rossow

文献摘要

被引文献

相似文献

Web应用程序扫描器是执行黑盒测试的流行工具,广泛用于发现网站中的错误。为了使它们有效地工作,它们要么依赖于一组可以测试的URL,要么使用自己的rawler实现来发现Web应用程序的新部分。传统的爬虫通过解析HTML文档和应用静态正则表达式来提取新的URL。虽然这种方法可以提取的URL在经典的Web应用程序,它未能探索大部分现代JavaScript为基础的application.In本文中,我们提出了一种新的技术来探索Web应用程序的基础上动态分析的客户端JavaScript程序。我们使用动态分析来挂钩JavaScript API,这使我们能够检测事件的注册、网络通信API的使用以及动态生成的URL或用户表单。然后,我们建议使用导航图来执行进一步的爬行。基于这种新的爬行技术,我们提出了一个Web应用程序扫描器。我们将jek与四种现有的Web应用程序扫描器在13个Web应用程序上进行了比较。实验表明,我们的方法可以探索的Web应用程序的表面是86%以上,比现有的方法。
Web application scanners are popular tools to perform black box testing and are widely used to discover bugs in websites. For them to work effectively, they either rely on a set of URLs that they can test, or use their own implementation of acrawlerthat discovers new parts of a web application. Traditional crawlers would extract new URLs by parsing HTML documents and applying static regular expressions. While this approach can extract URLs in classic web applications, it fails to explore large parts of modern JavaScript-based applications.In this paper, we present a novel technique to explore web applications based on the dynamic analysis of the client-side JavaScript program. We use dynamic analysis to hook JavaScript APIs, which enables us to detect the registration of events, the use of network communication APIs, and dynamically-generated URLs or user forms. We then propose to use a navigation graph to perform further crawling. Based on this new crawling technique, we presentjÄk, a web application scanner. We comparejÄkagainst four existing web-application scanners on 13 web applications. The experiments show that our approach can explore a surface of the web applications that is 86 % larger than with existing approaches.