Tengo un montón de sitios de WordPress alojados en un entorno de alojamiento compartido. Como ocurre con todos los sitios de WordPress, hay un directorio de "cargas". Me gustaría buscar archivos potencialmente maliciosos que se encuentren dentro de esas carpetas con regularidad, pero, por supuesto, no quiero hacerlo uno por uno.
Entonces la pregunta es ¿cómo puedo buscar en todos los directorios de "cargas" un archivo con extensión ".php"?
Por ejemplo:
find . -type d -iname "uploads"
me muestra todas las carpetas de "cargas" en mi directorio raíz pero también quiero buscar dentro de esos directores
Respuesta1
Es posible canalizar la salida de su comando a otro, pero puede buscar ambos criterios a la vez, usandogrep
yExpresiones regulares:
find . -type f | grep -i "/uploads/.*\.php$"
Cómo funciona:
find . -type f
lizatodoarchivos en el directorio actual y sus subdirectorios.grep -i "/uploads/.*\.php$"
filtra la salida:-i
hace que la búsqueda no distinga entre mayúsculas y minúsculas/uploads/.*\.php$
es la expresión regular que una línea debe coincidir para poder mostrarse/uploads/
php
son exactamente eso.*
es cualquier número de apariciones de cualquier tipo de caracteres\.
es literal.
$
señala el final de la línea
Puedes lograr el mismo resultado con
find . -type f -iregex ".*/uploads/.*\.php"
pero la sintaxis es una molestia si conoces las expresiones regulares de grep
Perl, PHP, JavaScript, etc.