Hacked! Revolters Brazil HackTeam ;)
En el servicio del hosting me dijeron que mi aplicación no tiene seguridad y son las causas por las que inyectan Script malicioso dentro de tu base de datos. A parte me dijeron que no debo colocar consultas sql dentro de un archivo que uso de vista o que muestre algo al visitante el script que han infectado mi pagina se encuentra dentro de una noticia y es el siguiente:
'**<script>document.documentElement.innerHTML = unescape("<title>Hacked Revolters Brazil HackTeam </title><center><pre><b><big><big><big>Hacked! Revolters Brazil HackTeam ;)</pre></big></b>");</script></h3>**'.
Por eso recurro a Uds. para ver si pueden ayudarme a darle un poco mas de seguridad a mi web, he comentado la linea 117 de mi archivo index que realiza la consulta a esta tabla infectada.
Este es el index:
Código PHP:
Ver original
<?php require 'conexion/conexion.php'; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Tu mejor parada</title> <link rel="stylesheet" href="estilo/estilo1.css" type="text/css"/> <link rel="shortcut icon" href="imagenes/favicon.ico" /> </head> <body> <div id="cabecera"> <?php $sql="select * from imagenes"; { ?> <img src="imagenes/<?php echo $reg["imagen"];?>" /> <?php } ?> </div> <div id="menu"> <ul id="button"> <li><a href="index.php">Inicio</a></li> <li><a href="menu/noticias.php">Noticias</a></li> <li><a href="menu/editorial.php">Editorial</a></li> <li><a href="menu/contacto.php">Contacto</a></li> </ul> <div class="fechayhora"> <?php include ('admin/fecha.php') ?> - <?php include( 'admin/hora.php') ?> </div> </div> <div id="centro"> <div class="izquierda"> <div class="rotativas"> <table width="100%" border="0"> <tr> <td valign="top"> <ul class="ppt"> <?php $sql="select * FROM rotativas, noticia WHERE rotativas.id = noticia.id ORDER BY rotativas_id DESC LIMIT 4"; { ?> <li><a href="admin/ver-noticias.php?id=<?php echo $reg["id"];?>"><img src="imagenes/<?php echo $reg["foto"];?>"alt="foto 1"></a><div class="ft-title" id="ft-title-ft"><h1><?php echo $reg["titulo"];?></h1></div></img></li> <?php } ?> </ul> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> <script type="text/javascript"> $('.ppt li:gt(0)').hide(); $('.ppt li:last').addClass('last'); var cur = $('.ppt li:first'); function animate() { cur.fadeOut( 1000 ); if ( cur.attr('class') == 'last' ) cur = $('.ppt li:first'); else cur = cur.next(); cur.fadeIn( 1000 ); } $(function() { setInterval( "animate()", 5000 ); } ); </script> </td> </tr> </table> </div> <div class="publi1"> <?php $sql="select * from publicidad_central LIMIT 1"; { ?> <img src="imagenes/<?php echo $reg["publicidad"];?>" /> <?php } ?> </div> <?php $sql="select * FROM editorial ORDER BY id DESC LIMIT 1"; { ?> <div class="editorial"> <a href="admin/ver-editorial.php?id=<?php echo $mostrador["id"];?>"><h1><?php echo $mostrador["titulo"];?></h1></a> <img src="imagenes/<?php echo $mostrador["foto"];?>"> <p><?php echo $mostrador["copete"];?></p> </div> <?php } ?> <div class="noticias"> <?php //$sql="select * FROM noticia ORDER BY id DESC LIMIT 0, 10"; -----------******* (ACA ES DONDE ME CARGA EL SCRIPT Y ME PIDIERIO QUE NO HAGA CONSULTA SQL) ?> <table width="100%" cellspacing="10" border="0" class="tabla-noticia" > <tr valign="top"> <?php $i = 0; $r = $i % 2; echo '<td valign="top">'; echo '<a href=admin/ver-noticias.php?id='.$mostrador[id].'><h1>'.$mostrador[titulo].'</h1></a>'; echo '<img src="imagenes/'.$mostrador[foto].'">'; echo '<p>'.$mostrador['subtitulo'].'</p>'; echo '</td>'; if ($i > 0 && $r == 1) { echo '</tr>'; echo '<tr>'; } $i++; } ?> </tr> </table> </div> <div class="publi2"> <table width="100%" border="0"> <?php $sql="select * from publicidad_central2 LIMIT 1"; { ?> <tr> <td><img src="imagenes/<?php echo $reg["publicidad"];?>" /></td> </tr> <?php } ?> </table> </div> <div class="noticias"> <?php $sql="select * FROM noticia ORDER BY id DESC LIMIT 10, 10"; ?> <table width="100%" cellspacing="10" border="0" class="tabla-noticia" > <tr valign="top"> <?php $i = 0; $r = $i % 2; echo '<td valign="top">'; echo '<a href=admin/ver-noticias.php?id='.$mostrador[id].'><h1>'.$mostrador[titulo].'</h1></a>'; echo '<img src="imagenes/'.$mostrador[foto].'">'; echo '<p>'.$mostrador['subtitulo'].'</p>'; echo '</td>'; if ($i > 0 && $r == 1) { echo '</tr>'; echo '<tr>'; } $i++; } ?> </tr> </table> </div> </div> <div class="derecha"> <div align="center" class="buscador"> <form name="buscador" method="get" action="admin/buscar.php" > <input type="text" name="s" class="busca1"> <a href="javascript:void(0)" title="Buscar" onClick="document.buscador.submit();"> <img src="imagenes/lupa.png" width="24" height="24" border="0"> </a> </form> </div> <center><div class="clima"> <?php $sql="select * from clima"; { echo chao_tilde($reg["clima"]); } ?> </div></center> <div class="plublicidadlateral"> <?php $sql="select * from publicidad_lateral ORDER BY publicidad_id DESC"; { ?> <img src="imagenes/<?php echo $reg["publicidad"];?>" /> <?php } ?> </div> </div> </div>
Este es el archivo que tambien me carga el script que es donde se muestra todas las noticias:
Código PHP:
Ver original
<?php require '../conexion/conexion.php'; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Tu mejor parada</title> <link rel="stylesheet" href="../estilo/estilo1.css" type="text/css"/> <link rel="stylesheet" href="../estilo/zebra_pagination.css" type="text/css"> <link rel="shortcut icon" href="../imagenes/favicon.ico" /> </head> <body> <div id="cabecera"> <?php $sql="select * from imagenes"; { ?> <img src="../imagenes/<?php echo $reg["imagen"];?>" /> <?php } ?> </div> <div id="menu"> <ul id="button"> <li><a href="../index.php">Inicio</a></li> <li><a href="noticias.php">Noticias</a></li> <li><a href="editorial.php">Editorial</a></li> <li><a href="contacto.php">Contacto</a></li> </ul> <div class="fechayhora"> <?php include ('../admin/fecha.php') ?> - <?php include('../admin/hora.php') ?> </div> </div> <?php require_once '../admin/ez_sql_core.php'; require_once '../admin/ez_sql_mysql.php'; require_once '../admin/Zebra_Pagination.php'; $conn = new ezSQL_mysql('tiempos1_tiempos', 'b6zTg7xG49', 'tiempos1_tiemposdehoy'); $total_paises = $conn->get_var('SELECT count(*) FROM noticia'); $resultados = 20; $paginacion = new Zebra_Pagination(); $paginacion->records($total_paises); $paginacion->records_per_page($resultados); // Quitar ceros en numeros con 1 digito en paginacion $paginacion->padding(false); $noticias = $conn->get_results('SELECT * FROM noticia ORDER BY id DESC LIMIT ' . (($paginacion->get_page() - 1) * $resultados) . ', ' . $resultados); ?> <div id="noticias"> <table width="100%" border="0" cellspacing="10" class="catnoticia"> <?php foreach ($noticias as $noticia): ?> <tr> <td width="15%" valign="top"><img src="../imagenes/<?php echo $noticia->foto;?>"></td> <td width="85%" valign="top"> <a href="../admin/ver-noticias.php?id=<?php echo $noticia->id;?>"><h1><?php echo $noticia->titulo;?></h1></a> <p><?php echo $noticia->subtitulo;?></p> </td> </tr> <?php endforeach ?> </table> <?php // render the pagination links $paginacion->render(); ?> </div> </body> </html>
Por favor necesito de su ayuda, soy muy novato en esto de programación. Desde ya muchas gracias a todos