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

📄 threadgetwebdomains.pas

📁 sql inject HDSI3--delphi.rar
💻 PAS
字号:
unit ThreadGetWebDomains;

interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,idhttp;

type
  TThreadGetWebDomains = class(TThread)
  ipaddress:string;
  private
	    procedure GetWebDomains;
      procedure GetALLSite(HTMLCode:string);
  private

  published
  procedure Execute; override;
  public
  end;
implementation
uses
main_unit;
//******************************************************************************

procedure TThreadGetWebDomains.Execute;
begin
    try
	    GetWebDomains;
    except
    end;
end;


//******************************从ip获取域名×××批量扫描部分
//================== 获取HTML代码及执行查询的过程函数 ===================
procedure TThreadGetWebDomains.GetWebDomains;
const
GetSiteaText1 = 'http://whois.webhosting.info/';
GetSiteaText2 ='?pi=';
GetSiteaText3 ='&ob=SLD&oo=ASC';
SiteNULLText = 'Details';             //没有绑定国际域名的特征码
ValiDateText = 'Enter the security';  //提示输入验证码的特征码
var
//RecordTime : TTime;                   //记录开始时间
GetSiteaText : String;                //将GetSiteaText1..3 组合起来查询
SiteNULLTextPos : integer;            //没有绑定国际域名的特征码的位置
ValiDateTextPos : integer;            //提示输入验证码的特征码的位置
IdHTTP1:TIDHTTP;
HTMLCode:string;
begin
try
  try
  IdHTTP1:=TIDHTTP.Create(nil);
  //RecordTime:=Now;
  //Form_main.btQuery.Enabled:=False;
  GetSiteaText:=GetSiteaText1+ipaddress+GetSiteaText2+IntToStr(RecQueryPage)+GetSiteaText3;
  HTMLCode:=IdHTTP1.Get(GetSiteaText); //将获取到的代码保存到HTMLCode中
  //Form_main.Label24.Caption:='当前页面: '+inttostr(RecQueryPage);

 //===================== 判断是否需要输入验证码 ========================
  ValiDateTextPos:=Pos(ValiDateText,HTMLCode);
  if ValiDateTextPos > 1 then
    begin
      application.MessageBox('提示:暂时无法查询,请手动输入验证码!到http://whois.webhosting.info查询'+#10#13+
                          '提交完验证码后再查询!','请输入验证码',48);

      Exit;
    end;//-------------------------- END -------------------------------

  //======================= 判断IP上是否有绑定域名 =====================
  SiteNULLTextPos:=Pos(SiteNULLText,HTMLCode);
  if SiteNULLTextPos > 1 then
    begin
      application.MessageBox('提示:该IP地址并没有绑定任何域名!'+#10#13+
                            '请尝试查询其他IP地址!','提示',32);
      Exit;
    end;
//-------------------------- END -------------------------------
//=========================== 查询部分 ===============================

  //GetSiteSum;                 //获取完毕HTML代码后,调用获取域名总数的过程
  GetALLSite(HTMLCode);                 //获取完毕HTML代码后,调用分解所有域名的过程
  //if RecQueryPage=1 then Form_main.BtUp.Enabled:=False;
  //if RecQueryPage>1 then Form_main.BtUp.Enabled:=True;
  finally
    IdHTTP1.Free;
  end;
except
end;
end;


//==================== 分解出HTMLCode中域名字符串 =====================
procedure TThreadGetWebDomains.GetALLSite(HTMLCode:string);
const
GetSitesPosText ='.">';       //起始位置的特征码
GetSiteePosText ='.</a>';     //终止位置的特征码
var
SitesPos,SiteePos,SiteTextLen : integer;  //记录以上常量的起始位置和终止位置
begin
try
  //先清空list_view
  Form_main.ListView_pangzhu.Clear;
  //Form_main.ListView_pangzhu.Items.Add(Form_main.Edit_pangzhu_scan.Text);

  {当Pos特征码GetSitesPosText后返回的值大于0时循环剪切出GetSitesPosText与
  GetSiteePosText之间的域名,当Pos返回值小于0时,退出该循环}
  while Pos(GetSitesPosText,HTMLCode) > 0 do
    begin
      SitesPos:=Pos(GetSitesPosText,HTMLCode)+Length(GetSitesPosText);
      SiteePos:=Pos(GetSiteePosText,HTMLCode);
      SiteTextLen:=SiteePos - SitesPos;
      Form_main.ListView_pangzhu.Items.Add(LowerCase(Copy(HTMLCode,SitesPos,SiteTextLen)));
      //将GetSitesPosText替换为空,继续循环往下查找
      HTMLCode := StringReplace(HTMLCode, GetSitesPosText, '', [rfIgnoreCase]);
      //将GetSiteePosText替换为空,继续循环往下查找
      HTMLCode := StringReplace(HTMLCode, GetSiteePosText, '', [rfIgnoreCase]);
    end;
  //Form_main.Label23.Caption:=Format('本页显示: %d - %d',[1,Form_main.SiteList.Items.Count]);
  //Form_main.BtUp.Enabled:=True;
 Except //出错,不做处理
 End;
end;


end.

⌨️ 快捷键说明

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