Foro de elhacker.net

Seguridad Informática => Nivel Web => Mensaje iniciado por: yeikos en 24 Abril 2007, 12:06 pm



Título: UserAgent XSS/SQL Injection
Publicado por: yeikos en 24 Abril 2007, 12:06 pm
Estaba programando PHP y al abrir el navegador k-meleon y se me ocurrió una idea... ¿y si inyectamos código HTML en el UserAnget? o mejor aún... ¿y si hacemos SQL Injection?

XSS Injection

Código:
<?php
echo $HTTP_USER_AGENT
?>


SQL Inyection

Código:
<?php
echo "<a href='".$_SERVER['PHPSELF']."?act=1'>Registrarse</a> |
<a href='".$_SERVER['PHPSELF']."'>Listado</a><br><br>";

$act = $_GET['act'];

if ($act == 1) {
$IP=getenv("REMOTE_ADDR");
echo $HTTP_USER_AGENT;
mysql_query("Insert into browsers (UserAgent, IP) values ('$HTTP_USER_AGENT', '$IP'), $link");
} else {
echo "Listado";
$result=mysql_query("select * from browsers where UserAgent = '".$HTTP_USER_AGENT."'",$link); 
while($row = mysql_fetch_array($result)) {
echo "Tu UserAgent fue registrado con la siguiente IP: ".$row['IP']."<br>";
}
}

?>

Ejemplo práctico en http://id.ziew.info.

No se si ya se ha hablado de esto anteriormente, a mi se me ocurrió de repente, aunque supongo que a mucha gente también...

PD: Para evitar estas inyecciones usen htmlspecialchars.


Título: Re: UserAgent XSS/SQL Injection
Publicado por: Crack_X en 24 Abril 2007, 17:31 pm
Tambien lo puedes hacer por refferer y por ip.


Título: Re: UserAgent XSS/SQL Injection
Publicado por: yeikos en 24 Abril 2007, 18:28 pm
Por $_SERVER['HTTP_REFERER'] ya vi un fallo en PHP-Nuke 6.5 pero... ¿Por IP? ¿Podrías explicar cómo?


Título: Re: UserAgent XSS/SQL Injection
Publicado por: Crack_X en 24 Abril 2007, 18:34 pm
Hay personas que utilizan $_SERVER['HTTP_X_FORWARDED_FOR'] en vez del Remote Address porque el forwarded se utiliza si una persona usa un proxy que no es anonimo manda un header diciendo de donde proviene originalmente. Y ese header puedes falsificarlo al igual que un refferer.

No todos lo usan pero algunas personas si.