Porównaj ceny domen i usług IT, sprzedawców z całego świata

mod_security: Wyłącz sprawdzanie poprawności plików cookie, powodując fałszywie dodatni wynik SQLI


Próbuję skonfigurować mod_security na CentOS 7 dla Apache2.4 z zestawem reguł OWASP. Chodzi o to, że moja aplikacja internetowa tworzy plik cookie ze znakami - i jest oznaczona jako SQLI. Przeczytałem następujący artykuł

jak dodać do białej listy określony ciąg plików cookie w ModSecurity
https://serverfault.com/questi ... urity
spróbować wyłączyć plik cookie winowajcy, ale nie miałem z tym szczęścia: nadal otrzymuję zabronione 403.
Próbowałem dodać następującą regułę do mojego whitelist.conf (w folderze modsecurity.d/): SecRuleUpdateTargetByMsg "Znaleziono sekwencję komentarzy SQL". ! REQUEST_COOKIES:/^ * Header * (w tej samej linii c):
Otrzymuję 403 zabronione, jeśli jest plik cookie. Próbowałem utworzyć plik zgodnie z opisem w artykule i dodałem regułę do/etc/httpd/modsecurity-crs/base_rules/modsecurity_crs_61_customrules.conf, ale nadal nic: zostałem zablokowany.
Jest to problematyczne, ponieważ ten plik cookie jest ważny. Czy obecna wersja mod_security zmieniła sposób rozwiązania tego problemu? Czy nadal robię coś nie tak? Dziękuję za pomoc.
edytować:
Z regułą dla każdego identyfikatora, która wygląda następująco: SecRuleUpdateTargetById 981172! REQUEST_COOKIES_NAMES:/^ TitleBox/Works
Jeden na wiadomość, na przykład: SecRuleUpdateTargetByMsg „Wykryto sekwencję komentarzy SQL”. ! REQUEST_COOKIES_NAMES:/^ TitleBox To nie działa i nadal blokuje mój plik cookie
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Pytanie, do którego utworzyłeś łącze, dotyczyło dodawania do białej listy reguły 981231, która wygląda tak:
SecRule REQUEST_COOKIES|!REQUEST_COOKIES:/__utm/|!REQUEST_COOKIES:/_pk_ref/|REQUEST_COOKIES_NAMES|ARGS_NAMES|ARGS|XML:/* "(/\*!?|\*/|[';]--|--[\s\r\n\v\f]|(?:--[^-]*?-)|([^\-&])#.*?[\s\r\n\v\f]|;?\\x00)" "phase:2,rev:'2',ver:'OWASP_CRS/2.2.9',maturity:'8',accuracy:'8',\
id:'981231',t:none,t:urlDecodeUni,block,\
msg:'SQL Comment Sequence Detected.'\,severity:'2',capture,logdata:'Matched Data: %{TX.0} found within %{MATCHED_VAR_NAME}: %{MATCHED_VAR}',tag:'OWASP_CRS/WEB_ATTACK/SQL_INJECTION',tag:'WASCTC/WASC-19',tag:'OWASP_TOP_10/A1',tag:'OWASP_AppSensor/CIE1',tag:'PCI/6.5.2',setvar:tx.anomaly_score=+%{tx.critical_anomaly_score},setvar:tx.sql_injection_score=+1,setvar:'tx.msg=%{rule.msg}',setvar:tx.%{rule.id}-OWASP_CRS/WEB_ATTACK/SQL_INJECTION-%{matched_var_name}=%{tx.0}"

Próbujesz dodać numer 981172 do białej listy, która wygląda tak:
SecRule REQUEST_COOKIES|!REQUEST_COOKIES:/__utm/|!REQUEST_COOKIES:/_pk_ref/|!REQUEST_COOKIES:/__utm/|!REQUEST_COOKIES:/_pk_ref/|REQUEST_COOKIES_NAMES "([\~\!\@\#\$\%\^\&\*\(\)\-\+\=\{\}\[\]\|\:\;\"\'\´\’\‘\`\<\>].*?){8,}" "phase:2,t:none,t:urlDecodeUni,block,\
id:'981172',rev:'2',ver:'OWASP_CRS/2.2.9',maturity:'9',accuracy:'8',\
msg:'Restricted SQL Character Anomaly Detection Alert - Total # of special characters exceeded',\
capture,logdata:'Matched Data: %{TX.1} found within %{MATCHED_VAR_NAME}: %{MATCHED_VAR}',tag:'OWASP_CRS/WEB_ATTACK/SQL_INJECTION',setvar:tx.anomaly_score=+%{tx.warning_anomaly_score},setvar:tx.sql_injection_score=+1,setvar:'tx.msg=%{rule.msg}',setvar:tx.%{rule.id}-OWASP_CRS/WEB_ATTACK/RESTRICTED_SQLI_CHARS-%{matched_var_name}=%{tx.0}"

Jak widać, wiadomość dla tej reguły jest inna, więc umieszczasz na białej liście niewłaściwą wiadomość. Dlatego to nie działa dla Ciebie.

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się