4

我在 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 脚本是从哪里来的?这是某种安全漏洞,我不知道如何调试它。

4

4 回答 4

8

这是由于称为“请求验证”的内置 ASP.Net 功能导致抛出异常以防止在例如查询字符串中发现危险字符时进行攻击。在这种情况下,很可能是<字符造成的,禁止让Cross Site Scripting等攻击更加困难。因此,该错误表明访问您的站点的尝试在您的应用程序代码被调用之前就已停止。

您示例中的查询字符串可能是由某些自动攻击脚本或僵尸网络生成的,这些脚本或僵尸网络在您的站点上抛出随机数据以试图破坏它。您可以放心地忽略这个特定的攻击实例,因为您没有运行 PHP。话虽如此,正如其他人所评论的那样,它确实表明有人试图进入,因此您应该考虑在您的应用程序代码或网络/托管设置中采取适当的安全措施。但是,这些内容超出了本网站的范围,并且在不了解您的上下文的情况下很难说。

于 2020-01-20T15:30:06.387 回答
3

这些是 ThinkPHP5(基于 Laravel 的中文 PHP 框架)RCE 漏洞利用尝试

于 2021-03-11T18:06:26.890 回答
2

这篇博文表明这是一个不再有效的 wordpress 漏洞。

我没有运行 PHP(或 Wordpress),但我的网络服务器(apache2,日志提取)返回 200(这就是我感兴趣的原因):`

[04/Jun/2020:11:43:35 -0500] "GET /index.php?s=/Index/\\think\\app/invokefunction&function=call_user_func_array&vars[0]=md5&vars[1][]=HelloThinkPHP HTTP/1.1" 404 367 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"

该请求来自 195.54.160.135。Jonas Høgh 是正确的,当然,保护您的网站是您必须自己弄清楚的事情。我有一个脚本可以临时阻止 IP,另一个脚本可以从网站获取不良演员列表并全部阻止。不过,我想,其中许多尝试来自被盗的机器或通过 Tor,并且阻止 IP 可能是无用的。

于 2020-06-04T17:03:02.347 回答
0

尝试查看此代码是否在服务器端运行。PHP 和它的 CMS 以前也有过这样的问题,但是如果网站是用 .net 编写的,那么一切都很好,你不必担心。

于 2021-08-03T05:54:59.143 回答