[opensuse-es] Reemplazar texto con sed.
Estimados: Estoy tratando de "recomponer" un sitio web que fue atacado y al cual le insertaron código javascript para redirigir a una página determinada. Un ejemplo es una redirección a Google, la cual la hacen agregando el siguiente código en todos los archivos .js del sitio: document.write('<iframe src="http://google.com" scrolling="auto" frameborder="no" align="center" height="12" width="12"></iframe>'); La idea es reemplazar dicha línea por "nada", osea borrarla, usando sed. El problema que tengo es que no le encuentro la forma para que tome sin problemas tantos caracteres "raros". Si busco recursivamente usando "grep -r" basta solamente con escapar las comillas dobles y listo, me encuentra todos los archivos que tengan dicha línea. Pero con sed la cosa es bien distinta por lo que pude ver. Hasta ahora escapé las comillas dobles, las barras / de la dirección web, los símbolos < y >, los paréntesis y las comillas simples de esta forma '\'' (esto por cada comilla simple). Ya la línea se ha vuelto irreconocible. La sentencia entonces me queda así: find . -name "*.js" -print | xargs sed -i 's/document.write\('\''\<iframe src=\"http:\/\/google.com\" scrolling=\"auto\" frameborder=\"no\" align=\"center\" height=\"12\" width=\"12\"\>\</iframe\>'\'');/borrarestalineaaa/g' Notar que delante de Google parece que hay una "W" pero son en realidad las barras escapadas. Lo mismo que delante de "<iframe" parece que hay unas comillas dobles escapadas pero tampoco, en realidad es comilla simple - escape - comilla siempre - comilla simple, que es como leí que se deben escribir las comillas simples (si no lo hacía así me daba error). El error que obtengo es el siguiente: sed: -e expresión #1, carácter 155: opción desconocida para `s' Siendo el caracter 155 la barra (/) que está antes de "borrarestalineaaa", osea la barra que separa la cadena que se debe buscar por la cadena que se tiene que reemplazar. La verdad que ya me perdí. Leí bastante pero no sé como seguir, por lo que les agradecería mucho su ayuda. Saludos y muchas gracias. Mauro. -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 On 2012-11-01 13:13, Mauro Antivero wrote:
Estimados:
Estoy tratando de "recomponer" un sitio web que fue atacado y al cual le insertaron código javascript para redirigir a una página determinada. Un ejemplo es una redirección a Google, la cual la hacen agregando el siguiente código en todos los archivos .js del sitio:
Olvidalo. Recupera el backup. - -- Cheers / Saludos, Carlos E. R. (from 11.4 x86_64 "Celadon" (Minas Tirith)) -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.16 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://www.enigmail.net/ iF4EAREIAAYFAlCSaF4ACgkQja8UbcUWM1xTBwEAhEFpvsk1hcsz6TuRhaOxoE22 DkYWi126OUR0JktElvgA/RtjbmnTaIdUgUvmZDeFu1VThZ4f7WAdoW0aykC9ZQ0a =u88g -----END PGP SIGNATURE----- -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
El 01/11/12 09:17, Carlos E. R. escribió:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256
On 2012-11-01 13:13, Mauro Antivero wrote:
Estimados:
Estoy tratando de "recomponer" un sitio web que fue atacado y al cual le insertaron código javascript para redirigir a una página determinada. Un ejemplo es una redirección a Google, la cual la hacen agregando el siguiente código en todos los archivos .js del sitio: Olvidalo. Recupera el backup. Si hubiese backup ya lo habría utilizado.
Ya lo pude hacer con sed. Saludos, Mauro.
- -- Cheers / Saludos,
Carlos E. R. (from 11.4 x86_64 "Celadon" (Minas Tirith)) -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.16 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://www.enigmail.net/
iF4EAREIAAYFAlCSaF4ACgkQja8UbcUWM1xTBwEAhEFpvsk1hcsz6TuRhaOxoE22 DkYWi126OUR0JktElvgA/RtjbmnTaIdUgUvmZDeFu1VThZ4f7WAdoW0aykC9ZQ0a =u88g -----END PGP SIGNATURE-----
-- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
2012/11/1 Mauro Antivero <mauro.antivero@gmail.com>:
El 01/11/12 09:17, Carlos E. R. escribió:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256
On 2012-11-01 13:13, Mauro Antivero wrote:
Estimados:
Estoy tratando de "recomponer" un sitio web que fue atacado y al cual le insertaron código javascript para redirigir a una página determinada. Un ejemplo es una redirección a Google, la cual la hacen agregando el siguiente código en todos los archivos .js del sitio:
Olvidalo. Recupera el backup.
Si hubiese backup ya lo habría utilizado.
Ya lo pude hacer con sed.
Saludos, Mauro.
- -- Cheers / Saludos,
Carlos E. R. (from 11.4 x86_64 "Celadon" (Minas Tirith))
Saludos, cierto, me pregunto si el archivo que buscaba estaría disponible en http://www.archive.org Una buena razón para hacer backups, no? Quería pedirle que ponga el texto que utilizó para cambiar el error encontrado, para que quede un registro de su solución. Gracias. -- Carlos A. -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
El 01/11/12 13:04, Carlos Ayala escribió:
2012/11/1 Mauro Antivero <mauro.antivero@gmail.com>:
El 01/11/12 09:17, Carlos E. R. escribió:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256
On 2012-11-01 13:13, Mauro Antivero wrote:
Estimados:
Estoy tratando de "recomponer" un sitio web que fue atacado y al cual le insertaron código javascript para redirigir a una página determinada. Un ejemplo es una redirección a Google, la cual la hacen agregando el siguiente código en todos los archivos .js del sitio: Olvidalo. Recupera el backup. Si hubiese backup ya lo habría utilizado.
Ya lo pude hacer con sed.
Saludos, Mauro.
- -- Cheers / Saludos,
Carlos E. R. (from 11.4 x86_64 "Celadon" (Minas Tirith)) Saludos, cierto, me pregunto si el archivo que buscaba estaría disponible en http://www.archive.org Una buena razón para hacer backups, no?
Quería pedirle que ponga el texto que utilizó para cambiar el error encontrado, para que quede un registro de su solución.
Gracias.
Como no. Perdón por la demora en contestar, estuve ausente unos días. Bien, la cuestión es que para reemplazar texto con sed hay que escapar los siguientes caracteres y de la siguiente forma: ' por '\'' <--- Este es el más raro y es (en palabras): comilla simple - barra invertida - comilla simple - comilla simple " por \" / por \/ Lo que me costó un poco encontrar fue lo de las comillas siemples. Cuando lo encontré me parecía muy raro pero de hecho funcionó a la perfección. Solo fue cuestión de prestar atención a la gran cadena a reemplazar e ir escapando los caracteres correspondientes. Saludos, Mauro. -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 On 2012-11-01 16:40, Mauro Antivero wrote:
El 01/11/12 09:17, Carlos E. R. escribió:
Olvidalo. Recupera el backup.
Si hubiese backup ya lo habría utilizado.
Pos mu mal...
Ya lo pude hacer con sed.
Y tienes seguridad de haber cazado todos los bichos? - -- Cheers / Saludos, Carlos E. R. (from 11.4 x86_64 "Celadon" (Minas Tirith)) -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.16 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://www.enigmail.net/ iF4EAREIAAYFAlCSuYoACgkQja8UbcUWM1yDqgD/TecqyLQI3z3CgJGDKu69KY2J pMccheUWkMVDm07c9h4A/R3TCzN42LxKyWf1g+QHIDXueACeM/yu4XRWzHyCIDHu =Kg1P -----END PGP SIGNATURE----- -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
participants (3)
-
Carlos Ayala
-
Carlos E. R.
-
Mauro Antivero