Buenas al foro, necesito una ayuda enorme, resulta que he realizando una pagina de noticias que ultimamente fue atacada y se redireccionaba hacia una leyenda que decia:
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