Detecting and Understanding Java']JavaScript Global Identifier Conflicts on the Web

被引:7
|
作者
Zhang, Mingxue [1 ]
Meng, Wei [1 ]
机构
[1] Chinese Univ Hong Kong Hong, Hong Kong, Peoples R China
关键词
!text type='Java']Java[!/text]Script; Identifier conflicts; Web applications;
D O I
10.1145/3368089.3409747
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
JavaScript is widely used for implementing client-side web applications, and it is common to include JavaScript code from many different hosts. However, in a web browser, all the scripts loaded in the same frame share a single global namespace. As a result, a script may read or even overwrite the global objects or functions in other scripts, causing unexpected behaviors. For example, a script can redefine a function in a different script as an object, so that any call of that function would cause an exception at run time. We systematically investigate the client-side JavaScript code integrity problem caused by JavaScript global identifier conflicts in this paper. We developed a browser-based analysis framework, JSO(BSERVER), to collect and analyze the write operations to global memory locations by JavaScript code. We identified three categories of conflicts using JSO(BSERVER) on the Alexa top 100K websites, and detected 145,918 conflicts on 31,615 websites. We reveal that JavaScript global identifier conflicts are prevalent and could cause behavior deviation at run time. In particular, we discovered that 1,611 redefined functions were called after being overwritten, and many scripts modified the value of cookies or redefined cookie-related functions. Our research demonstrated that JavaScript global identifier conflict is an emerging threat to both the web users and the integrity of web applications.
引用
收藏
页码:38 / 49
页数:12
相关论文
共 50 条
  • [11] Java']JavaScript primer plus: Enhancing Web pages with Java']JavaScript programming language
    Kelly, AG
    INTERNATIONAL JOURNAL OF INFORMATION MANAGEMENT, 1998, 18 (02) : 162 - 162
  • [12] Understanding Behavioural Patterns in Java']JavaScript
    Alimadadi, Saba
    FSE'16: PROCEEDINGS OF THE 2016 24TH ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON FOUNDATIONS OF SOFTWARE ENGINEERING, 2016, : 1076 - 1078
  • [13] Detecting malicious Java']JavaScript code in Mozilla
    Hallaraker, O
    Vigna, G
    ICECCS 2005: 10TH IEEE INTERNATIONAL CONFERENCE ON ENGINEERING OF COMPLEX COMPUTER SYSTEMS, PROCEEDINGS, 2005, : 85 - 94
  • [14] Detecting Inconsistencies in Java']JavaScript MVC Applications
    Ocariza, Frolin S., Jr.
    Pattabiraman, Karthik
    Mesbah, Ali
    2015 IEEE/ACM 37TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, VOL 1, 2015, : 325 - 335
  • [15] Detecting Malicious Behaviors in Java']JavaScript Applications
    Mao, Jian
    Bian, Jingdong
    Bai, Guangdong
    Wang, Ruilong
    Chen, Yue
    Xiao, Yinhao
    Liang, Zhenkai
    IEEE ACCESS, 2018, 6 : 12284 - 12294
  • [16] Elysia: Optimizing Java']JavaScript Web Framework
    Archiwaranguprok, Chayapatr
    Khunpanitchot, Kongkeit
    Mano, Phoomparin
    Toahchoodee, Manachai
    39TH ANNUAL ACM SYMPOSIUM ON APPLIED COMPUTING, SAC 2024, 2024, : 1789 - 1796
  • [17] Java']JavaScript and interactive web pages in radiology
    Gurney, JW
    JOURNAL OF THORACIC IMAGING, 2001, 16 (04) : 300 - 303
  • [18] Simpler Coordination of Java']JavaScript Web Workers
    Krauweel, Marco
    Jongmans, Sung-Shik T. Q.
    COORDINATION MODELS AND LANGUAGES, COORDINATION 2017, 2017, 10319 : 40 - 58
  • [19] Live Migration of Java']JavaScript Web Apps
    Lo, James
    Wohlstadter, Eric
    Mesbah, Ali
    PROCEEDINGS OF THE 22ND INTERNATIONAL CONFERENCE ON WORLD WIDE WEB (WWW'13 COMPANION), 2013, : 241 - 244
  • [20] Web pages that reproduce themselves by Java']JavaScript
    Kanada, Y
    ACM SIGPLAN NOTICES, 1997, 32 (11) : 49 - 56