在IIS上设置请求筛选以过滤查询字符串以拒绝特殊字符(例如“>”)。为什么IIS拒绝编码字符
甚至认为在特殊字符“>”编码为“%3c”的链接中,为什么链接仍然被IIS拒绝并生成404.18.0.0错误?
似乎IIS提前解码url,有什么办法阻止它这样做?
0
A
回答
0
在一个URI中的一个>
总是编码为。如果你直接在一个URI中有一个>
它不会是一个URI,它会是随机的垃圾。要求禁止>
并禁止要求同样的事情。
相反的是,它是有逃避,如果你在一个URI有%41
它应该被视为完全一样的一种手段,如果你有A
有整点的一部分。同样,如果你禁止A
,那么你也想禁止%41
,因为它们是一样的。 (例外的是,像/
这样的字符本身在URI中的重要性在转义时不应该被当作这样处理)。
由于禁止>
的一点是要避免XSS和其它的安全漏洞,如果>
是有效的转义的URI你仍然要禁止确保>
没有潜入不管它是不能处理它。
比较地,在2000年左右与IIS使用一些设置(错误地)把%c0%af
为/
(在不正确的UTF-8是超长),但受阻/../
读取文件的根目录以外的代码没有把它看成/
所以该块没有阻塞,并且确实可以从webroot的相同驱动器上的任何位置读取文件。您在询问是否有一种方法可以使您的系统同样容易受到使用的攻击而不会受到使用>
的攻击的攻击。即使这对于URI来说有意义,也很难看出为什么这是可取的。
相关问题
- 1. 为什么Firefox拒绝ttf字体
- 2. IIS拒绝Cookie
- 3. 为什么IIS拒绝我的Code.Behind标记?
- 4. 为什么我的推送被我拒绝后拒绝?
- 5. 什么是字符编码?
- 6. 为什么拒绝不起泡?
- 7. 为什么访问路径被拒绝?
- 8. 为什么mongodb拒绝ssl连接?
- 9. 为什么访问路径被拒绝?
- 10. 为什么ejabberd拒绝生成令牌?
- 11. 为什么g ++拒绝创建uic3.exe?
- 12. 确定为什么拒绝访问
- 13. 为什么不能拒绝小数? (C++)
- 14. DocumentDB,为什么replaceDocument请求被拒绝
- 15. 为什么Eclipse p2拒绝更新org.eclipse.equinox.simpleconfigurator?
- 16. 为什么contentEditable元素拒绝Enter键?
- 17. 为什么CCLabelAtlas [1]拒绝更新?
- 18. 为什么URL编码,或哪些字符编码
- 19. 设置为“拒绝拒绝”
- 20. 为什么base64编码的字符串使用字符+和/?
- 21. Json_encode拒绝字符串中的字符
- 22. 只拒绝密码中的字符串字符串
- 23. 为什么套接字会拒绝连接?
- 24. 什么字符是html编码的?
- 25. 这是什么字符编码?
- 26. 这是什么字符编码?
- 27. 什么字符不被编码?
- 28. 为什么标点字符会将英文字符编码为UTF 8?
- 29. 字符编码问题和PHP - 这是什么编码?
- 30. 什么样的编码器像这样编码字符串?