c# - c# HttpRequestValidationException
问题描述
我在 Amazon EC2 上运行了 ac# asp.net 应用程序,但是出现验证错误:
异常类型:HttpRequestValidationException
异常消息:A potentially dangerous Request.RawUrl value was detected from the client (="...h&content=<php>die(@md5(HelloT...").
日志显示请求 url 是:
http://blah.com/?a=fetch&content=<php>die(@md5(HelloThinkCMF))</php>
那个 PHP die 脚本是从哪里来的?这是某种安全漏洞,我不知道如何调试它。
解决方案
这是由于称为“请求验证”的内置 ASP.Net 功能导致抛出异常以防止在例如查询字符串中发现危险字符时进行攻击。在这种情况下,很可能是<
字符造成的,禁止让Cross Site Scripting等攻击更加困难。因此,该错误表明访问您的站点的尝试在您的应用程序代码被调用之前就已停止。
您示例中的查询字符串可能是由某些自动攻击脚本或僵尸网络生成的,这些脚本或僵尸网络在您的站点上抛出随机数据以试图破坏它。您可以放心地忽略这个特定的攻击实例,因为您没有运行 PHP。话虽如此,正如其他人所评论的那样,它确实表明有人试图进入,因此您应该考虑在您的应用程序代码或网络/托管设置中采取适当的安全措施。但是,这些内容超出了本网站的范围,并且在不了解您的上下文的情况下很难说。
推荐阅读
- java - 如何使用 Java 代码在 Jmeter .jmx 文件中添加正则表达式提取器和 cookie 管理器?
- mysql - 使用 docker-compose,数据库容器未启动并运行
- here-api - 查找航路点附近的高速公路
- tsql - 如何在与 SQL Server 2008 兼容的 SQL Server 2016 中引发错误
- c++ - 无法弄清楚错误来自哪里(调试器说分段错误)
- c++ - 遵循 C++ 中的构造函数执行顺序
- python - 如何使用 python 在子进程中运行或发送 sudo 命令?
- mongodb - 排序时未使用 MongoDB 索引,尽管前缀匹配
- react-native - 根据一个参数修改header
- html - flexbox - 与百分比宽度一起使用时,对齐内容不起作用