【发布时间】:2012-11-24 21:18:22
【问题描述】:
我被告知要在我的一些银行旧 .asp 页面中找到跨站点脚本 (XSS) 的修复程序。
我对该主题进行了一些研究,但没有找到问题的答案。这是我第一次听说 XSS,也是我第一次看 ASP(虽然页面除了 HTML 什么都没有),而且我已经有 2 年左右没有接触网页设计了,所以我非常非常生疏。
例如,我有这个表格
<form method="POST" id="CH" name="CH" action="http://some_url/some.asp">
<input type="hidden" name="srv" value="1" ID="srv"/>
<TABLE border="0" cellpadding="0" cellspacing="0" width="100%" align="center">
<TR valign="top">
<TR>
<TD align="center">Input something here
<input name="input_something" type="text" class="field-no-fit" maxlength="12" value="">
</TD>
</TR>
</TR>
</TABLE>
</form>
如果我手动输入 URL(包含此表单)为
http://this_url/this.asp?1=%22%3E%3Cscript%3Ealert%28HelloWorld%29%3C/script%3E%3Cimg%20alt=%22%22%20src=%22
页面将加载,然后它会引发 javascript 警报并显示错误图像。
我的目标是在打开页面时阻止脚本运行。 我阅读了有关 Server.HTMLEncode 的信息,但找不到使用它来阻止脚本在页面加载时运行的方法。
提前致谢!
编辑:如果我将输入的值替换为: ""
我无法测试它,因为目前我无法访问 IE6,并且所有其他浏览器(包括 IE>6 版本)都避免了该错误(已在安全选项卡中禁用 XSS 过滤器,但它不起作用)
【问题讨论】:
-
您是否试图阻止 XSS 攻击?或者您只是想阻止所有 javascript 在页面上加载?
-
我正在努力防止 XSS 攻击是的 ;)
标签: asp-classic xss javascript-injection