2017-03-11 41 views
0

我在我的Cpanel服務器上出現這個錯誤。它不會在每次更新時發生,只是一些SQL。ModSecurity給出了通用SQL注入保護錯誤

[星期六03年3月11日:48:18.409435 2017] [:錯誤] [PID 31376:TID 140202228020992] [客戶端180.253.119.171]的ModSecurity:訪問與代碼500(階段2)拒絕。模式匹配「((alter | create | drop)[[:space:]] +(column | database | procedure | table)| delete [[:space:]] + from | update。+ set。+ =)」at ARGS:描述。 [file「/usr/local/apache/conf/modsec2.user.conf」] [line「254」] [id「300015」] [rev「1」] [msg「通用SQL注入保護」] [severity「CRITICAL 「] [主機名 「centurica.com」] [URI 「/app/marketwatch/edit-listing.php」] [UNIQUE_ID 「WMO50kPhgfkAAHqQRtMAAACP」]

什麼通常會導致SQL注入的錯誤,以及如何擺脫這種錯誤?

回答

0

使用本文解決這個問題: 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>