我在我的Cpanel服务器上有这个错误。并不是每次更新都会发生这种情况,只有一些SQL。
沙特3月11日03:48:18.409435 2017年pid 31376:tid 140202228020992 ModSecurity:代码500拒绝访问(第2阶段)。模式匹配"((alter|create|drop)[:space:]+(column|database|procedure|table)|delete[:space:]+from|update.+set.+=)“在ARGS:描述。文件"/usr/local/apache/conf/modsec2.user.conf“id "300015”msg“通用SQL注入保护”主机名“unique_id "WMO50kPhgfkAAHqQRtMAAACP”
什么通常导致SQL注入错误,以及如何消除此错误?
发布于 2017-03-11 10:12:07
使用本文解决它:https://othermachines.com/blog/drupal-modsec-and-post-wouldnt-save
因此,mod_security得到了一个假阳性。我不知道它以何种方式使用modsec规则id 300015,而不是像往常一样使用300016,并且被错误的安全规则捕获。您可以注意到[id "300015"]中的id。因此,我在/usr/local/apache/conf/modsec2/whitelist.conf文件中编辑了modsec白名单并添加了以下内容:
# Disable generic SQL injection rules globally
# for Drupal content admin
<LocationMatch /node/[0-9]+/edit> #might vary depending your code
<IfModule mod_security2.c> # This is the important part
SecRuleRemoveById 300015
</IfModule>
</LocationMatch>
<LocationMatch /admin>
<IfModule mod_security2.c>
SecRuleRemoveById 300015
</IfModule>
</LocationMatch>以后不要忘记重新启动Apache,这样它就会生效。
更新
不知何故,配置位置更改为/etc/apache2/conf.d/modsec2/whitelist.conf
https://stackoverflow.com/questions/42733374
复制相似问题