Splendor: Static Detection of Stored XSS in Modern Web Applications
In modern websites, stored Cross-Site Scripting (XSS) is the most dangerous XSS vulnerability, which can store payloads in the web system and be triggered directly by the victim. Database (DB) as the most commonly used storage medium for data on websites is therefore also the most common place where stored XSS occurs.
Due to the modularity of modern programming architectures, the complex underlying database operations will often be encapsulated and abstracted as a Data Access Layer (DAL) to provide unified data access services to the business layer.
The heavy use of Object-Oriented (OO) and dynamic language features involved in the encapsulation makes it increasingly challenging for static taint analysis tools to understand how tainted data flows between the source code and the exact locations in database.
In this paper, we propose the first static analysis framework for detecting stored XSS in modern web applications using DAL and implement a prototype \textsc{Splendor} for PHP code analysis.
The highlight in the framework is the design of a heuristic but precise token-matching method to locate the flows of taint data between database and source code. The precisions of the identified DB read and write (R/W) locations are 91.3% and 82.6%, respectively.
With the identified R/W locations, the disconnected taint paths can be statically stitched to obtain a complete taint propagation path of stored XSS.
Comparisons with existing works on 5 real-world applications and large-scale experiments on PHP web applications in Github show that \textsc{Splendor} significantly outperforms both the state-of-the-art static and dynamic approaches on stored-XSS detection, and detects 17 zero-day vulnerabilities.
Tue 18 JulDisplayed time zone: Pacific Time (US & Canada) change
15:30 - 17:00 | ISSTA Online 2: Static AnalysisTechnical Papers at Habib Classroom (Gates G01) Chair(s): Julian Dolby IBM Research | ||
15:30 10mTalk | Fine-Grained Code Clone Detection with Block-Based Splitting of Abstract Syntax Tree Technical Papers Tiancheng Hu Huazhong University of Science and Technology, Zijing Xu Huazhong University of Science and Technology, Yilin Fang Huazhong University of Science and Technology, Yueming Wu Nanyang Technological University, Bin Yuan Huazhong University of Science and Technology, Deqing Zou Huazhong University of Science and Technology, Hai Jin Huazhong University of Science and Technology DOI | ||
15:40 10mTalk | Hybrid Inlining: A Framework for Compositional and Context-Sensitive Static Analysis Technical Papers Jiangchao Liu Ant Group; ByteDance, Jierui Liu Ant Group, Peng Di Ant Group, Diyu Wu Ant Group, Hengjie Zheng Ant Group, Alex X. Liu Ant Group, Jingling Xue UNSW DOI | ||
15:50 10mTalk | CGuard: Scalable and Precise Object Bounds Protection for C Technical Papers Piyus Kedia IIIT Delhi, Rahul Purandare University of Nebraska-Lincoln, Udit Kumar Agarwal University of British Columbia, Rishabh GGSIPU DOI | ||
16:00 10mTalk | Reducing the Memory Footprint of IFDS-Based Data-Flow Analyses using Fine-Grained Garbage CollectionACM SIGSOFT Distinguished Artifact Technical Papers DOI | ||
16:10 10mTalk | GenCoG: A DSL-Based Approach to Generating Computation Graphs for TVM Testing Technical Papers Zihan Wang Shanghai Jiao Tong University, Pengbo Nie Shanghai Jiao Tong University, Xinyuan Miao Shanghai Jiao Tong University, Yuting Chen Shanghai Jiao Tong University, Chengcheng Wan East China Normal University, Lei Bu Nanjing University, Jianjun Zhao Kyushu University DOI | ||
16:20 10mTalk | Splendor: Static Detection of Stored XSS in Modern Web Applications Technical Papers He Su Institute of Information Engineering at Chinese Academy of Sciences, Feng Li Institute of Information Engineering at Chinese Academy of Sciences, Lili Xu Institute of Information Engineering at Chinese Academy of Sciences, Wenbo Hu Institute of Information Engineering at Chinese Academy of Sciences, Yujie Sun Institute of Information Engineering at Chinese Academy of Sciences, Qing Sun Institute of Information Engineering at Chinese Academy of Sciences, Huina Chao Institute of Information Engineering at Chinese Academy of Sciences, Wei Huo Institute of Information Engineering at Chinese Academy of Sciences DOI | ||
16:30 10mTalk | Improving Bit-Blasting for Nonlinear Integer ConstraintsACM SIGSOFT Distinguished Paper Technical Papers Fuqi Jia Institute of Software at Chinese Academy of Sciences; University of Chinese Academy of Sciences, Rui Han Institute of Software at Chinese Academy of Sciences; University of Chinese Academy of Sciences, Pei Huang Stanford University, Minghao Liu Institute of Software at Chinese Academy of Sciences; University of Chinese Academy of Sciences, Feifei Ma Institute of Software at Chinese Academy of Sciences; University of Chinese Academy of Sciences, Jian Zhang Institute of Software at Chinese Academy of Sciences; University of Chinese Academy of Sciences DOI | ||
16:40 10mTalk | Loop Invariant Inference through SMT Solving Enhanced Reinforcement Learning Technical Papers Shiwen Yu National University of Defense Technology, Ting Wang National University of Defense Technology, Ji Wang National University of Defense Technology DOI |