UserAgent XSS/SQL Injection

Iniciado por yeikos, 24 Abril 2007, 12:06 PM

0 Miembros y 1 Visitante están viendo este tema.

yeikos

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

<?php
echo $HTTP_USER_AGENT
?>



SQL Inyection

<?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.

Crack_X

Tambien lo puedes hacer por refferer y por ip.
Shit loads of money spend to show us wrong from right. Say no to war


Yasser Has Things To Say
WarZone

yeikos

#2
Por $_SERVER['HTTP_REFERER'] ya vi un fallo en PHP-Nuke 6.5 pero... ¿Por IP? ¿Podrías explicar cómo?

Crack_X

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.
Shit loads of money spend to show us wrong from right. Say no to war


Yasser Has Things To Say
WarZone