[bofhers] Regexp, un clásico

  • From: David López <meencantaesto@xxxxxxxxxxx>
  • To: Lista BOFHers <bofhers@xxxxxxxxxxxxx>
  • Date: Mon, 20 Jan 2014 18:38:35 +0000

Queridos #BOFHers y #BOFHars, vuelvo a vosotros en estas horas tan sombrías en 
busca de un poco de conocimiento...
Os cuento, tengo un servidor web que sirve páginas PHP y al cual le han 
encasquetado porquería del estilo 
<?php eval(base64_decode('AASDASDasdasdasDASDSADSAsa...'); ?> 
al comienzo de los archivos index.php, config.php, functions.php etc, es decir 
un clásico.
Tengo todos los ficheros localizados y quiero eliminar la línea que me han 
metido, y para ello uso grep y sed. La cuestión es que me funciona casi al 
100%, pero hay 2 caracteres que no consigo eliminar y no tengo ni idea de por 
qué...
El comando que estoy usando es este:
grep -rl "churro_codificado_en_base64" /ruta_www/ | xargs sed -i 
's/<\?php.*churro_codificado_en_base64.*\?>//g'
y el problema es que no me elimina al completo la línea, si no que me deja algo 
así:
<?<?php
es decir, que me sobra un <?.
Alguna idea de por dónde estoy metiendo la gamba? Y ya puestos, sabeís cómo me 
lo han podido meter?
Grasias de antebraso ;)                                           

Other related posts:

  • » [bofhers] Regexp, un clásico - David López