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 条
  • [21] Jawa: Web Archival in the Era of Java']JavaScript
    Goel, Ayush
    Zhu, Jingyuan
    Netravali, Ravi
    Madhyastha, Harsha V.
    PROCEEDINGS OF THE 16TH USENIX SYMPOSIUM ON OPERATING SYSTEMS DESIGN AND IMPLEMENTATION, OSDI 2022, 2022, : 805 - 820
  • [22] Pedagogic coaching with web browsers and Java']JavaScript
    Hagler, M
    ITHET 2004: PROCEEDINGS OF THE FIFTH INTERNATIONAL CONFERENCE ON INFORMATION TECHNOLOGY BASED HIGHER EDUCATION AND TRAINING, 2004, : 162 - 166
  • [23] JS']JSNOSE: Detecting Java']JavaScript Code Smells
    Fard, Amin Milani
    Mesbah, Ali
    2013 IEEE 13TH INTERNATIONAL WORKING CONFERENCE ON SOURCE CODE ANALYSIS AND MANIPULATION (SCAM), 2013, : 116 - 125
  • [24] Guided Mutation Testing for Java']JavaScript Web Applications
    Mirshokraie, Shabnam
    Mesbah, Ali
    Pattabiraman, Karthik
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2015, 41 (05) : 429 - 444
  • [25] Expanding the Frontiers of Web Audio With Autoencoders and Java']JavaScript
    Camara, Mateo
    Luis Blanco, Jose
    JOURNAL OF THE AUDIO ENGINEERING SOCIETY, 2022, 70 (11): : 979 - 989
  • [26] Parallel Java']JavaScript Execution in Web Navigation Sequences
    Losada, Jose
    Raposo, Juan
    Pan, Alberto
    Montoto, Paula
    Alvarez, Manuel
    2015 IEEE/WIC/ACM INTERNATIONAL CONFERENCE ON WEB INTELLIGENCE AND INTELLIGENT AGENT TECHNOLOGY (WI-IAT), VOL 1, 2015, : 284 - 291
  • [27] A Measurement Study of Insecure Java']JavaScript Practices on the Web
    Yue, Chuan
    Wang, Haining
    ACM TRANSACTIONS ON THE WEB, 2013, 7 (02)
  • [28] A Framework for Automated Testing of Java']JavaScript Web Applications
    Artzi, Shay
    Dolby, Julian
    Jensen, Simon Holm
    Moller, Anders
    Tip, Frank
    2011 33RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2011, : 571 - 580
  • [29] Designing with java']javascript: Creating dynamic web pages
    DeLoach, S
    TECHNICAL COMMUNICATION, 1999, 46 (03) : 400 - 403
  • [30] A design application using Java']JavaScript for the Web environment
    Yao, XH
    Sullivan, J
    Lakmazaheri, S
    COMPUTING IN CIVIL ENGINEERING, 1998, : 695 - 706