◆陳志偉
(福建林業職業技術學院 福建 353000)
滲透技術是以模仿攻擊者入侵的手段及方法來檢測網絡是否健壯可靠的測試技術,該技術一方面從白盒測試的路徑全覆蓋考慮,另一方面以黑盒測試的功能性目的考慮,分析測試網站的缺陷及可能存在的弱點,并嘗試利用這些弱點實施入侵的行為過程,以此評估可能存在的風險及等級[1]。由于滲透技術具有精度高、效率快等優點,已經被廣泛應用到系統、程序、應用等安全檢測中,并取得了一定的應用成就。以此對Web 滲透實例分析與實踐進行了深入研究,為滲透技術在Web 中的應用提供理論依據。
Web 中存在多種安全隱患,經常受到網絡攻擊,其中包括注入漏洞、失效身份認證、跨網站腳本(XSS)、信息外泄漏洞、偽造跨網站請求(CSRF)等,具體說明如表1 所示。

表1 Web 安全隱患及漏洞列表

危險對象直接引用 Web 開發人員暴露對內實現對象引用,比如xml、database 等 Web 在沒有訪問控制檢測或其他保護時,黑客會操控暴露的引用去訪問Web未授權數據 配置類漏洞 安全配置錯誤 屬于網頁漏洞 由于Web 網站默認值不安全而導致 信息外泄漏洞 信息包括用戶名、口令等敏感性數據 黑客運用不正當手段進入Web 中對敏感數據進行竊取形成攻擊行為 功能級訪問控制失效 應用程序功能級訪問控制無效 服務器端執行相同的訪問控制檢查測量,為Web 攻擊者提供便利條件 偽造跨網站 請 求(CSRF) 攻擊者將偽造的跨網站請求發送到Web 上 Web 自身存在某些漏洞,偽造的請求會被認為是合法請求造成Web 攻擊 使用含已知漏洞的組件 Web 上某些程序使用帶有已知漏洞的組件 攻擊者利用已知漏洞,對Web 進行一系列攻擊 未驗證定向和轉發 Web 將用戶定向和轉發到位置網頁中進行驗證 攻擊者利用特定用戶到惡意網站或使用轉發去訪問未授權的頁面
依據表1 Web 安全隱患及漏洞列表中的問題,對Web 進行滲透測試實例分析,在整個Web 滲透測試過程中采用掃描、抓包及代碼審查等方法,使用Fluxy、X-Scan、Wireshark、Burpsuite、Sniffer 及Python IDLE 等工具,測試分析某醫療Web 是否存在上文提出的安全隱患及漏洞。為便于歸納總結,將發現的安全隱患和漏洞分類加以分析,側重于從注入類漏洞、腳本類漏洞和配置類漏洞三個角度對滲透實例分析。
在進行注入漏洞滲透測試時,首先要測試分析Web 是否存在注入點以及注入的類型,運用NMAP 或者Burpsuite 等工具對Web 進行掃描,掃描結果可以查看到Web 數據庫是否存在未過濾非法字符[2]。如果有表明存在輸入漏洞,此時Web 顯示的數據都為錯誤數據。經掃描發現,該醫療Web 的某HTTP 的ID 參數存在注入點,運用sqlmap 工具對注入點進行攻擊驗證,驗證結果如表2 所示。

表2 注入驗證數據
從表2 中可以看出,驗證表單存在字符型的SQL 注入漏洞,并且該漏洞已經獲取到醫療Web 一部分數據。
嘗試對該醫療Web 進行腳本類漏洞進行分析,通過Appscan、Wireshark 等工具對Web 找回密碼過程發送的HTTP 請求進行抓包,發現Web 找回密碼功能中,一些Web 功能未進行加密保護,同時通過Fluxy 工具掃描Web,發現可以通過admin 身份直接登錄到該醫療Web 后臺,并且發現該醫療Web 存在腳本類漏洞[3]。針對這一類漏洞,通過獲取短信驗證的方式進行加密處理,以確保用戶身份的真實有效,同時通過設置Web 后臺權限,規避非預期的越權操作,對腳本類漏洞進行了修復。
對該醫療Web 進行配置類漏洞進行滲透分析,通過X-Scan掃描器掃描,發現Web 服務器中web.coinsdf 明文存儲了數據庫的賬戶連接信息[4]。可以查看到一部分醫療信息,其中包括患者檢查報告、注冊患者基本信息等。證明該Web 存在配置類漏洞,后經過驗證,證實了滲透推測結果。
通過對該醫療Web 注入類漏洞、腳本類漏洞、配置類漏洞的滲透測試,發現了大量的Web 安全隱患,具體測試結果如表3所示。

表3 Web 滲透測試結果
通過表3 和滲透過程分析可以發現,該醫療Web 存在大量的安全漏洞,其中以注入漏洞、失效身份認證、跨網站腳本(XSS)三種漏洞數量較多,對Web 的安全運行影響較大。注入類漏洞導致醫療信息泄露[5];腳本類漏洞導致Web 部分功能失效;配置類漏洞導致攻擊者收集信息、攻擊系統更加便捷,甚至直接通過泄露的敏感信息侵入系統,Web 的魯棒性處于低值,影響正常使用。為修復以上漏洞,對該醫療Web 需要立即采取相應措施,解決Web 安全隱患問題,以此實現了Web 滲透實例分析。
一次完整的Web 滲透實踐,要經過目標搜索、信息收集、漏洞探索、漏洞利用、內網轉發、內網滲透、痕跡清除、撰寫測試等過程,下圖為Web 滲透流程圖。
在Web 滲透實踐過程中,首先要盡快確定目標,廣泛搜索各種與目標相關的有效信息,比如Web 域名、IP 地址等,以此來獲取目標的跟蹤,同時利用掃描軟件對Web 進行全面掃描,決定潛在目標[6];當搜索到目標后,運用挖掘工具對目標信息進行深度挖掘并加以整理,常用的挖掘工具有社交工程、物理闖入等,從外網收集被測目標的基本信息,然后利用各種掃描工具(如TK2012 掃描器、X-Scan 掃描器、Fluxy 掃描器、NMAP 掃描器),對目標進行端口掃描,以此來獲取端口開放信息,同時對Web的操作系統進行目標識別,以及對Web 服務軟件的基本信息進行識別,獲取到Web 的防火墻規則等[7]。除此以外,測試人員還需要獲取到Web 的網絡拓撲結構信息以及路由信息等,盡可能多的挖掘到有效信息;采集到有效信息后,以其作為依據將被測目標與安全漏洞進行關聯[8]。漏洞關聯在整個Web 滲透實踐中具有重要的作用,選取被測目標的一些特殊信息,將其與已開放的安全漏洞的相關信息進行對比,以此判斷出目標是否存在漏洞;關聯完漏洞后進入到入侵攻擊測試階段,在該階段要根據漏洞關聯發現的Web 漏洞進行有針對性的應對,利用合理的漏洞工具進行維持權限,采取相應的應對措施解決Web 漏洞問題,在攻擊結束之后要對Web 上的攻擊痕跡進行清除,以此完成Web 滲透實踐。

圖1 Web 滲透實踐流程
通過上述步驟的Web 滲透實踐,全面的掃描了Web 的漏洞,并對這些漏洞進行了修復,經再次使用不同工具軟件掃描,Web的漏洞已經修復,提高了該醫療Web 的魯棒性,使用體驗得以大幅提升。
通過此次研究表明了滲透技術對Web 安全具有重要的作用,可以有效保護Web 安全運行,快速掃描、分析出Web 上存在的安全隱患和漏洞,為Web 的穩定運行提供了良好的保障。計算機技術是在飛速發展,不斷進步的,不排除后續發現新的安全隱患和漏洞的可能,同時由于個人能力以及研究時間有限,此次雖然在Web 滲透方面取得了一定的研究成果,但是還存在一些不足之處,今后還需要在該方面進行深入的探索和研究,為Web滲透技術的發展與應用提供依據。