一、SA許可權執行命令,如何更快捷的獲取結果?
有顯示位
顯示位
其實這裡的關鍵並不是有無顯示位。exec master..xp_cmdshell ‘systeminfo’生成的資料寫進一張表的時候,會產生很多行。而我們要做的就是如何很多行透過顯示位、或者報錯語句一次性爆出來,這裡的關鍵就是多行合一。
方法①
圖片
解析:
這裡6-9句的意思是申明一個@result的臨時變數;
設定初始值為’~’;將test_1中的資料資料依次取出來,迭代條件是output>’ ‘,並組合成新的字串,字串之間用空格隔開最後複製給@result;然後將@result設定一個別名,然後插入test_2中。
最後報錯回顯
PS:
mssql英文字母比較大小不區分大小寫
mssql字串比較大小和C語言中的str_cmp()一樣的道理
方法②(注入點測試成功、測試平臺SQL Server2008- 10.0.1600.22 (X64)
圖片
二、如何快速尋找網站目錄(SA使用者)
SA使用者被降權
SA使用者未被降權
這裡區分降權與非降權是有道理的,如果沒有被降權。那麼許可權很高就可以讀取某些儲存在本機的配置了,如果許可權低一點的話,可以使用dir命令查詢。
方法①(被降權:–親測成功):
圖片
方法②(未被降權–system–親測成功):
圖片
方法③(sa+system許可權+IIS7.0+IIS7.5):
%systemroot%/system32/inetsrv/appcmd.exe list site ——列出網站列表
%systemroot%\system32\inetsrv\appcmd.exe list vdir ——列出網站物理路徑
PS: %systemroot%代表c:\windows\
三、如何利用注入點getshell
方法①(差異備份)–客戶端親測成功–並未要求許可權,可以在非sa許可權的注入點測試
圖片
方法②(減小體積)–客戶端親測成功–並未要求許可權,可以在非sa許可權的注入點測試
圖片
PS:
如果不能備份,很有可能是訪問許可權的問題。可以切換目錄嘗試
如果表存在,也不能成功;所以先判斷表是否存在,如果存在就刪除。
方法③(echo 輸出一句話木馬)–sa許可權+當前使用者寫許可權–親測成功
圖片
PS:這裡由於是注入點,因此需要注意編碼的問題。一般來說,網頁的編碼和資料庫的編碼是一致的(如果不一致~算我輸)。這裡我用了一箇中文路徑做說明。
四、如何避免使用select之類的關鍵字
方法①:十六進位制混淆
圖片
五、登入點的注入如何最快獲取後臺密碼
本作品採用《CC 協議》,轉載必須註明作者和本文連結