经典ASP - 防止HTTP头注入

时间:2015-10-20 14:40:25

标签: security asp-classic http-headers xss

我试图保护经典ASP Web应用程序免受HTTP Header注入XSS攻击,并且无法找到阻止用户代理字符串中找到的脚本的解决方案。

以下是对Web应用程序的HTTP请求示例:

HTTP Request
GET /WebApp/Login.aspx HTTP/1.1
Host: WebServer.Webapp.Com
User‐Agent: Mozilla/5.0 (X11; Linux x86_64; rv:41.0) Gecko/20100101 Firefox/41.0**alert(1)**
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept‐Language: en‐US,en;q=0.5
Accept‐Encoding: gzip, deflate
Cookie: ASP.NET_SessionId=foobarID
Connection: keep‐alive

基本上我们尝试做的是保持用户代理字符串中的警报脚本在加载页面时触发。我已经做了很多研究,并且没有能够为这个旧应用程序找到太多帮助。 我们确实将validateRequest和EnableHeaderChecking设置为true,但此脚本仍然执行。任何帮助都非常感谢。

1 个答案:

答案 0 :(得分:4)

问题来自用户代理字符串(带有恶意脚本)在底部的页面上呈现以进行调试。如果您遇到此问题,请检查您是否在页面上显示带有错误脚本的对象。

如果您愿意,请记住使用HTML编码安全地呈现它。

感谢the_lotus和Lankymart的快速解答。