elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [Perl] SecurityManager 0.3
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Perl] SecurityManager 0.3  (Leído 1,224 veces)
BigBear


Desconectado Desconectado

Mensajes: 545



Ver Perfil
[Perl] SecurityManager 0.3
« en: 3 Diciembre 2011, 16:34 pm »

Un simple programa para ver las ultimas 5 vulnerabilidades reportadas en securityfocus

Código
  1. #!usr/bin/perl
  2. #SecurityFocus Manager 0.3
  3. #(C) Doddy Hackman 2011
  4. ##ppm install http://www.bribes.org/perl/ppm/HTML-Strip.ppd
  5.  
  6. use LWP::UserAgent;
  7. use HTML::Parser;
  8. use HTML::Strip;
  9.  
  10. my $nave = LWP::UserAgent->new;
  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. $nave->timeout(5);
  13.  
  14. head();
  15. refrescar();
  16.  
  17. sub refrescar {
  18.  
  19. clean();
  20. head();
  21.  
  22. print "\n\n[+] List of vulnerabilities\n\n\n";
  23.  
  24. my %links = getlinks($code);
  25. my $contador = -1;
  26.  
  27. for my $da(keys %links) {
  28. $contador++;
  29. print "[$contador] : $da\n";
  30. }
  31.  
  32. [1] : Refresh
  33. [2] : Info
  34. [3] : Discussion
  35. [4] : Exploit
  36. [5] : Solution
  37. [6] : References
  38. [7] : Exit
  39.  
  40. );
  41.  
  42. print "\n[Option] : ";
  43. chomp(my $op = <stdin>);
  44.  
  45. if ($op eq 1) {
  46. clean();
  47. refrescar();
  48. }
  49. elsif ($op eq 2) {
  50.  
  51. print "\n[+] Number : ";
  52. chomp(my $se=<stdin>);
  53.  
  54. my $fin = (keys %links)[$se];
  55. my $pro = (values %links)[$se];
  56.  
  57. dar($fin,$pro,"tres");
  58.  
  59. }
  60. elsif($op eq 3) {
  61.  
  62. print "\n[+] Number : ";
  63. chomp(my $se=<stdin>);
  64.  
  65. my $fin = (keys %links)[$se];
  66. my $pro = (values %links)[$se];
  67.  
  68. dar($fin,$pro,"cuatro");
  69.  
  70. }
  71. elsif($op eq 4) {
  72.  
  73. print "\n[+] Number : ";
  74. chomp(my $se=<stdin>);
  75.  
  76. my $fin = (keys %links)[$se];
  77. my $pro = (values %links)[$se];
  78.  
  79. dar($fin,$pro,"cinco");
  80.  
  81. }
  82. elsif ($op eq 5) {
  83.  
  84. print "\n[+] Number : ";
  85. chomp(my $se=<stdin>);
  86.  
  87. my $fin = (keys %links)[$se];
  88. my $pro = (values %links)[$se];
  89.  
  90. dar($fin,$pro,"seis");
  91.  
  92. }
  93. elsif ($op eq 6) {
  94.  
  95. print "\n[+] Number : ";
  96. chomp(my $se=<stdin>);
  97.  
  98. my $fin = (keys %links)[$se];
  99. my $pro = (values %links)[$se];
  100.  
  101. dar($fin,$pro,"siete");
  102.  
  103. }
  104. elsif ($op eq 7) {
  105. copyright();
  106. exit(1);
  107. }
  108. else {
  109. refrescar();
  110. }
  111. }
  112.  
  113. sub dar {
  114.  
  115. my($title,$numero,$op) = @_;
  116.  
  117. print "\n\n[+] Getting data\n\n";
  118.  
  119. if ($op eq "tres") {
  120. $link = "http://www.securityfocus.com/bid/$numero/info";
  121. }
  122. if ($op eq "cuatro") {
  123. $link = "http://www.securityfocus.com/bid/$numero/discuss";
  124. }
  125. if ($op eq "cinco") {
  126. $link = "http://www.securityfocus.com/bid/$numero/exploit";
  127. }
  128. if ($op eq "seis") {
  129. $link = "http://www.securityfocus.com/bid/$numero/solution";
  130. }
  131. if ($op eq "siete") {
  132. $link = "http://www.securityfocus.com/bid/$numero/references";
  133. }
  134.  
  135. my $code = toma($link);
  136.  
  137. if ($code=~/<div id="vulnerability">(.*?)<\/div>/s){
  138. my $code = $1;
  139. chomp $code;
  140. my $uno = HTML::Strip->new(emit_spaces =>1);
  141. my $final = $uno->parse($code);
  142. $final =~ s/^[\t\f ]+|[\t\f ]+$//mg;
  143. $final =~s/$title/ /;
  144. print $final;
  145. }
  146.  
  147. print "\n\n[+] Press any key to continue\n\n";
  148. <stdin>;
  149. refrescar();
  150.  
  151. }
  152.  
  153. sub getlinks {
  154.  
  155. my $code = toma("http://www.securityfocus.com/");
  156.  
  157. my $test = HTML::Parser->new(
  158. start_h => [\&start, "tagname,attr"],
  159. text_h  => [\&text, "dtext"],
  160. );
  161. $test->parse($code);
  162.  
  163. sub start {
  164. my($a,$b) = @_;
  165. my %e = %$b;
  166. unless($a ne "a") {
  167. $d = $e{href};
  168. $c = $a;
  169. }}
  170.  
  171. sub text {
  172. my $title = shift;
  173. chomp $title;
  174. unless($c ne "a") {
  175. if ($d=~/\/bid\/(.*)/) {
  176. my $id = $1;
  177. unless($title=~/www.securityfocus.com/) {
  178. $links{$title} = $id;
  179. }}
  180. $d = "";
  181. }}
  182. return %links;
  183. }
  184.  
  185. sub toma {
  186. return $nave->get($_[0])->content;
  187. }
  188.  
  189. sub repes {
  190. foreach $test(@_) {
  191. push @limpio,$test unless $repe{$test}++;
  192. }
  193. return @limpio;
  194. }
  195.  
  196. sub clean {
  197. #if ($^O =~/Win32/ig) {
  198. system("cls");
  199. #} else {
  200. #system("clear");
  201. #}
  202. }
  203.  
  204. sub head {
  205. print "\n\n-- == SecurityFocus Manager 0.3 == --\n\n";
  206. }
  207.  
  208. sub copyright {
  209. print "\n\n\n(C) Doddy Hackman 2011\n\n";
  210. }
  211.  
  212. #Credits: Thanks to explorer (perlenespanol)
  213. # The End ?
  214.  
  215.  


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
perl
Scripting
nobo 0 3,207 Último mensaje 22 Febrero 2005, 07:49 am
por nobo
Perl
Scripting
zhynar_X 2 2,241 Último mensaje 12 Enero 2008, 04:36 am
por GroK
-=PERL=-
Scripting
D4RIO 1 5,728 Último mensaje 25 Febrero 2008, 17:27 pm
por D4RIO
MSN Perl y PHP
Scripting
isseu 0 2,685 Último mensaje 30 Diciembre 2008, 14:36 pm
por isseu
Libros de Perl online [PERL]
Scripting
madpitbull_99 0 3,845 Último mensaje 18 Mayo 2011, 21:49 pm
por madpitbull_99
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines