標籤:Asp SQL注入擷取某伺服器許可權
1.1 Asp SQL注入擷取某伺服器許可權
對於Asp類型網站SQL注入,如果當前資料庫為MSSQL,且許可權為sa的情況下,可以通過恢複xp_cmdshell方法來直接執行命令,甚至有的可能直接是system許可權。可以執行命令直接添加帳號和密碼,如果開啟3389則可以直接登入伺服器。當然也有網站存在SQL注入,但其許可權較低,例如public許可權,則可以通過sql注入擷取其管理員表中的帳號及密碼,通過登入後台尋找漏洞擷取webshell,本文是sqlmap攻防系列專欄的一個補充,通過sqlmap可以方便的擷取資料,查看反饋資訊,但有時候需要藉助一些其他工具來實施滲透和擷取webshell。
1.1.1漏洞掃描及分析
1. 使用Jsky進行漏洞掃描
使用jsky漏洞掃描工具對目標網站進行漏洞掃描,1所示,在其中主要出現有原始碼泄露及四個sql注入漏洞,真正存在SQL注入點的有兩個地址。
圖1使用Jsky進行漏洞的掃描
2.SQL注入漏洞利用
選擇存在漏洞SQL注入地址,使用Jsky內建的SQL注入漏洞分析工具pagonlin進行注入測試,經測試,該注入點資料庫類型為MSSQL,資料庫使用者帳號類型為public。對其中的資料庫表進行分析,發現存在employee表,對其進行猜測,在猜測過程中,發現只能單獨擷取一個欄位,通過多次猜測將Userid值和Password值擷取。
3.產生報告
使用工具中到匯出掃描結果到本地,2所示,分兩次將掃描結果匯出為userid和password檔案。
圖2擷取工作人員密碼及使用者名稱值
1.1.2Asp SQL注入漏洞利用
1.使用者名稱及密碼整理
將Userid和對應的密碼值進行整理,3所示,一行一個值,並通過www.cmd5.com和www.somd5.com網站對該md5加密之進行破解,擷取admin的密碼為850627。
圖3整理使用者名稱及密碼
2.讀取本地檔案
由於該sql注入點的許可權太低,無法讀取本地檔案
3.登入後台
通過前面的掃描知道其後台地址為http://www.xxx.org.cn/manage/login.asp,使用擷取的密碼和帳號進行登入,4所示,成功進入後台,在後台模組中有個人管理、欄目管理、下載管理、資訊管理、客戶管理和系統功能。
圖4登入後台
1.1.3擷取webshell許可權
1.對網站後台各個功能模組進行分析和查看
在後台管理頁面根據其連結地址對各個功能模組進行查看、分析和測試,在其下載管理中存在檔案上傳功能。
2.直接上傳檔案漏洞
5所示,在資源下載-系統分析模組下,單擊上傳選擇一個asa的webshell檔案,上傳成功後,其系統返回一個值,該值為webshell的真真實位址。
圖5直接上傳webshell
3.擷取webshell
將url+webshell地址在瀏覽器中進行訪問,輸入shell登入密碼後,6所示,成功擷取webshell。
圖6擷取webshell
1.1.4伺服器提權及密碼擷取
1.伺服器資訊收集
通過webshell對提權目錄列表進行查看和分析,在該伺服器上安裝有Serv-U程式。
2.使用Serv-U進行伺服器提權
在webshell中直接使用內建的Serv-U提權功能,添加一個使用者wang$密碼188,7所示,顯示命令執行成功,注意有些時候命令顯示成功,但未必真正在被提權伺服器上執行成功。
圖7Serv-U提權
3.遠程終端登入測試
使用添加到使用者登入遠程伺服器,8所示,使用wang$帳號成功登入該網站伺服器。
圖8登入遠程終端
4.擷取雜湊值並破解器密碼
通過gethash等軟體擷取系統雜湊值,然後將其雜湊值在ophcrack中進行破解,9所示,成功破解器密碼為[email protected],可以看出其密碼分為LMpwd1和LMpwd2部分。
圖8破解伺服器登入密碼
1.1.5.Asp MSSQL資料庫SQL注入漏洞滲透總結
1. 資料庫許可權為sa,可以通過注入工具對注入點進行測試,如果可以執行命令,則可以執行“exec master..xp_cmdshell ‘net user wang$ 123456qaw /add‘添加,有的工具可以直接執行DOS命令。通過tasklist /svc擷取遠程終端服務對於的PID值,通過netstat –ano擷取PID值對應的連接埠,該連接埠即為3389連接埠。
2.資料庫許可權不為sa,可以通過Database Backup擷取webshell
3.無法通過Database Backup擷取webshell,則可以通過對資料庫表內容進行查看,擷取管理員表中管理員及密碼,通過登入後台尋找可利用的漏洞,例如擷取網站的真實路徑,擷取Database Backup,擷取檔案上傳等。
4.可以使用sqlmap進行漏洞測試和webshell直接擷取。
5.在前面專欄中介紹了使用sqlmap的一些方法和手段,在實際滲透過程中需要靈活運用,sqlmap是國外開發的,特定的情境需要特殊處理。如果是db_owner許可權,通過sqlmap的--os-shell命令如果不能擷取webshell,則可以嘗試通過sqltools、pagonlin注入攻擊來進行測試。
題外話:我在51CTO部落格上線了自己的專欄《sqlmap滲透攻擊入門到實戰》,歡迎網安同道們切磋交流
Asp SQL注入擷取某伺服器許可權