Finding Server-Side Endpoints with Static Analysis of Client-Side Java']JavaScript

被引:0
作者
Sigalov, Daniil [1 ,2 ]
Gamayunov, Dennis [1 ,2 ]
机构
[1] Lomonosov Moscow State Univ, Moscow, Russia
[2] SolidSoft LLC, Moscow, Russia
来源
COMPUTER SECURITY. ESORICS 2023 INTERNATIONAL WORKSHOPS, CPS4CIP, PT II | 2024年 / 14399卷
关键词
Web applications; Static analysis; !text type='Java']Java[!/text]Script;
D O I
10.1007/978-3-031-54129-2_26
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Determining server HTTP endpoints - essentially, revealing server's attack surface - is a crucial step of every black-box web security scanner. An indispensable method of doing that is inferring server endpoints from client side, discovering what HTTP requests can be sent from client to server. This is easy for requests triggered by HTML markup elements, such as links and forms, but is difficult for requests sent by JavaScript. Existing approaches to determining requests sent from JavaScript are based on a technique known as dynamic crawling automated interaction with web page elements using a headless browser. Dynamic crawling fails when the code that sends a request is impossible or very hard to trigger with interface interaction. We propose a different approach for finding HTTP requests sent by JS code, which uses static code analysis. While analyzing JavaScript statically is known to be hard and applying existing analyzers to real-world web pages usually does not work, we propose a new lightweight analysis algorithm that can work on pages of real websites, and can discover server endpoints that dynamic crawlers cannot. Evaluation results show that augmenting a black-box scanner with the proposed static analysis may significantly improve server-side endpoint coverage.
引用
收藏
页码:442 / 458
页数:17
相关论文
共 41 条
  • [1] Acunetix Homepage, About us
  • [2] Andreasen E, 2014, ACM SIGPLAN NOTICES, V49, P17, DOI [10.1145/2660193.2660214, 10.1145/2714064.2660214]
  • [3] [Anonymous], Usage statistics of client-side programming languages
  • [4] [Anonymous], Web Input Vector Extractor Teaser
  • [5] [Anonymous], Ajax Search Lite plugin for WordPress (version 4.11.2)
  • [6] [Anonymous], HCL AppScan
  • [7] [Anonymous], Babel library
  • [8] [Anonymous], Htcap 1.1.0
  • [9] [Anonymous], Damn vulnerable web application
  • [10] [Anonymous], PT Bbs