Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: BigBear en 8 Octubre 2011, 16:55 pm



Título: [Perl] PasteBin Uploader
Publicado por: BigBear en 8 Octubre 2011, 16:55 pm
Bueno aca eh terminado un programa que los ayudara a publicar sus programas
en pastebin de una forma rapida y sin ganas xDDD

Entonces , este programa tiene dos opciones :

  • Publica solo un archivo
  • Publica todos los archivos en un directorio

Tambien detecta el tipo de extension para poder publicar el codigo en su respectivo tipo de codigo

Código
  1. #!usr/bin/perl
  2. #Paste Bin Uploader (C) Doddy Hackman 2011
  3.  
  4. use LWP::UserAgent;
  5. use HTTP::Request::Common;
  6.  
  7. my $nave = LWP::UserAgent->new();
  8. $nave->timeout(10);
  9. $nave->agent("Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.12) Gecko/20080201Firefox/2.0.0.12");
  10.  
  11. menu();
  12.  
  13. sub menu {
  14.  
  15. clean();
  16. header();
  17.  
  18. print "\n\n[Options]\n\n";
  19. print "[1] : Upload a file\n";
  20. print "[2] : Upload a directory\n";
  21. print "[3] : Exit\n\n";
  22. print "[Option] : ";
  23. chomp(my $op = <stdin>);
  24.  
  25. if ($op eq 1) {
  26. print "\n\n[File] : ";
  27. chomp(my $file = <stdin>);
  28.  
  29. if (-f $file)  {
  30.  
  31. ($name,$exta) =verfile($file);
  32.  
  33. my $ext = extensiones($exta);
  34.  
  35. if ($ext ne "Yet") {
  36.  
  37.  
  38. $code = openfile($file);
  39.  
  40. $re = lleva($name,$code,$ext);
  41.  
  42. print "\n\n[+] File : $file\n";
  43. print "[+] Link : ".$re."\n";
  44.  
  45. savefile("uploads_paste.txt","\n[+] File : $file");
  46. savefile("uploads_paste.txt","[+] Link : ".$re);
  47.  
  48. }
  49.  
  50.  
  51. } else {
  52. print "\n\n[-] Error\n\n";
  53. }
  54. reload();
  55. }
  56.  
  57. elsif ($op eq 2) {
  58.  
  59. print "\n\n[Directory] : ";
  60. chomp(my $dir = <stdin>);
  61.  
  62. if (-d $dir) {
  63.  
  64. my @files = verdir($dir);
  65.  
  66. print "\n\n[+] Loading directory\n";
  67.  
  68. for my $file(@files) {
  69.  
  70. chomp $file;
  71.  
  72. my ($name,$exta) =verfile($file);
  73.  
  74. my $ext = extensiones($exta);
  75.  
  76. if ($ext ne "Yet") {
  77.  
  78. my $code = openfile($dir."/".$file);
  79.  
  80. $re = lleva($name,$code,$ext);
  81.  
  82. print "\n\n[+] File : $file\n";
  83. print "[+] Link : ".$re."\n";
  84.  
  85. savefile("uploads_paste.txt","\n[+] File : $file");
  86. savefile("uploads_paste.txt","[+] Link : ".$re);
  87.  
  88. }
  89. }
  90. } else {
  91. print "\n\n[-] Error\n\n";
  92. }
  93.  
  94. reload();
  95. }
  96.  
  97. elsif ($op eq 3) {
  98. copyright();
  99. <stdin>;
  100. exit(1);
  101. }
  102.  
  103. else {
  104. menu();
  105. }
  106. }
  107.  
  108. sub copyright {
  109. print "\n\n(C) Doddy Hackman 2011\n\n";
  110. }
  111.  
  112. sub header {
  113.  
  114.  
  115. PPPP     AA     SSSSTTTTTTEEEE    BBBB   II NN   NN     UU  UU  PPPP
  116. PP PP    AA    SS  S  TT  EE      BB BB  II NNN  NN     UU  UU  PP PP
  117. PP PP   AAAA   SS     TT  EE      BB BB  II NNNN NN     UU  UU  PP PP
  118. PPPP    A  A    SSS   TT  EEEE    BBBB   II NN N NN     UU  UU  PPPP
  119. PP     AAAAAA     SS  TT  EE      BB BB  II NN NNNN     UU  UU  PP  
  120. PP     AA  AA  S  SS  TT  EE      BB BB  II NN  NNN     UUUUUU  PP  
  121. PP     AA  AA  SSSS   TT  EEEE    BBBB   II NN   NN      UUUU   PP  
  122.  
  123.  
  124. );
  125.  
  126. }
  127.  
  128. sub clean {
  129. system("cls");
  130. }
  131.  
  132.  
  133.  
  134. sub verdir{
  135. my @archivos;
  136. opendir DIR,$_[0];
  137. my @archivos = readdir DIR;
  138. for (@archivos) {
  139. if (-f $_[0]."/".$_) {
  140. push(@files,$_)
  141. }
  142. }
  143. return @files;
  144. }
  145.  
  146. sub verfile {
  147. if ($_[0]=~/(.*)\.(.*)/ig) {
  148. return ($1,$2);
  149. }
  150. }
  151.  
  152. sub extensiones {
  153.  
  154. if ($_[0] =~/py/ig) {
  155. $code  = "python";
  156. }
  157. elsif ($_[0] =~/pl/ig) {
  158. $code = "perl";
  159. }
  160. elsif ($_[0] =~/rb/ig) {
  161. $code = "ruby";
  162. }
  163. elsif ($_[0] =~/php/ig) {
  164. $code = "php";
  165. }
  166. elsif ($_[0] =~/txt/ig) {
  167. $code = "";
  168. }
  169. else {
  170. $code = "Yet";
  171. }
  172. return $code;
  173. }
  174.  
  175. sub reload {
  176. print "\n\n[?] Enter for continue\n\n";
  177. <stdin>;
  178. menu();
  179. }
  180.  
  181.  
  182.  
  183. sub savefile {
  184. open (SAVE,">>logs/".$_[0]);
  185. print SAVE $_[1]."\n";
  186. close SAVE;
  187. }
  188.  
  189. sub openfile {
  190.  
  191. my $r;
  192.  
  193. open (FILE,$_[0]);
  194. @wor = <FILE>;
  195. close FILE;
  196. for(@wor) {
  197. $r.= $_;
  198. }
  199. return $r;
  200. }
  201.  
  202. sub lleva {
  203. return $nave->post('http://pastebin.com/api_public.php',{ paste_code => $_[1],paste_name=> $_[0],paste_format=>$_[2],paste_expire_date=>'N',paste_private=>"public",submit=>'submit'})->content;
  204. }
  205.  
  206. # ¿ The End ?
  207.