Bueno.. Muchas veces cuando auditamos una Web, en Busca de Vulnerabilidad
es, buscamos Solamente en la Web en Cuestion, Pero No nos damos cuenta que Talves La Pagina Web se encuentra en un Servidor Compartido , en Donde Existen Muchas Otras Paginas Web, las Cuales nos Pueden Ayudar a Ingresar al Servidor, Asi Si Hacemos un Reverse Dns a la Pagina Web. Podemos Busca una Web "vecina" que se encuentra en el mismo servidor y Poder Ingresar, y Luego de Estar Adentro Poder Nada Mas "Saltarnos" a la Carpeta en Donde se Encuentra la Pagina Web que Queriamos en un Principio.
Asi Las Opciones de Ingresar a Una Web se Incrementan.
#=====================================================================#
Idea Original (El Fue el Primero que me la Comento yo no Tenia idea XD')
Para ver este enlace Registrate o Inicia Sesion#======================================================================#
Al Inicio Ingresaba a la Web de Code Pero Luego Algunos Ratos ya se me hacia algo tedioso, tener q ingresar a la web y cuanta cosa, y que mejor que tenerlo en modo consola :=)
(****La Aplicacion esta basado en el Motor de
Para ver este enlace Registrate o Inicia Sesion)
En Accion ¡
Al Ingresar la Url. Este visita la web de
Para ver este enlace Registrate o Inicia Sesion y Nos Entrega el Resultado, el Programa Filtra Todo el Contenido lo Ordena y Guarda el Resultado en un Archivo de Texto Llamado REVERSE-DNS.txt
Y Perfecto Tenemos Nuestro Programa Funcionando ¡En Palabras como Funciona. :=)
Se Ingresa la Url.
Chequea Si Tiene http:// o no, y si es falso, le incorpora la Direccion a la Variable $domain que tiene la Url.
Luego Chequea el Estado del Servidor, Si Responde con Codigo 200 Significa que Esta Up, y Procedemos a Hacer la peticion, y si Esta Down la Web, Este Vuelve al Menu Para Poder Probar otra Url.Creo que es Bastante bueno porque asi evitamos Procesar Url que no Existen.
Luego Hacemos la Peticion Via Post, y Guardar el Resultado (html) en un Archivo "codeurl.txt", el cual luego se pasa al array codeurl todo el contenido. asi tenemos cada linea en una variable.
$codeurl[0],$codeurl[1], y asi, cada una es una linea de la pagina html, asi es mucho mas facil procesar la informacion .
Luego Estuve Pensando como Puedo Saber el Resultado , en cuanto a las url obtenidas, como saber donde empieza y donde termina, por ende opte por la logica.
buscar en los array, donde empieza a entregar la informacion importante, y tambien buscar el final, como es un template, ya tiene un orden.
Siempre Empezaba la Informacion con :<font face="arial">
y Terminaba de Entregar la Informacion con:</font> </td></tr></table>
Asi ya tenia dos parametros , el Inicio y el Final. Si calzaba en la Busqueda guardaba en una variable en que linea se encontraba, entonces luego se restaba el inicio y el final, teniendo en consecuencia el largo de la lista.
Luego de Tener esa Variable, recorria nuevamente el array pero ahora teniendo los paremetros en donde buscar, ahora tenia que filtrar el codigo html.
Esta parte siempre es algo tediosa porque ahy que ir provando cada cosa hasta que se llega con el resultado deseado.
Ahora que Tengo El Codigo Limpio, Voy a ingresar el resultado "limpio" en un txt para poder procesarlo y borrar el codigo anterior, luego vuelvo a pasarlo en un array para poder tener las variables linea a linea.
Luego Nada mas Lo Ordeno Para poder Mostrar la Informacion en pantalla, se guarda en un archivo de texto el contenido, y se muestra automaticament e el resultado en la pantalla y en un archivo txt.
COMPILADO:
Para ver este enlace Registrate o Inicia Sesion
CODIGO:
[quote]use LWP::UserAgent;
use HTTP::Request;
#Programado por OzX a las 4:57 Am 30 Enero. ZZzzzZzzZzzZzz
Zz XD¡
#Idea Basada en la Utilidad Online de
Para ver este enlace Registrate o Inicia Sesionwww.C0debreak. net
Reverse Dns.
menu:
system ("cls");
system ("COLOR 02");
system ("title ReverseDns 0.1
Para ver este enlace Registrate o Inicia SesionWwW.New-Bytes.Net
By OzX");
print q(
.:.
Para ver este enlace Registrate o Inicia SesionWwW.New-Bytes.net
.:.
____ ____ ____ ___ _
| _ \ _____ _____ _ __ ___ ___| _ \ _ __ / ___| / _ \ / |
| |_\) / _ \ \ / / _ \ '__/ __|/ _ \ | | | '_ \\___ \ | | | || |
| _ < __/\ V / __/ | \__ \ __/ |_| | | | |___\) | | |_| || |
|_| \_\___| \_/ \___|_| |___/\___|____/|_| |_|____/ \___\(_\)_|
By OzX
);
print "Ingrese Direccion Url: ";
$domain=<STDIN>;
chop ($domain);
if ( $domain !~ /^http:/ ) {
$domain = 'http://' . $domain;
}
$ua = LWP::UserAgent->new();
$request = HTTP::Request->new('HEAD',$domain);
$response = $ua->request($request);
if ($response->code == 200) {
print "
- El Servidor Responde Ok: ", $response-> code,"\n";
}else {
print "[-]El Servidor no Responder: ", $response->code,"\n";
print "[-]Presione Una Tecla Para Volver al Menu: ";
$oz=<STDIN>;
goto menu;
}
my $query = "domainname=$domain";
my $ua = LWP::UserAgent->new;
$ua->agent("Windows; U; Windows NT 5.1; es-ES; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11");
my $req = HTTP::Request->new(POST => "
Para ver este enlace Registrate o Inicia Sesion");
$req->content_type('application/x-www-form-urlencoded');
$req->content($query);
my $response = $ua->request($req);
my $content = $response->content(); #contenido de la respuesta
open(CODEURL,"> codeurl.txt") || die "No pudo crearse: $!";
print CODEURL"$content";
close (CODEURL);
open(CODEURL2,"codeurl.txt");
@codeurl=<CODEURL2>;
$a=0;$b=0;$c=0;
foreach $codeurl ( @codeurl){
if ($codeurl[$a]=~/(<font face="arial">
)/){
$c=$a+$c;
}
if ($codeurl[$a]=~/(<\/font> <\/td><\/tr><\/table>)/){
$b=$a+$b;
}
$a++;
}
close (CODEURL2);
system ("erase codeurl.txt");
#+ ? . * ^ $ ( ) [ ] { } | & \ , cualquier q sea deve ir procedida de \
$a=($b-$c);
open (REVERSE,">REVERSE-DNS-URL.TXT");
for ($x=$c;$x<=$b;$x++){
if ($codeurl[$c]=~s/(<font face="arial">
)/\n/){
($codeurl[$c]=~s/(<\/b> has address
)/\n/);
($codeurl[$x]=~s/(
)/\n/);
($codeurl[$c]=~s/(
<font face="arial" size="-1">)/\n/);
($codeurl[$c]=~s/<\/b>/ /);
($codeurl[$c]=~s/<small>Found/ /);
($codeurl[$c]=~s/<\/b><\/small>/ /);
}
($codeurl[$x]=~s/(
)/ /);
($codeurl[$x]=~s/(
)/ /);
($codeurl[$x]=~s/(<\/td><\/tr><\/table>)/ /);
($codeurl[$x]=~s/(<\/font>)/ /);
print REVERSE"$codeurl[$x]";
}
close (REVERSE);
#si llegaste leyendo hasta aka significa que estas motivado o muy aburrido XXXXXXXD¡
open (URL,"REVERSE-DNS-URL.txt");
@url=<URL>;
$q=0;
foreach $url ( @url){
$q++;
}
close (URL);
open (DNS,">REVERSE-DNS.txt");
print "
print "
print "[-]$url[3]\n\n";
print DNS"
print DNS"
print DNS"[-]$url[3]\n";
for ($x=4;$x<=$q;$x++){
print "$url[$x]";
print DNS"$url[$x]";
}
print DNS"Visita:
Para ver este enlace Registrate o Inicia Sesion [Dns Reverse Tool 0.1 By OzX] \n";
close (DNS);
system ("erase REVERSE-DNS-URL.txt");
system ("start REVERSE-DNS.txt");
print "
- Se Creo un Archivo TxT (REVERSE-DNS.txt) Con el Resultado del Reverse Dns\n";
print "[-]Presione Una Tecla Para Salir ";
$op=<STDIN>;
[/quote]
Bug: Aveces Muestra Url Extrañas por ej:
Para ver este enlace Registrate o Inicia Sesion Busken
Para ver este enlace Registrate o Inicia Sesionwww.googl.es
Para ver este enlace Registrate o Inicia Sesionwww.google.es
has address 64.233.167.104
Found 100 websites with the IP 64.233.167.104
1) FTOOGLE.COM" gping="&POS=25&CM=WPU&CE=3&CS=AWP&SR=3&sample=0
2) adsense.google
.ca
3) adsense.google
.de
Casi siempre lo Entrega con
gping="&POS=78&CM=WPU&CE=43&CS=AWP&SR=56&sample=0
pero buee en la prox version le meto mas caña y veo eso XD¨. pero hasta coo esta funciona perfecto... una q otra vez vas a tener que sacar algo de codigo pero buee XD
Es por la Misma web que entrega el Resultado asi...
Siempre pasa con Google y Otras webs importantes.
Pero para web Normales funciona de pelos.
Bue seria todo. Por OzX, SI van a Copiar el Codigo para optimizarlo, PERFECTO¨ pero dejando el derecho de autor XXXD¨.
NB