昨天,我的应用程序崩溃了,当我检查日志文件夹时,我发现错误日志文件大小约为5MB。
我怀疑有人袭击了我的网站。
以下是我发现的错误:
A potentially dangerous Request.Form value was detected from the client (hdn_rr="1'"()&%<ScRiPt >prompt(9964...").Invalid JSON primitive: mNPPaqUT.Unterminated string passed in. (2): '"Invalid JSON primitive: select pg_sleep(9);Invalid JSON primitive: response.writeInvalid JSON primitive: OR 3+185-185-1=0+0+0+1 --我怎样才能阻止和防止这些类型的攻击?
发布于 2014-04-13 13:38:24
似乎有人尝试基于时间的SQL注入攻击,但您说日志文件的大小约为5MB。这意味着攻击者使用了自动漏洞扫描器,如Netsparker或Acunetix。这些应用程序当时生成了大量的HTTP请求,这导致了5MB的日志大小。如果你查看日志的时间戳,我相信会有将近50-100个http请求记录在10秒内,这是人类无法生成的。
“从客户端检测到潜在危险的Request.Form值”此错误来自IIS。因为IIS可以通过分析每个http请求来检测XSS有效负载。当它将其中一个标记为恶意时,IIS将生成该日志并在请求到达应用程序层之前删除它。
为了确保您的应用程序是否安全,您可以在这里粘贴相关控制器和模型的源代码,我将为您分析它。但是,如果您可以说“我使用预先准备好的语句或MVC,而不使用内联查询。”我可以说,您的应用程序安全,不受SQL注入攻击。
总之,您的应用程序似乎由于高HTTP流量而崩溃或停止响应。SQL注入或XSS攻击可能导致数据泄漏,或者是针对客户端的线程攻击。但是,除了对CGI应用程序的溢出攻击之外,这些类型的攻击很少能使应用程序崩溃。
发布于 2014-04-17 20:49:38
我想这是个百万美元的问题..。你可能会想出一种方法来防范这样的攻击,但可能每天都会有新的攻击。
一种方法是“节流”来自特定源的请求。例如,如果一个IP地址为10.10.8.23的连接超出了请求的“合理数量”(并且可能失败),那么在一段时间内停止接受来自该IP的请求。
这可以作为一个模块来处理,在global.asx或其他一些您认为合适的方法中,但是有一套网络恶意软件工具可以使这一过程变得非常容易,并且不需要编码。
发布于 2014-04-22 14:40:07
不幸的是,没有银弹。从错误消息来看,您似乎是注入和XSS的目标。听起来IIS为您停止了XSS,希望注入不会影响您或您的用户。也许作为一个副作用,DOS (拒绝服务)似乎也发生在你的网站崩溃时。
下面是我在OWASP项目文档中找到的一些链接:
至于DOS:处理这种自动攻击需要进行网络级别测量(例如阻塞黑名单上的流量),并且您应该与您的提供商合作,防止它们发生。(或者你可以转到像CloudFlare -not这样的提供商,只是听到了很多这个名字,他们知道要采取好的安全措施等等)
另一个普遍的建议是(如果您还没有)设置web服务器的反向代理信息。Nginx和HAproxy是这方面的两种流行产品。我不会在您的应用程序中做任何基于IP或其他网络级别的预防,但是这些反向代理设置通常有一些这样的场景的模块和配置。
https://stackoverflow.com/questions/23042865
复制相似问题