Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 潜在危险的请求。从客户端XXX检测到表单值_C#_Asp.net_Ajax_Security_Post - Fatal编程技术网

C# 潜在危险的请求。从客户端XXX检测到表单值

C# 潜在危险的请求。从客户端XXX检测到表单值,c#,asp.net,ajax,security,post,C#,Asp.net,Ajax,Security,Post,昨天我的应用程序宕机了,当我检查日志文件夹时,我发现错误日志文件大小约为5MB 我怀疑有人攻击了我的网站 以下是我发现的错误: A potentially dangerous Request.Form value was detected from the client (hdn_rr="1'"()&%<ScRiPt >prompt(9964..."). 如何停止和防止这些类型的攻击?似乎有人试图阻止基于时间的SQL注入攻击,但您说日志文件的大小约为5MB。这意味

昨天我的应用程序宕机了,当我检查日志文件夹时,我发现错误日志文件大小约为5MB

我怀疑有人攻击了我的网站

以下是我发现的错误:

A potentially dangerous Request.Form value was detected from the client (hdn_rr="1'"()&%<ScRiPt >prompt(9964...").






如何停止和防止这些类型的攻击?

似乎有人试图阻止基于时间的SQL注入攻击,但您说日志文件的大小约为5MB。这意味着攻击者使用了自动漏洞扫描程序,如Netsparker或Acunetix。这些应用程序当时生成了大量HTTP请求,这导致日志大小为5MB。如果您查看日志的时间戳,我相信在10秒内将有近50-100个http请求被记录,这是人类无法生成的

“潜在危险的请求。从客户端检测到表单值”此错误来自IIS。因为IIS可以通过分析每个http请求来检测XSS有效负载。当它将其中一个标记为恶意时,IIS会生成该日志并在请求到达应用层之前删除该请求

为了确保您的应用程序是否安全,您可以将相关控制器和模型的源代码粘贴到这里,我将为您分析。但如果你可以说“我使用prepared语句或MVC而不使用内联查询”,我可以说你的应用程序可以抵御SQL注入攻击


总之,您的应用程序似乎因为高HTTP流量而崩溃或停止响应。SQL注入或XSS攻击可能会导致数据泄漏或对客户端造成线程攻击。但是,除了针对CGI应用程序的溢出攻击之外,这些类型的攻击很少能使应用程序崩溃。

我认为这是一个百万美元的问题。。。您可能会设计一种方法来防范这种攻击,但每天都可能有新的攻击

一种方法是“限制”来自特定源的请求。例如,如果IP地址为10.10.8.23的连接发出的请求超过“合理数量”(并且可能失败),则在一段时间内停止接受来自该IP的请求


这可以作为一个模块,在global.asx中,或者其他一些您认为合适的方法来处理,但是有一套网络恶意软件工具使这变得非常容易,并且不需要编码。

不幸的是,没有银弹。从错误消息来看,您似乎是注射和XSS的目标。听起来IIS为您停止了XSS,希望注入不会影响您或您的用户。可能是一个副作用,当你的网站宕机时,拒绝服务似乎也发生了

以下是我在查看OWASP项目文档时发现的一些链接:

  • 提供有关使用输出转义/编码的提示

  • 同样,对于参数化查询和转义所有用户输入也有建议

至于DOS:处理此类自动攻击需要网络级别的测量(例如阻止列入黑名单的流量),您应该与提供商合作以防止此类情况发生。(或者,您也可以选择CloudFlare这样的提供商—不是附属公司,只是经常听到这个名字,他们知道如何使用良好的安全措施等等)


另一个一般性建议是(如果您还没有)在web服务器前面设置反向代理。Nginx和HAproxy是这方面的两种流行产品。我不会在您的应用程序中执行任何类型的基于IP或其他网络级别的预防,但这些反向代理设置通常具有用于其中一些场景的模块和配置

你能定义“应用程序关闭”吗。发生了什么事?当你尝试浏览你的应用程序时,你从应用程序得到了什么响应?或者它很久没有反应了?似乎有人试图阻止基于时间的SQL注入攻击。所以,若你们注意到你们的应用程序等待响应的时间太长,那个就意味着攻击者成功地进行了SQLi攻击。如果粘贴相关控制器和模型的源代码。我能帮忙的远不止这些。但“检测到潜在危险的请求。表单值”意味着已为请求验证方法启用IIS,以便检测XSS攻击。我的意思是它很长时间没有响应。我想从一开始就阻止这些攻击,需要一些关于发生了什么、这些攻击的类型以及如何从开发和管理的角度防止这些攻击的信息。非常感谢,但我作为asp.net web表单的应用程序不是MVC:(是的,在这次攻击期间,我发现我的应用程序中存在数据泄漏。我真的很喜欢这种说法,即“this”ID请求的请求太多,请关闭它们,直到管理员可以释放该ip。你应该收到非人工请求的唯一原因是来自其他与你一起设置ftp文件的方或其他方。我希望n甚至有两个前端服务器来防御ddos攻击,并检查它们是否打开了浏览器以确定ddos和实际客户/客户端。
Invalid JSON primitive: mNPPaqUT.
Unterminated string passed in. (2): '"
Invalid JSON primitive: select pg_sleep(9);
Invalid JSON primitive: response.write
Invalid JSON primitive:  OR 3+185-185-1=0+0+0+1 --