Apache 404 falla con /boot.ini%2500.htm

Apache 404 falla con /boot.ini%2500.htm

Por alguna razón el siguiente htaccessvoluntadredirigir a una página 404 si la URL probada no es /boot.ini.htmmás quenosi esto es /boot.ini%2500.htm.

¿Qué necesito cambiar para que esto funcione o es un error?

Options All -Indexes
Options +FollowSymlinks

ErrorDocument 403 /site/404
ErrorDocument 404 /site/404

RewriteEngine On

RewriteRule ^(fonts)($|/) - [L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([\s\S]*)$ index.php/$1 [L,NC,QSA]

# Ensure Authorization header is passed along
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

ServerSignature Off

php_value memory_limit 256M

Mi servidor es:

Versión del servidor: Apache/2.4.41 (Ubuntu)

Servidor construido: 2021-06-17T18:27:53

Respuesta1

En todos los casos veo la respuesta predeterminada de Apache 404.

En ese caso, Codeigniter no procesa la solicitud. Parece que el servidor Apache activa el 404, .htaccessincluso antes de procesarlo. Es muy probable que esto se deba a algo como mod_security (puede haber alguna pista en los encabezados de respuesta HTTP).

Las URL que contienen %pueden representar potencialmente una amenaza para la seguridad. Por lo tanto, no sería necesariamente tan inusual tener una regla general en el servidor que simplemente bloquee estas solicitudes. A menos que tenga acceso a la configuración del servidor de alguna forma, es poco probable que pueda hacer algo para influir en esto.

Pero ya está devolviendo un 404. Y un 404 es un 404 después de todo, por lo que no hará ninguna diferencia para los bots. YrealDe todos modos, los usuarios nunca deberían realizar tales solicitudes.

información relacionada