从客户端XXX检测到潜在危险的Request.Form值

Any*_*are 3 c# asp.net security ajax post

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

我怀疑有人袭击了我的网站.

这些是我发现的错误:

A potentially dangerous Request.Form value was detected from the client (hdn_rr="1'"()&%<ScRiPt >prompt(9964...").
Run Code Online (Sandbox Code Playgroud)
Invalid JSON primitive: mNPPaqUT.
Run Code Online (Sandbox Code Playgroud)
Unterminated string passed in. (2): '"
Run Code Online (Sandbox Code Playgroud)
Invalid JSON primitive: select pg_sleep(9);
Run Code Online (Sandbox Code Playgroud)
Invalid JSON primitive: response.write
Run Code Online (Sandbox Code Playgroud)
Invalid JSON primitive:  OR 3+185-185-1=0+0+0+1 --
Run Code Online (Sandbox Code Playgroud)

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

Meh*_*nce 5

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

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

为了确保您的应用程序是否安全,您可以在此处粘贴相关控制器和模型的源代码,我将为您分析它.但是,如果你可以说"我使用预备语句或没有内联查询的MVC".我可以说你的应用程序可以抵御SQL注入攻击.

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