PHP+MYSQL网站注入扫描[18]

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 lanyus 的 blog

使用d7编写,界面比较难看,和教主的工具对比了一下,感觉比他的工作扫描速度要快很多

主要单元代码:

unit unit1;

interface

uses
windows, messages, sysutils, variants, classes, graphics, controls, forms,
dialogs, spin, stdctrls, comctrls, buttons, extctrls, idhttp, unit2, unit3,
olectrls, shdocvw;

type
tform1 = class(tform)
  panel8: tpanel;
  label15: tlabel;
  label16: tlabel;
  label17: tlabel;
  edtinjurl: tedit;
  edtkey: tedit;
  edtfieldnum: tedit;
  rdbnum: tradiobutton;
  rdbchar: tradiobutton;
  panel1: tpanel;
  pcphpinj: tpagecontrol;
  tabsheet1: ttabsheet;
  sbscan1: tspeedbutton;
  sbstop1: tspeedbutton;
  sbscan2: tspeedbutton;
  sbstop2: tspeedbutton;
  panel15: tpanel;
  groupbox5: tgroupbox;
  lvtable: tlistview;
  groupbox6: tgroupbox;
  lvfield: tlistview;
  tabsheet2: ttabsheet;
  groupbox7: tgroupbox;
  label18: tlabel;
  label19: tlabel;
  label20: tlabel;
  label21: tlabel;
  spfield1: tspinedit;
  spfield2: tspinedit;
  edtfield1: tedit;
  edtfield2: tedit;
  edttable: tedit;
  edtid: tedit;
  groupbox8: tgroupbox;
  label22: tlabel;
  edtfilename: tedit;
  sbrecord: tspeedbutton;
  sbfile: tspeedbutton;
  mm: tmemo;
  sbscan: tspeedbutton;
  tabsheet3: ttabsheet;
  lsbdict: tlistbox;
  tabsheet4: ttabsheet;
  wb: twebbrowser;
  spnum: tspinedit;
  groupbox1: tgroupbox;
  sbscan3: tspeedbutton;
  sbstop3: tspeedbutton;
  listbox1: tlistbox;
  tabsheet5: ttabsheet;
  mmabout: tmemo;
  statusbar1: tstatusbar;
  procedure sbscanclick(sender: tobject);
  procedure sbstop1click(sender: tobject);
  procedure sbscan1click(sender: tobject);
  procedure sbscan2click(sender: tobject);
  procedure lvfieldclick(sender: tobject);
  procedure lvtableclick(sender: tobject);
  procedure sbrecordclick(sender: tobject);
  procedure sbfileclick(sender: tobject);
  procedure sbstop2click(sender: tobject);
  procedure sbscan3click(sender: tobject);
  procedure sbstop3click(sender: tobject);
  procedure listbox1click(sender: tobject);
  procedure formshow(sender: tobject);
private
  { private declarations }
  url,keyword:string;
  istr,injurl:string;
  //弹出信息框
  procedure msgbox(strmsg: string);
  procedure seturl;
  function get(url,key: string): boolean;
  procedure injtable;
  procedure fieldthreadexit(sender: tobject);
  procedure managerthreadexit(sender: tobject);
public
  { public declarations }
  pg1:tprogressbar;
end;

var
form1: tform1;
//scantable :array of scantablethread; // 定义线程数组
scanfield :array of scanfieldthread;
scanmanager :array of scanmanagerthread;
scantable: scantablethread; //扫描表段线程
isfinish:boolean=false;

n:integer=0;
m:integer=0;

implementation


{$r *.dfm}

{ tform1 }

procedure tform1.msgbox(strmsg: string);
begin
application.messagebox(pchar(strmsg), '提示信息', mb_iconinformation);
end;

procedure tform1.seturl;
begin
begin
if rdbnum.checked then
  url := trim(edtinjurl.text)
else
  url := trim(edtinjurl.text)+#39;
end;
end;

procedure tform1.sbscanclick(sender: tobject);
var
scan:scanthread;
begin
if (edtinjurl.text='') then
begin
  msgbox('请输入要注入的地址!');
  exit;
end;
if (edtkey.text='') then
begin
  msgbox('请输入要注入的关键字!');
  exit;
end;
seturl;
keyword:=trim(edtkey.text);
pg1.visible :=false;
//scan :=scanthread.create(url,keyword,mm);
scan :=scanthread.create(false);
end;

function tform1.get(url,key: string): boolean;
var
idhttp: tidhttp;
ss: string;
begin
result:= false;
idhttp:= tidhttp.create(nil);
try
  try
    idhttp.handleredirects:= true;   //必须支持重定向否则可能出错
    idhttp.readtimeout:= 30000;     //超过这个时间则不再访问
    ss:= idhttp.get(url);
    if key='' then
    begin
    if idhttp.responsecode=200 then
      result :=true;
    end else
    begin
    if (idhttp.responsecode=200) and (pos(key,ss)>0) then
      result :=true;
   

本文关键:PHP+MYSQL网站注入扫描
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top