No estoy seguro de dónde formular esta pregunta. Aquí, SO, Webmasters.SE, ¿en algún otro lugar? Por favor migre si es apropiado.
tl;dr:
La siguiente regla en mi .htaccess está causando que el escáner en línea gratuito de Sucuri notifique que mi sitio está infectado con:
"Known javascript malware" - Location: http://my-subdomain.cu.cc/404testpage4525d2fdc/
("mi-subdominio" no es mi subdominio real).
Aquí está la regla:
RewriteRule ^([^\.]+[^/])$ http://%{HTTP_HOST}/$1/ [L]
Question
¿Hay algo intrínsecamente mal en mi RewriteRule, de alguna manera estoy "haciendo mal"? O, ¿esto es mucho más que un problema?
Background
Estoy usando esa RewriteRule para agregar una barra inclinada a cualquier URL que no tenga una barra diagonal, excepto que la URL apunta a un archivo, por ejemplo, index.php, myfile.html, etc.
Es muy consistente y reproducible ... si comento esa regla y vuelvo a escanear, está limpio; volver a habilitar, marcado de nuevo ... ad nauseum. Puedo pensar en tres posibilidades (aunque estoy seguro de que hay más):
- una falla en su proceso de escaneo;
- algo inherentemente mal con esa RewriteRule;
-
Sucuri está tratando de alentar el negocio de los desprevenidos;(edición del autor)
En mi .htaccess también tengo:
RewriteCond %{HTTP_HOST} ^(www.)?mydomain.com$ [NC]
RewriteRule ^(.*)$ /mydomain/$1 [L]
Eso reescribe cualquier solicitud a mydomain.com
a un subdirectorio de mi raíz pública (a la que llamaré root, por el bien de la brevedad). Esto es necesario porque tengo una cuenta de alojamiento compartido que permite complementos de dominio ilimitados, pero todos deben apuntar a la raíz. Esas dos líneas se replican otras 7 veces, todas reescribiendo dominios diferentes en subdirectorios diferentes.
Finalmente, tengo:
#block access to .inc files sitewide
<Files ~ "\.inc$">
Order allow,deny
Deny from all
</Files>
Ese debe ser autoexplicativo. Antes de mi análisis, solo tenía un archivo en la raíz: .htaccess. Todo lo demás está en los subdirectorios: cada subdirectorio está dedicado a un dominio diferente, de ahí mi RewriteRules.
Después de leer algunos subprocesos sobre problemas de malware de WordPress, decidí ejecutar su escáner y revisar mi sitio. Así que creé un index.php ficticio en la raíz, que se muestra aquí en su totalidad:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>
<body>
Root!
</body>
</html>
Usé uno de mis subdominios CU.CC gratuitos no utilizados para usar con su escáner. Ese subdominio no está en mi .htaccess
, por lo que automáticamente apunta a la raíz.
Editar
Esta es la página de error para http://my-subdomain.cu.cc/404testpage4525d2fdc/
No encontrado
La URL / 404testpage4525d2fdc solicitada no se encontró en este servidor.
Además, se encontró un error 404 No encontrado al intentar usar un ErrorDocument para manejar la solicitud.
Servidor Apache en anchorage.cu.cc Puerto 80