Linux, apache2, o modsecurity bloqueia as variáveis do reCAPTCHA do Google

3

Eu tenho uma caixa Debian Jessie, o Apache 2.4 e o mod_security padrão habilitado com as regras básicas ativadas. Quando tento implementar uma solução do Google reCAPTCHA em um código PHP, o modsecurity bloqueia a página com o retorno de variáveis reCAPTCHA. Como eu vejo, uma regra de proteção de injeção SQL modsecurity bloqueia meu site com reCAPTCHA. Existe uma maneira simples de fazer com que a regra básica de injeção de SQL da modsecurity permita que o Google reCAPTCHA funcione corretamente? Posso de alguma forma excluir / whitelist uma variável das regras modsecurity para verificar?

Entrada de log de erro relevante do Apache:

[Thu May 05 20:31:17.407153 2016] [:error] [pid 3604] [client 199.67.203.142] ModSecurity: Access denied with code 403 (phase 2). Pattern match "(?i:(\\!\\=|\\&\\&|\\|\\||>>|<<|>=|<=|<>|<=>|xor|rlike
|regexp|isnull)|(?:not\\s+between\\s+0\\s+and)|(?:is\\s+null)|(like\\s+null)|(?:(?:^|\\W)in[+\\s]*\\([\\s\\d\"]+[^()]*\\))|(?:xor|<>|rlike(?:\\s+binary)?)|(?:regexp\\s+binary))" at ARG
S:g-recaptcha-response. [file "/usr/share/modsecurity-crs/activated_rules/modsecurity_crs_41_sql_injection_attacks.conf"] [line "70"] [id "981319"] [rev "2"] [msg "SQL Injection Attack: SQL Operator Detected"] [
data "Matched Data: XOr found within ARGS:g-recaptcha-response: 03AHJ_VuuKzOoRV1ncHa31GhztRb7FuB6sFfWtJqRbgw71veDabEm-V1Xkm4Rfh2hsjodBH7Y_S1D0XomTniOoLr9hNKKXlcxAestey_bIW8pZUSHF9N5PGOGagrbdeliSOnCe3Ff-qRRsvrBAh
8lw19hGfOlYMwdYkONJNaiq5KQgELQQxqa9suxdKLscNLvmRBsrJaZc8NNxtZBYMgcuf7_MR0fJRdItiXFs-ttqxvnCUUCWH8bbnXdbfoFBaeuH2j-JHxpNnbTLz6NCVZHSMMFzJ_45GgYUajzeLBmn8u74qdOgIQDRRUSDc4ySnAxozESwb94_RY4o7FhpQu3ebytd2mGcmHPte-cn
MH2VSmsOLCQOVXKvytwC2w8c3JRiFCYTdpMJ0TrDSwlw5b9P4uOhjENJJRRDxRhaUnRktOb0KBJdaevwjYzFJVXVmfuTv..."] [hostname "mzhostname.com"] [uri "/test/test2_load.php"] [unique_id "VyuRdcM4N88AAA4U-PgAAAAB"]
    
por JackD 05.05.2016 / 20:38

1 resposta

2

Adicione o seguinte à sua configuração do Apache depois de carregar o arquivo /usr/share/modsecurity-crs/activated_rules/modsecurity_crs_41_sql_injection_attacks.conf :

SecRuleUpdateTargetById 981319 !ARGS:'g-recaptcha-response'

Note que você pode precisar colocar na lista de permissões esse argumento de outras regras de maneira semelhante.

    
por 05.05.2016 / 21:33