我在asp.net 4.5中托管了一个站点。我从特定网址收到了一些例外。
例外: "无法加载文件或程序集' http'或其中一个依赖项。系统找不到指定的文件。"
URL " 的Default.aspx _TSM_CombinedScripts _ = http://some-inexistent-website.acu/some_inexistent_file_with_long_name?.123,%20Culture=neutral,%20PublicKeyToken=28f01b0e84b6d53e:en-US:e669ce41-1aa1-4541-aae9-fa5dc37e70db:475a4ef5:effe2a26:7e63a579&_TSM_HiddenField_=MainContent_objucSignUp_atsm_HiddenField "
我认为有人在我的网站上尝试过使用恶意链接的XSS。
我检查了页面的查看源,发现AjaxToolKit创建了类似下面的src链接,在浏览器中完全加载而没有错误。
的Default.aspx _TSM_HiddenField_ = MainContent_objucSignUp_atsm_HiddenField&安培; _TSM_CombinedScripts _ =%3B%3BAjaxControlToolkit%2C%20Version%3D4.5.7.123%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D28f01b0e84b6d53e%3Aen-US%3Ae669ce41-1aa1 -4541-aae9-fa5dc37e70db%3A475a4ef5%3Aeffe2a26%3A7e63a579
区别在于#34; some-inexistent-website.acu / some_inexistent_file_with_long_name?.123,"和#34; AjaxControlToolkit"在两个URL中。
在以前的URL中,如果我替换了#34; some-inexistent-website.acu / some_inexistent_file_with_long_name?.123 ,"使用" AjaxControlToolkit "然后它运作正常。
如何处理此类恶意链接以便不生成异常?
我正在考虑有" _TSM_CombinedScripts "部分在URL中,但没有" AjaxControlToolkit "在它。
这是最好的解决方法吗?
我可以通过其他方式阻止此类网址生成异常吗?
答案 0 :(得分:2)
我已经用ScriptManager替换了ToolScriptManager,因为最新的scriptmanager被增强,以结合ToolScriptManager的功能。
这对我有用,可以覆盖这个问题。
答案 1 :(得分:0)
看起来攻击者正在搜索某种类型的远程文件包含攻击,但这看起来并不像一个非常复杂的攻击,可能是一些自动脚本试图在任何地方注入所有内容
但无论如何我都在想 - 为什么你这么糟糕以防止输入错误的错误?防止此特定错误不会有任何好处,可能有数以千计的其他方法导致您的应用中出现错误,只要您不显示详细的错误消息并将用户重定向到一般错误页面,不会显示错误原因(出于支持目的,您可以显示与日志记录对应的自动递增代码)。
在最极端的情况下,如果有人产生例外以轰炸您的日志,您可以尝试使用防DDoS和限制解决方案来防止洪水泛滥。