李盛達(dá)
(南京審計(jì)大學(xué)信息工程學(xué)院,江蘇南京 211815)
目前,隨著社交類、工具類、游戲類等新型互聯(lián)網(wǎng)產(chǎn)品的誕生,以Web 平臺(tái)為基礎(chǔ)環(huán)境的互聯(lián)網(wǎng)應(yīng)用愈加廣泛,導(dǎo)致攻擊者們將攻擊目標(biāo)轉(zhuǎn)移到Web 平臺(tái)上。Web 作為互聯(lián)網(wǎng)應(yīng)用的主要載體被廣泛應(yīng)用于各個(gè)業(yè)務(wù)系統(tǒng),但Web 應(yīng)用程序的安全性卻未受到人們重視,攻擊者利用網(wǎng)絡(luò)漏洞令用戶個(gè)人信息被泄露、篡改或銷毀,造成巨大損失。其中,又以連續(xù)幾年漏洞數(shù)量和嚴(yán)重性高居第一的注入漏洞為主,對網(wǎng)絡(luò)的安全性構(gòu)成了極大威脅,用戶使用Web 平臺(tái)的頻率隨之降低[1-2]。
網(wǎng)站安全包括Web 服務(wù)器軟件安全、Web 應(yīng)用程序安全和Web 防攻擊設(shè)備安全3 部分[3]。產(chǎn)生以上安全隱患的原因是服務(wù)器本身的漏洞以及應(yīng)用程序開發(fā)時(shí)留下的缺口,只有充分了解Web 應(yīng)用程序系統(tǒng)漏洞和攻擊者使用的攻擊手段,才能對這些漏洞采取有效的防御措施。通過對Web 服務(wù)器與應(yīng)用程序的研究了解各種漏洞特征,及時(shí)調(diào)整Web 安全防護(hù)策略,確保Web 攻防設(shè)備將這些安全威脅維持在可控范圍內(nèi),對于構(gòu)建一個(gè)安全的網(wǎng)絡(luò)環(huán)境,提高Web 服務(wù)器和應(yīng)用程序的安全性,減少安全事故的發(fā)生具有重要意義。
Web 安全漏洞是指一個(gè)Web 系統(tǒng)(包括服務(wù)器、應(yīng)用程序等組件)在設(shè)計(jì)與實(shí)現(xiàn)過程中存在的易受攻擊的安全缺陷。一些非法用戶利用這些漏洞可獲得更高權(quán)限,并在未經(jīng)授權(quán)的情況下對系統(tǒng)進(jìn)行操作,從而破壞系統(tǒng)的安全性[4-5]。Web 體系結(jié)構(gòu)如圖1 所示。
Fig.1 Web architecture圖1 Web 體系結(jié)構(gòu)
目前針對Web 服務(wù)器上的安全隱患研究主要分為3 個(gè)方面:一是用戶對Web 進(jìn)行訪問請求時(shí)遭拒,接收不到響應(yīng)消息。李爽等[6]結(jié)合DDoS 攻擊原理與攻擊過程,提出使用免費(fèi)開源工具DDoS deflate 預(yù)防DDoS 攻擊。二是公共網(wǎng)關(guān)接口是外部應(yīng)用程序與Web 信息服務(wù)之間交換數(shù)據(jù)的接口,可實(shí)現(xiàn)Web 瀏覽器各用戶之間的交互,因此易造成安全隱患。盧志科等[7]采用分布式架構(gòu)與多線程技術(shù),將主動(dòng)掃描與被動(dòng)檢測相結(jié)合,并通過相應(yīng)插件對Web 系統(tǒng)進(jìn)行掃描,從而快速識(shí)別出owasp10 常見漏洞。三是當(dāng)遠(yuǎn)程用戶向服務(wù)器發(fā)送信息(如賬戶、密碼)時(shí),在傳輸過程中被攻擊者攔截。Traore[8]通過simple Box 和secret Box,應(yīng)用固態(tài)加密算法Salsa20/Chacha20 構(gòu)建一種安全的Web 服務(wù)。但以上方案只介紹了漏洞查詢方法與攻擊原理,未涉及漏洞測試及修復(fù)工作,因此可使用CSRF 等工具進(jìn)行目標(biāo)枚舉,實(shí)施對點(diǎn)防護(hù)。實(shí)驗(yàn)結(jié)果證明,該方法可有效阻止漏洞產(chǎn)生。
目前,圍繞Web 應(yīng)用安全所探討的問題主要分為4 類:一是Web 平臺(tái)軟件的安全威脅(包括Web 應(yīng)用程序使用的操作系統(tǒng)、http 底層服務(wù)器軟件和第三方應(yīng)用程序等,涵蓋數(shù)據(jù)庫和企業(yè)內(nèi)部網(wǎng)絡(luò))。周琳娜等[9]針對網(wǎng)絡(luò)信息安全威脅提出具體防護(hù)措施,抵御以高級持續(xù)威脅為主的惡意攻擊,并彌補(bǔ)傳統(tǒng)網(wǎng)絡(luò)安全缺陷。二是拒絕服務(wù)攻擊Dos,由于網(wǎng)關(guān)映射等虛擬IP 的存在,不能根據(jù)IP 地址判斷請求來源,目前尚無可靠辦法確定http 請求來源,導(dǎo)致合法用戶不能使用服務(wù)。Yang 等[10]針對最小化問題設(shè)計(jì)一種基于梯度下降思想的改進(jìn)多智能體一致性協(xié)議,以期在通信網(wǎng)絡(luò)遭受惡意DoS 攻擊時(shí),保障網(wǎng)絡(luò)電力系統(tǒng)的抗毀性和經(jīng)濟(jì)性。三是SQL 注入,通過SQL 命令插入到Web 表單遞交、域名輸入、頁面請求的查詢字符串中,最終達(dá)到欺騙服務(wù)器執(zhí)行惡意SQL 命令的目的。在此情況下,Web 應(yīng)用程序在數(shù)據(jù)輸入程序之前忽略對數(shù)據(jù)合法性的檢驗(yàn),從而使攻擊者操縱SQL 代碼以獲取用戶名、密碼等信息,或竊取并銷毀后臺(tái)數(shù)據(jù)。Fu 等[11]研究SQL 注入攻擊機(jī)制與原理,以解決SaaS、PaaS 和IaaS 虛擬化技術(shù)未能增強(qiáng)抵御此類攻擊能力的問題。四是跨站腳本攻擊XSS,針對攻擊者、客戶和網(wǎng)站三方設(shè)計(jì),用于Web 應(yīng)用服務(wù)器端的通用網(wǎng)關(guān)接口(CGI)程序,竊取客戶端Cookie 或其他網(wǎng)站用來識(shí)別客戶身份的敏感信息,這些可執(zhí)行代碼由攻擊者提供,并最終加載到用戶瀏覽器。馮倩[12]提出XSS 攻擊防御策略,并實(shí)現(xiàn)了一種XSS 漏洞檢測工具,能有效檢測Web 應(yīng)用中存在的XSS 漏洞。上述問題雖然已得到詳細(xì)的分析與處理,但未采取實(shí)驗(yàn)驗(yàn)證方法,說服性較弱。因此,本文通過搭建實(shí)驗(yàn)平臺(tái),針對AWVS 所掃描的漏洞進(jìn)行統(tǒng)一測試與修復(fù),提出多種測試及修復(fù)方案供研究者參考,并從Web 服務(wù)器、Web 應(yīng)用開發(fā)者、Web 網(wǎng)站管理員3 個(gè)方面提出多項(xiàng)防護(hù)策略及建議,可有效彌補(bǔ)這一短板。
從開源網(wǎng)站下載ASP+ACCESS 源碼進(jìn)行網(wǎng)站搭建,如圖2 所示。
Fig.2 Website building圖2 網(wǎng)站搭建
2.2.1 域名信息
由于本地測試網(wǎng)站無正式域名,因此先測試一個(gè)有域名的正式網(wǎng)站。測試網(wǎng)站為:www.chinaz.com,進(jìn)行對應(yīng)IP收集,檢測結(jié)果如圖3 所示。
Fig.3 IP collection圖3 IP 收集
使用站長工具(www.chinaz.com)進(jìn)行whois 查詢,根據(jù)查詢結(jié)果,可根據(jù)已知域名進(jìn)行反查,分析出域名的注冊人、郵箱、電話、注冊地址等。
2.2.2 整站分析
整站分析界面如圖4 所示。由圖可知,網(wǎng)站主要為ASP.NET 類型,服務(wù)器為Microsoft-IIS/6.0,響應(yīng)頭為cookie,連接類型為text/html,字符集為utf-8,緩存規(guī)則為private,即內(nèi)容僅緩存到私有緩存中,且客戶端可緩存,代理服務(wù)器不能緩存。
2.2.3 敏感目錄分析
本文主要的收集方向?yàn)椋簉obots.txt、后臺(tái)目錄、安裝包、上傳目錄、安裝頁面、編輯器、iis 短文件等,使用御劍掃描結(jié)果如圖5 所示。
Fig.4 Whole station analysis圖4 整站分析
Fig.5 Catalog scan圖5 目錄掃描
從txt 說明里可得出默認(rèn)管理路徑為www,域名為com/admin,用戶名和密碼均為admin。本地測試是指需要開啟IIS 的父路徑,設(shè)置默認(rèn)文檔中存在index.asp 是指本地測試時(shí)網(wǎng)站所在文件需要開啟讀寫權(quán)限。網(wǎng)絡(luò)攻擊者可利用這些信息修改拿到后臺(tái)權(quán)限,并進(jìn)行破壞。
2.2.4 端口掃描
利用Nmap 進(jìn)行主機(jī)端口掃描,完成主機(jī)探測、版本檢測與系統(tǒng)檢測等。通過對設(shè)備或防火墻的探測審計(jì)其安全性,探測目標(biāo)主機(jī)所開放的端口,通過識(shí)別新的服務(wù)器審計(jì)網(wǎng)絡(luò)的安全性,并探測網(wǎng)絡(luò)上的主機(jī)[13]。掃描結(jié)果如圖6 所示。
Fig.6 Port scan圖6 端口掃描
從掃描結(jié)果中可看到網(wǎng)站開放的8 個(gè)端口,以及各端口的所屬協(xié)議、服務(wù)名稱、版本信息。網(wǎng)絡(luò)攻擊者可通過這些信息進(jìn)行深層次的攻擊,破壞網(wǎng)絡(luò)安全。
通過Acunetix Web Vulnerability Scanner(AWVS)進(jìn)行漏洞查詢,測試網(wǎng)站安全性并通過網(wǎng)絡(luò)爬蟲檢測流行的安全漏洞[14],如圖7 所示。共發(fā)現(xiàn)24 處安全風(fēng)險(xiǎn),檢測結(jié)果如表1 所示。
Fig.7 Vulnerability scanning圖7 漏洞掃描
Table 1 AWVS test results表1 AWVS 檢測結(jié)果
SQL 注入是最常見的手工查詢方式。經(jīng)過測試,在地址欄進(jìn)行and 1=1 時(shí)轉(zhuǎn)碼,分析出該網(wǎng)站并沒有SQL 注入漏洞。
根據(jù)AWVS 掃描結(jié)果可知有3 種形式的漏洞:高危漏洞、中危漏洞和低危漏洞。
2.4.1 高危漏洞
跨站點(diǎn)腳本(XSS):這是一種html 注入攻擊,分為反射型和存儲(chǔ)型。反射型XSS 誘導(dǎo)用戶點(diǎn)擊帶有惡意代碼的鏈接或圖片;存儲(chǔ)型XSS 在服務(wù)器端保留一個(gè)含有惡意代碼的JS 代碼,每一個(gè)訪問者都會(huì)被動(dòng)執(zhí)行該代碼。由于瀏覽器無法識(shí)別腳本來源是否可靠,因此腳本將在用戶上下文中執(zhí)行,攻擊者可訪問瀏覽器保留的全部Cookie 和會(huì)話令牌。攻擊原理如圖8 所示[15]。
惡意用戶可能會(huì)將JavaScript、VBScript、ActiveX、HTML 或Flash 注入易受攻擊的應(yīng)用程序中,欺騙用戶從這些應(yīng)用程序中收集數(shù)據(jù)。攻擊者可竊取會(huì)話Cookie 并冒充用戶接管賬戶,還可修改呈現(xiàn)給用戶的頁面內(nèi)容[16]。受影響的項(xiàng)目:/nav/。
Fig.8 XSS attack principle圖8 XSS 攻擊原理
Microsoft IIS 目錄枚舉:通過在Microsoft IIS 的幾個(gè)版本中使用一些向量,可檢測在Windows 中具有與8.3 文件命名方案等效的文件和目錄短名稱。特別是對于.net 網(wǎng)站而言,由于攻擊者可以找到通常不可見的重要文件和文件夾,因此能很容易地直接訪問URL,這種脆弱性可能使敏感信息暴露。
2.4.2 中危漏洞
沒有CSRF 保護(hù)的HTML 表單:此警告可能為假陽性,需要手動(dòng)確認(rèn)。CSRF 是攻擊者利用用戶身份操作用戶賬戶的一種方式,由于Web 的隱式身份驗(yàn)證機(jī)制,通過這種攻擊,未經(jīng)授權(quán)的命令從網(wǎng)站信任的用戶那里傳輸。AWVS 發(fā)現(xiàn)了一個(gè)沒有明顯實(shí)現(xiàn)CSRF 保護(hù)的HTML 表單,受影響的項(xiàng)目包括/message.asp 等,這種脆弱性使攻擊者能夠強(qiáng)制Web 應(yīng)用程序的用戶執(zhí)行攻擊者選擇的操作[17]。若管理員用戶遭到攻擊,將波及到整個(gè)Web 站點(diǎn)。
脆弱的JavaScript 庫:該版本的JavaScript 庫報(bào)告了一個(gè)或多個(gè)漏洞,受影響的項(xiàng)目為/common/ js/ jquery-1.8.3.min.js。若網(wǎng)站包含指向第三方托管JavaScript 文件的script 標(biāo)簽,則該網(wǎng)站所有訪問者都將下載并執(zhí)行該文件。一旦攻擊者破壞托管JavaScript 文件的此類服務(wù)器并將DDoS 代碼添加到文件中,則所有訪問者都將成為DDoS 攻擊的一部分,從而造成拒絕服務(wù)攻擊,使服務(wù)器癱瘓。
2.4.3 低危漏洞
缺少X-Frame-Options 頭:“點(diǎn)擊劫持”是一個(gè)惡意的欺騙技術(shù),指Web 用戶點(diǎn)擊不同內(nèi)容可能會(huì)透露機(jī)密信息,分為用戶界面糾正攻擊、UI 糾正攻擊、UI 糾正3 類[18]。服務(wù)器沒有返回X-Frame-Options 頭,意味著該網(wǎng)站可能面臨點(diǎn)擊劫持攻擊的風(fēng)險(xiǎn)。受影響的項(xiàng)目:Web 服務(wù)器。這種脆弱性的影響:取決于受影響的Web 應(yīng)用程序。
沒有設(shè)置HttpOnly 標(biāo)志的Cookie:此Cookie 沒有設(shè)置HttpOnly 標(biāo)志。這種脆弱性的影響:無。
啟用OPTIONS 方法:此Web 服務(wù)器上啟用了HTTP 選項(xiàng)。OPTIONS 方法提供Web 服務(wù)器支持的方法列表,表示對于url 標(biāo)識(shí)請求可用的通信選項(xiàng)信息[19]。受影響的項(xiàng)目:Web 服務(wù)器。這種脆弱性的影響:OPTIONS 方法可能會(huì)暴露敏感信息,從而幫助惡意用戶準(zhǔn)備更高級的攻擊。
可能敏感的目錄:找到一個(gè)可能的敏感目錄,該目錄不是直接從網(wǎng)站鏈接。檢查并查找常見的敏感資源,如備份目錄、數(shù)據(jù)庫轉(zhuǎn)儲(chǔ)、管理頁面、臨時(shí)目錄等。每一個(gè)目錄信息都能使攻擊者更全面地了解攻擊目標(biāo)。受影響的項(xiàng)目:/system。這種脆弱性的影響:該目錄可能會(huì)暴露敏感信息,幫助惡意用戶準(zhǔn)備更高級的攻擊。
XSS 跨站腳本漏洞測試:XSS 跨站腳本漏洞是指由于Web 應(yīng)用程序?qū)τ脩糨斎脒^濾不嚴(yán),出現(xiàn)在Web 應(yīng)用程序中的計(jì)算機(jī)安全漏洞。攻擊者利用網(wǎng)站漏洞把惡意的腳本代碼注入網(wǎng)頁中,當(dāng)其他用戶瀏覽這些網(wǎng)頁時(shí),就會(huì)執(zhí)行其中的惡意代碼,其可能采用Cookie 資料竊取、會(huì)話劫持、釣魚欺騙等攻擊手段[20]。在測試過程中使用JavaScript腳本,經(jīng)過AWVS 掃描可得知漏洞在產(chǎn)品展示頁面,故在展示頁面菜單欄內(nèi)寫入測試腳本: 崇义县| 安塞县| 丰原市| 固阳县| 临城县| 色达县| 贡觉县| 梁平县| 宜章县| 宝坻区| 定州市| 横峰县| 平定县| 屏东市| 疏附县| 萨迦县| 凤山县| 黄冈市| 武胜县| 屯昌县| 武夷山市| 晋城| 富民县| 保康县| 丹东市| 册亨县| 西平县| 鸡西市| 都江堰市| 博客| 三门峡市| 涿鹿县| 五常市| 乐山市| 通河县| 犍为县| 腾冲县| 阿克陶县| 红原县| 大城县| 永嘉县|