⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 scanlogin.pas

📁 明小子旁注Domain3.0和Domain2.2两个版本源码
💻 PAS
字号:
{##########################################
         旁注入侵专用程序 3.0升级版
 ----------------------------------------
  模块:SQL注入检测 - 扫描后台地址
  描述:该单元为扫描后台地址的多线程单元
  作者:2005.3.31日晚上  明小子
##########################################}

unit ScanLogin;

interface

uses
  Classes, CheckUrlAddr, SysUtils, CheckLst, StdCtrls, Windows, Messages, ComCtrls;

type
  ScanAdminLogin = class(TThread)
  private
    Th_Num: integer;
    Th_ChkLsb: TCheckListBox;
    Th_Lsb: TListBox;
    Th_Lsv: TListView;
    Th_Url: string; {检测地址}
    Th_Count: integer; {线程的数量}
    ifor: integer;
    Link: string;
    procedure ShowLinkLsv;
    procedure ShowLinkLsb;
  protected
    procedure Execute; override;
  public
    constructor Create(Num: integer; Url: string; ThCount: integer; ChkLsb: TCheckListBox; Lsb: TListBox; Lsv: TListView);
  end;

implementation

uses MainUnit;

constructor ScanAdminLogin.Create(Num: integer; Url: string; ThCount: integer; ChkLsb: TCheckListBox; Lsb: TListBox; Lsv: TListView);
begin
  Th_Num := Num; {记录值}
  Th_Url := Url; {检测的地址}
  Th_ChkLsb := ChkLsb; {检测的页面}
  Th_Count := ThCount; {线程的数量}
  Th_Lsb := Lsb; {显示检测结果}
  Th_Lsv := Lsv; {保存存在路径}
  FreeOnTerminate := True;
  inherited Create(False);
end;

procedure ScanAdminLogin.ShowLinkLsb;
begin
  Link := Th_Url + Th_ChkLsb.Items[ifor];
  Th_Lsb.Items.Add(Link);
  Th_Lsb.Perform(WM_VSCROLL, SB_Bottom, 0);
  MainForm.RzGroupBox18.Caption := '已检测连接:' + inttostr(Th_Lsb.Items.Count) + '条';
end;

procedure ScanAdminLogin.ShowLinkLsv;
begin
  with Th_Lsv.Items.Add do
  begin
    Caption := Link;
    SubItems.Add('存在 - ' + inttostr(Th_Lsv.Items.Count));
  end;
end;

procedure ScanAdminLogin.Execute;
var
  i: integer;
  Res, AVG, Count: integer;
begin
  Count := Th_ChkLsb.Items.Count; {检测页面的数量}

  if (Count mod Th_Count) = 0 then
    AVG := (Count div Th_Count)
  else
    AVG := (Count div Th_Count) + 1;

  for i := (Th_Num * AVG) - AVG to (Th_Num * AVG) - 1 do {线程分块检测}
  begin
    if Terminated then Exit;
    if i >= Count then Exit;
    ifor := i;
    if Th_ChkLsb.Checked[i] then
    begin
      Synchronize(ShowLinkLsb);
      if CheckUrl(Link, 10000) then
      begin
        Synchronize(ShowLinkLsv);
      end;
    end;
    sleep(50);
  end;

end;
end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -