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 2013Publication 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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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). Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. CERT. Advisory ca-2000-02 malicious html tags embedded in client web requests, February 2000.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  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).Google ScholarGoogle Scholar
  7. Di Paola, S. DominatorPro: Securing Next Generation of Web Applications. {software}, https://dominator.mindedsecurity.com/, 2012.Google ScholarGoogle Scholar
  8. Google Developers. Chrome Extensions - Developer's Guide. {online}, http://developer.chrome.com/extensions/devguide.html, last access 06/05/13, 2012.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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).Google ScholarGoogle Scholar
  12. Heiderich, M., Nava, E., Heyes, G., and Lindsay, D. Web Application Obfuscation: -/WAFs..Evasion..Filters//alert (/Obfuscation/)-. Elsevier/Syngress, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  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). Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Klein, A. Dom based cross site scripting or xss of the third kind. Web Application Security Consortium, Articles 4 (2005).Google ScholarGoogle Scholar
  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).Google ScholarGoogle Scholar
  18. Martin, M., and Lam, M. S. Automatic Generation of XSS and SQL Injection Attacks with Goal-Directed Model Checking. In Usenix Security (2008). Google ScholarGoogle ScholarDigital LibraryDigital Library
  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).Google ScholarGoogle Scholar
  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).Google ScholarGoogle ScholarCross RefCross Ref
  21. Nikiforakis, N. Bypassing Chrome's Anti-XSS filter. {online}, http://blog.securitee.org/?p=37, last access 08/05/13, September 2011.Google ScholarGoogle Scholar
  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). Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Pietraszek, T., and Berghe, C. V. Defending against Injection Attacks through Context-Sensitive String Evaluation. In Recent Advances in Intrusion Detection (RAID2005) (2005). Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  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).Google ScholarGoogle Scholar
  27. Su, Z., and Wassermann, G. The Essence of Command Injection Attacks in Web Applications. In Proceedings of POPL'06 (January 2006). Google ScholarGoogle ScholarDigital LibraryDigital Library
  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). Google ScholarGoogle ScholarDigital LibraryDigital Library
  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). Google ScholarGoogle ScholarDigital LibraryDigital Library
  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).Google ScholarGoogle Scholar
  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). Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Xie, Y., and Aiken, A. Static Detection of Security Vulnerabilities in Scripting Languages. In 15th USENIX Security Symposium (2006). Google ScholarGoogle ScholarDigital LibraryDigital Library
  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). Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

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

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in
          • 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

            Copyright © 2013 ACM

            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].

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 4 November 2013

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article

            Acceptance Rates

            CCS '13 Paper Acceptance Rate105of530submissions,20%Overall Acceptance Rate1,261of6,999submissions,18%

            Upcoming Conference

            CCS '24
            ACM SIGSAC Conference on Computer and Communications Security
            October 14 - 18, 2024
            Salt Lake City , UT , USA

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader