Cross-site scripting (XSS) is the most common vulnerability class in web applications over the last decade. Much research attention has focused on building exploit mitigation defenses for this problem, but no technique provides adequate protection in the face of advanced attacks. One technique that bypasses XSS mitigations is the scriptless attack: a content injection technique that uses (among other options) CSS and HTML injection to infiltrate data. In studying this technique and others, we realized that the common property among the exploitation of all content injection vulnerabilities, including not just XSS and scriptless attacks, but also command injections and several others, is an unintended context switch in the victim program's parsing engine that is caused by untrusted user input. In this paper, we propose Context-Auditor, a novel technique that leverages this insight to identify content injection vulnerabilities ranging from XSS to scriptless attacks and command injections. We implemented Context-Auditor as a general solution to content injection exploit detection problem in the form of a flexible, stand-alone detection module. We deployed instances of Context-Auditor as (1) a browser plugin, (2) a web proxy (3) a web server plugin, and (4) as a wrapper around potentially-injectable system endpoints. Because Context-Auditor targets the root cause of content injection exploitation (and, more specifically for the purpose of our prototype, XSS exploitation, scriptless exploitation, and command injection), our evaluation results demonstrate that Context-Auditor can identify and block content injection exploits that modern defenses cannot while maintaining low throughput overhead and avoiding false positives.
翻译:跨网站脚本( XSS) 是过去十年来在网络应用中最常见的脆弱性类别。 许多研究关注的焦点都集中在为这一问题开发减轻风险的防御,但没有任何技术能提供应对先进攻击的足够保护。 绕过 XSS 缓解的一个技术是无文字攻击:内容注入技术,使用(除其他选项外) CSS 和 HTML 注入来渗透数据。 在研究这一技术和其他技术时,我们认识到,利用所有内容注入脆弱性的共同特性,不仅包括 XSS 和无脚本攻击,而且还命令注射和若干其他技术,是受害者方案解析引擎的意外环境变换,这是不受信任的用户投入造成的。 在本文中,我们建议了“ 环境审计”, 这是一种利用这种洞见来识别内容注入从 XSS 到无脚本攻击和指令注入数据。 我们应用了“ 环境- 分析” 作为内容注入的一般解决办法, 以灵活、 独立、 保存模块的形式, 我们部署了“ 环境- 调查”, 作为浏览器内部分析” 工具, 和“ 目的”, 具体来说, 可以展示“ 目的” 利用“ 和“ 利用” 工具” 工具” 的“, 工具” 利用“,,, 以及“ 和“ 利用” 工具” 利用” 工具”,,, 而不是“,,, 和“, 通过“,,,, 通过“,,, 和“,,,, 和“ 等“,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,