我正在构建一些网页来测试各种漏洞场景,但是 ASP.Net 或 IIS 在保护我免受自己侵害方面做得太好了。
我正在尝试做的一件事是返回带有各种 Content-Type 标头的响应,带有和不带有字符集声明。我的问题是,如果我省略了字符集,那么 ASP.Net 似乎默认添加了 utf-8。
在我的 ASPX.cs 代码隐藏中,如果我有Response.AddHeader("Content-Type", "text/html")
or Page.ContentType = "test/html"
,我希望看到页面返回以下标题:
Content-Type: text/html
相反,我得到:
Content-Type: text/html; charset=utf-8
如果我使用Response.AddHeader("Content-Type", "text/html; charset=iso-8859-1")
,那么我会得到预期的标题:
Content-Type: text/html; charset=iso-8859-1
charset=utf-8
当我不想要它时,有没有办法阻止 ASP.Net(IIS?)附加到标题?
我正在使用 ASP.Net 4.0 和 IIS 7.5。