skip to main content
10.1145/2508859.2516703acmconferencesArticle/Chapter ViewAbstractPublication PagesccsConference Proceedingsconference-collections
research-article

25 million flows later: large-scale detection of DOM-based XSS

Published: 04 November 2013 Publication History

Abstract

In recent years, the Web witnessed a move towards sophis- ticated client-side functionality. This shift caused a signifi- cant increase in complexity of deployed JavaScript code and thus, a proportional growth in potential client-side vulnera- bilities, with DOM-based Cross-site Scripting being a high impact representative of such security issues. In this paper, we present a fully automated system to detect and validate DOM-based XSS vulnerabilities, consisting of a taint-aware JavaScript engine and corresponding DOM implementation as well as a context-sensitive exploit generation approach. Using these components, we conducted a large-scale analysis of the Alexa top 5000. In this study, we identified 6167 unique vulnerabilities distributed over 480 domains, show- ing that 9,6% of the examined sites carry at least one DOM- based XSS problem.

References

[1]
Bates, D., Barth, A., and Jackson, C. Regular expressions considered harmful in client-side XSS filters. In WWW '10: Proceedings of the 19th international conference on World wide web (New York, NY, USA, 2010), ACM, pp. 91--100.
[2]
Bisht, P., and Venkatakrishnan, V. N. XSS-GUARD: Precise dynamic detection of cross-site scripting attacks. In Detection of Intrusions and Malware & Vulnerability Assessment (DIMVA'08) (2008).
[3]
CERT. Advisory ca-2000-02 malicious html tags embedded in client web requests, February 2000.
[4]
Conti, J. J., and Russo, A. A taint mode for python via a library. In NordSec (2010), T. Aura, K. J\"arvinen, and K. Nyberg, Eds., vol. 7127 of Lecture Notes in Computer Science, Springer, pp. 210--222.
[5]
Criscione, C. Drinking the Ocean - Finding XSS at Google Scale. Talk at the Google Test Automation Conference, (GTAC'13), http://goo.gl/8qqHA, April 2013.
[6]
d'Amore, F., and Gentile, M. Automatic and context-aware cross-site scripting filter evasion. Department of Computer, Control, and Management Engineering Antonio Ruberti Technical Reports 1, 4 (2012).
[7]
Di Paola, S. DominatorPro: Securing Next Generation of Web Applications. {software}, https://dominator.mindedsecurity.com/, 2012.
[8]
Google Developers. Chrome Extensions - Developer's Guide. {online}, http://developer.chrome.com/extensions/devguide.html, last access 06/05/13, 2012.
[9]
Guarnieri, S., Pistoia, M., Tripp, O., Dolby, J., Teilhet, S., and Berg, R. Saving the world wide web from vulnerable javascript. In ISSTA (2011), M. B. Dwyer and F. Tip, Eds., ACM, pp. 177--187.
[10]
Guha, A., Krishnamurthi, S., and Jim, T. Using static analysis for Ajax intrusion detection. In Proceedings of the 18th international conference on World wide web (WWW'09) (New York, NY, USA, 2009), ACM, pp. 561--570.
[11]
Hanna, S., Chul, E., Shin, R., Akhawe, D., Boehm, A., Saxena, P., and Song, D. The emperor's new apis: On the (in) secure usage of new client-side primitives. In Web 2.0 Security and Privacy (W2SP 2010) (2010).
[12]
Heiderich, M., Nava, E., Heyes, G., and Lindsay, D. Web Application Obfuscation: -/WAFs.Evasion.Filters//alert (/Obfuscation/)-. Elsevier/Syngress, 2010.
[13]
Heyes, G. Bypassing XSS Auditor. {online}, http://www.thespanner.co.uk/2013/02/19/bypassing-xss-auditor/, last accessed 08/05/13, February 2013.
[14]
Jovanovic, N., Kruegel, C., and Kirda, E. Pixy: A Static Analysis Tool for Detecting Web Application Vulnerabilities. In IEEE Symposium on Security and Privacy (May 2006).
[15]
Kieyzun, A., Guo, P. J., Jayaraman, K., and Ernst, M. D. Automatic creation of sql injection and cross-site scripting attacks. In Proceedings of the 31st International Conference on Software Engineering (Washington, DC, USA, 2009), ICSE '09, IEEE Computer Society, pp. 199--209.
[16]
Klein, A. Dom based cross site scripting or xss of the third kind. Web Application Security Consortium, Articles 4 (2005).
[17]
Lekies, S., and Johns, M. Lightweight Integrity Protection for Web Storage-driven Content Caching. In 6th Workshop on Web 2.0 Security and Privacy (W2SP 2012) (May 2012).
[18]
Martin, M., and Lam, M. S. Automatic Generation of XSS and SQL Injection Attacks with Goal-Directed Model Checking. In Usenix Security (2008).
[19]
Nadji, Y., Saxena, P., and Song, D. Document Structure Integrity: A Robust Basis for Cross-site Scripting Defense. In Network & Distributed System Security Symposium (NDSS 2009) (2009).
[20]
Nguyen-Tuong, A., Guarnieri, S., Greene, D., Shirley, J., and Evans, D. Automatically hardening web applications using precise tainting. In 20th IFIP International Information Security Conference (May 2005).
[21]
Nikiforakis, N. Bypassing Chrome's Anti-XSS filter. {online}, http://blog.securitee.org/?p=37, last access 08/05/13, September 2011.
[22]
Nikiforakis, N., Invernizzi, L., Kapravelos, A., Acker, S. V., Joosen, W., Kruegel, C., Piessens, F., and Vigna, G. You Are What You Include: Large-scale Evaluation of Remote JavaScript Inclusions. In 19th ACM Conference on Computer and Communications Security (CCS 2012) (2012).
[23]
Pietraszek, T., and Berghe, C. V. Defending against Injection Attacks through Context-Sensitive String Evaluation. In Recent Advances in Intrusion Detection (RAID2005) (2005).
[24]
Richards, G., Hammer, C., Burg, B., and Vitek, J. The eval that men do - a large-scale study of the use of eval in javascript applications. In ECOOP (2011), M. Mezini, Ed., vol. 6813 of Lecture Notes in Computer Science, Springer, pp. 52--78.
[25]
Saxena, P., Hanna, S., Poosankam, P., and Song, D. FLAX: Systematic Discovery of Client-side Validation Vulnerabilities in Rich Web Applications. In NDSS (2010), The Internet Society.
[26]
Son, S., and Shmatikov, V. The Postman Always Rings Twice: Attacking and Defending postMessage in HTML5 Websites. In Network and Distributed System Security Symposium (NDSS'13) (2013).
[27]
Su, Z., and Wassermann, G. The Essence of Command Injection Attacks in Web Applications. In Proceedings of POPL'06 (January 2006).
[28]
Tripp, O., Pistoia, M., Fink, S. J., Sridharan, M., and Weisman, O. TAJ: Effective Taint Analysis for Java. In ACM SIGPLAN 2009 Conference on Programming Language Design and Implementation (PLDI 2009) (June 2009).
[29]
Vikram, K., Prateek, A., and Livshits, B. Ripley: Automatically securing distributed Web applications through replicated execution. In Conference on Computer and Communications Security (Oct. 2009).
[30]
Vogt, P., Nentwich, F., Jovanovic, N., Kruegel, C., Kirda, E., and Vigna, G. Cross Site Scripting Prevention with Dynamic Data Tainting and Static Analysis. In 14th Annual Network and Distributed System Security Symposium (NDSS 2007) (2007).
[31]
Wassermann, G., and Su, Z. Sound and Precise Analysis of Web Applications for Injection Vulnerabilities. In Proceedings of Programming Language Design and Implementation (PLDI'07) (San Diego, CA, June 10--13 2007).
[32]
Xie, Y., and Aiken, A. Static Detection of Security Vulnerabilities in Scripting Languages. In 15th USENIX Security Symposium (2006).
[33]
Xu, W., Bhatkar, S., and Sekar, R. Taint-Enhanced Policy Enforcement: A Practical Approach to Defeat a Wide Range of Attacks. In 15th USENIX Security Symposium (August 2006).
[34]
Yue, C., and Wang, H. Characterizing insecure javascript practices on the web. In WWW (2009), J. Quemada, G. León, Y. S. Maarek, and W. Nejdl, Eds., ACM, pp. 961--970.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
CCS '13: Proceedings of the 2013 ACM SIGSAC conference on Computer & communications security
November 2013
1530 pages
ISBN:9781450324779
DOI:10.1145/2508859
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 04 November 2013

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. dom-based xss
  2. exploit generation
  3. taint tracking
  4. vulnerability detection

Qualifiers

  • Research-article

Conference

CCS'13
Sponsor:

Acceptance Rates

CCS '13 Paper Acceptance Rate 105 of 530 submissions, 20%;
Overall Acceptance Rate 1,261 of 6,999 submissions, 18%

Upcoming Conference

CCS '25

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)120
  • Downloads (Last 6 weeks)17
Reflects downloads up to 06 Nov 2024

Other Metrics

Citations

Cited By

View all

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media