安基網 首頁 安全 Web安全 查看內容

Web 系統的安全性測試主要測試點

2019-4-4 01:36| 投稿: xiaotiger |來自: 互聯網


免責聲明:本站系公益性非盈利IT技術普及網,本文由投稿者轉載自互聯網的公開文章,文末均已注明出處,其內容和圖片版權歸原網站或作者所有,文中所述不代表本站觀點,若有無意侵權或轉載不當之處請從網站右下角聯系我們處理,謝謝合作!

摘要: 隨著因特網的不斷發展,人們對網絡的使用越來越頻繁,通過網絡進行購物、支付等其他業務操作。而一個潛在的問題是網絡的安全性如何保證,一些黑客利用站點安全性的漏洞來竊取用戶的信息,使用戶的個人信息泄漏,所以站點的安全性變得很重要。Web 系統的安全性測試包括以下內容:(1)Web 漏洞掃描(2)服務 ...

隨著因特網的不斷發展,人們對網絡的使用越來越頻繁,通過網絡進行購物、支付等其他業務操作。而一個潛在的問題是網絡的安全性如何保證,一些黑客利用站點安全性的漏洞來竊取用戶的信息,使用戶的個人信息泄漏,所以站點的安全性變得很重要。

Web 系統的安全性測試包括以下內容:

(1)Web 漏洞掃描

(2)服務器端信息測試

(3)文件和目錄測試

(4)認證測試

(5)會話管理測試

(6)權限管理測試

(7)文件上傳下載測試

(8)信息泄漏測試

(9)輸入數據測試

(10)跨站腳本攻擊測試

(11)邏輯測試

(12)搜索引擎信息測試

(13)Web Service 測試

(14)其他測試

本章節先主要給大家介紹(1),(2)點

第一點:Web 漏洞掃描

由于開發和設計的原因,可能導致Web 系統存在漏洞,在測試過程中可以使用一些自動化掃描工具對Web 系統的漏洞進行掃描。但自動化掃描工具只能檢測到部分常見的漏洞(如跨站腳本、SQL 注入等),不是針對用戶代碼的,也不能掃描業務邏輯,無法對這些漏洞做進一步業務上的判斷。而往往最嚴重的安全問題并不是常見的漏洞,而是通過這些漏洞針對業務邏輯和應用的攻擊。

Web 目前分為Application 和Web Service 兩部分。Application 指通常意義上的Web 應用;而Web Service 是一種面向服務的架構技術,通過標準的Web 協議(如HTTP、XML、SOAP、WSDL)提供服務。

現在市場上Web 漏洞掃描的工具比較多,如WebInspect、N-Stalker、Acunetix Web Vulnerability Scanner、Rational AppScan 等。下面簡單介紹Rational AppScan 工具的使用。

Rational AppScan 是專門面向Web 應用安全檢測的自動化工具,是對Web 應用和Web Service進行自動化安全掃描的黑盒工具。它不但可以簡化企業發現和修復Web 應用安全隱患的過程(這些工作以往都是由人工進行,成本相對較高,效率低下),還可以根據發現的安全隱患,提出針對性的修復建議,并能形成多種符合法規、行業標準的報告,方便相關人員全面了解企業應用的安全狀況。

應用程序開發團隊在項目交付前,可以利用Rational AppScan 對所開發的應用程序與服務進行安全缺陷的掃描,自動化檢測Web 應用的安全漏洞,從網站開發的起始階段就掃除Web 應用安全漏洞。

Rational AppScan 的工作流程如圖12-5 所示

第二點:服務器端信息測試

服務器端信息測試主要是從服務器對客戶端開發的信息角度來測試服務器被攻擊的可能性,以及被攻擊的難易程度。主要需要測試以下幾方面的信息:

1、服務器允許運行賬號權限測試

2、Web 服務器端口測試

3、Web 服務器版本信息測試

4、HTTP 方法測試

5、HTTP DELETE 方法測試

6、HTTP PUT 方法測試

7、HTTP TRACE 方法測試

8、HTTP MOVE 方法測試

9、HTTP COPY 方法測試

(1)服務器允許運行賬號權限測試

一般地,運行Web 服務器所在的操作系統所開放的賬號權限越高,那么Web 服務器遭到攻擊的可能性越大,并且產生的危害也越大。因此,不應使用Root、Administrator 等特權賬號或高級別權限的操作系統賬號來運行Web 系統,應該盡可能地使用低級別權限的操作系統賬號,以此降低Web 服務器被攻擊的風險。

測試時登錄Web 服務器操作系統,查看運行Web 服務器的操作系統賬號,確定操作系統的賬號是否為Root、Administrator 等特權賬號或高級別權限賬號,如果是,則存在漏洞。

對于Windows 操作系統:打開Windows 任務管理器,選擇“進程”選項卡,選中“顯示所有用戶的進程”復選框,檢查運行Web 服務器的賬號。

對UNIX 或Linux 系統:運行“ps–ef|grep java”命令,返回結果第一列的操作系統用戶就是運行Web 服務器的賬號。例如以下運行信息:

root 4035 4010 0 17:13 pts/2 00:00:00 grep java

(2)Web 服務器端口測試

有時Web 服務器除業務端口外還會開放一些默認端口(如JBoss 開放的8083),這些默認端口對最終用戶是不需要開放的,而且也不會維護,容易被攻擊,本測試的目的在于發現服務器上未使用的Web 端口。

可以使用端口掃描工具對Web 服務器域名或IP 地址(如IP 地址為192.168.1.103)進行掃描,檢查未開放業務不需要使用的Web 服務端口。常用的端口掃描工具有NetScanTools、WinScan、SuperScan、NTOScanner、WUPS、NmapNT 和Winfingerprint。

以掃描工具SuperScan 3.00 為例,SuperScan 是一款基于TCP 協議的端口掃描器、Pinger 和主機名解析器。可以針對任意的IP 地址范圍的Ping 和端口掃描,并且能同時掃描多個任意端口;解析和反向解析任意IP 地址或范圍;使用內建編輯器修改端口列表及端口定義;使用用戶自定義的應用程序與任何被發現打開的端口進行連接;查看被連接主機的回應;保存掃描列表到文本文件中。

在主界面中的IP 組的Start 文本框中輸入開始的IP,在Stop 文本框中輸入結束的IP,在Scantype 組中選擇All list ports from 單選項,并指定掃描端口范圍(1~65535),如圖12-6 所示

單擊Scan 組中的Start 按鈕,就可以在選擇的IP 地址段內掃描不同主機開放的端口。掃描完成后,選中掃描到的主機IP,單擊Expand all 按鈕會展開每臺主機的詳細掃描結果,如圖12-7所示

(3)Web 服務器版本信息測試

為了防止黑客攻擊,在很多情況下,通過獲取Banner 的信息可以獲取HTTP 指紋識別方法。通常會將Web 服務器的信息進行隱藏或者通過配置、增加插件來更改或模糊服務器的Banner 信息。

HTTP 指紋識別現在已經成為應用程序安全中一個新興的話題,指紋識別可以分為兩步:一是對指紋進行收集和分類;二是將未知的指紋同被存儲在數據庫中的指紋進行比較,從而找出最符合的指紋。

操作系統指紋識別在網絡評估中是一件常見的工作,現在已有很多操作系統指紋識別技術,操作系統指紋識別為什么能成功呢?因為每個操作系統實現TCP/IP 協議時有微小的差別,當前比較流行的是利用TCP/IP 堆棧進行操作系統識別。

HTTP 指紋識別的原理大致也是如此,記錄不同服務器對HTTP 協議執行中的微小差別進行識別,HTTP 指紋識別比TCP/IP 堆棧指紋識別復雜許多,因為定制HTTP 服務器的配置文件、增加插件或組件使得更改HTTP 的響應信息變得更復雜。

在測試過程中可以使用一些工具進行滲透測試,來獲取Web 服務器的相關版本信息。Httprint就是一個Web 服務器指紋工具,通過該工具可以對Web 服務器進行滲透測試。盡管可以通過改變服務器的旗幟字符串(server bannerstrings),或通過類似mod_security或servermask的插件混淆事實,但Httprint 工具依然可以依賴Web 服務器的特點去準確地識別Web 服務器。Httprint 也可用于檢測沒有服務器旗幟字符串的網絡功能設備,如無線接入點、路由器、交換機、電纜調制解調器等。

運行Httprint_gui.exe,在Host 列中輸入主機域名(如果沒有域名則輸入IP 地址),在端口列中輸入端口號。如果為HTTPS,則要選擇鎖圖標列的復選框,如圖12-8 所示

單擊程序下方的運行按鈕,查看相關報告,確定報告中是否存在Web 服務器準確的版本信息,如圖12-9 所示

(4)HTTP 方法測試

HTTP 方法測試主要是測試HTTP 開發的方法,有些Web 服務器默認情況下開放了一些不必要的HTTP 方法(如DELETE、PUT、TRACE、MOVE、COPY),這樣就增加了受攻擊面。

HTTP 請求常見的方法有(所有的方法必須為大寫):GET、POST、HEAD、PUT、DELETE、TRACE、CONNECT 和OPTIONS,詳細見表12-7

HTTP 方法測試的步驟如下:

第一步:單擊“開始”→“運行”命令,輸入cmd 命令后按Enter 鍵,運行cmd.exe。

第二步:輸入命令“telnet IP 端口”(其中IP 和端口按實際情況填寫,用空格隔開,如telnet 192.168.1.3 80)。

第三步:按Enter 鍵。

第四步:在新行中輸入命令OPTIONS /HTTP/1.1,然后按Enter 鍵。

第五步:觀察返回結果中Allow 的方法列表。

返回結果樣例:

http/1.1 200 OK

server: Apache-Coyote/1.1

X-Powered-By: Servlet 2.4; JBoss-4.0.5.GA (build: CVSTag=Branch_4_0 date=200610162339)/Tomcat-5.5

Allow: GET, HEAD, POST, PUT, DELETE, TRACE, OPTIONS

Content-Length: 0

Date: Mon, 29 Jun 2009 08:02:47 GMT

Connection: close

如果返回結果中包含不安全的HTTP 方法(如DELETE、PUT、TRACE、MOVE、COPY),

則驗證對這些方法的防范措施是否可用,如果方法可用則說明存在漏洞,測試無法通過。

備注:由于不同的Web 服務器支持的HTTP 協議版本不同,如果系統不支持HTTP/1.0,那么第四步返回“HTTP/1.0 400 Bad Request”,這種情況下,應該更改第四步的輸入行為OPTIONS / HTTP/1.0。

(5)HTTP DELETE 方法測試

如果Web 服務器開放了DELETE 方法,那么攻擊者能夠通過該方法刪除Web 服務器上的文件,所以需要測試通過DELETE 方法是否能將服務器上的文件刪除。DELETE 方法測試步驟如下:

在測試前先在Web 網站上創建一個文件(如test.txt)。

第一步:單擊“開始”→“運行”命令,輸入cmd 命令后按Enter 鍵,運行cmd.exe。

第二步:輸入命令“telnet IP 端口”(其中IP 和端口按實際情況填寫,用空格隔開,如telnet 192.168.1.3 80),并按Enter 鍵。

第三步:在新行中輸入命令DELETE /test.txt HTTP/1.0,然后按Enter 鍵。

第四步:查看服務器上的test.txt 文件是否被刪除。

該文件不能被刪除,如果被刪除,說明Web 服務存在風險.

說明:由于不同的Web 服務器支持的HTTP 協議版本不同,如果系統不支持HTTP/1.0,

那么第三步返回“HTTP/1.0 400 Bad Request”,這種情況下,應該更改第三步的輸

入行為DELETE /index.jsp HTTP/1.1。

(6)HTTP PUT 方法測試

如果Web 服務器開放了PUT 方法,那么攻擊者能夠通過該方法上傳任意文件到Web 服務器的一些目錄中,包括一些Web 木馬程序。測試時可以使用測試工具來模擬上傳文件,對服務器可寫權限進行測試。IIS PUT Scaner 為一款檢測服務器可寫漏洞的工具,通過IIS PUT Scaner 工具檢測的步驟如下:

第一步:運行IIS PUT Scaner 程序(假設已經安裝該工具)。

第二步:在Start IP 和End IP 輸入框中輸入Web 服務器的IP 地址,在Port 輸入框中輸入對應

的端口,選中復選框Try to upload file 和Try on other systems,如圖12-10 所示

第三步:查看結果,PUT 欄中的值不能為YES,如果是且Update File 欄中的值為ok,說明文件可以被上傳到服務器。同時查看Web 服務器中沒有新創建的文件(如上傳test.txt 文件),并且通過http://IP/test.txt請求不到該文件。

(7)HTTP TRACE 方法測試

如果Web 服務器開放了TRACE 方法(主要用于客戶端通過向Web 服務器提交TRACE 請求來進行測試或獲得診斷信息),攻擊者能夠通過該方法進行跨站攻擊。

跨站腳本攻擊(Cross Site Script Execution,XSS)是指入侵者在遠程Web 頁面的HTML 代碼中插入具有惡意目的的數據,用戶認為該頁面是可信賴的,但是當瀏覽器下載該頁面時,嵌入其中的腳本將被解釋執行。由于HTML 語言允許使用腳本進行簡單交互,入侵者便通過技術手段在某個頁面里插入一個惡意HTML 代碼,例如記錄論壇保存的用戶信息(Cookie),由于Cookie 保存了完整的用戶名和密碼資料,用戶就會遭受安全損失。如JavaScript腳本語句aler(t document.cookie)就能輕易獲取用戶信息,它會彈出一個包含用戶信息的消息框,入侵者運用腳本就能把用戶信息發送到他們自己的記錄頁面中,稍作分析便可以獲取用戶的敏感信息。

HTTP TRACE 方法測試的步驟如下:

第一步:單擊“開始”→“運行”命令,輸入cmd 命令后Enter 車鍵,運行cmd.exe。

第二步:輸入命令“telnet IP 端口”(其中IP 和端口按實際情況填寫,用空格隔開,如telnet 192.168.1.3 80),然后按Enter 鍵。

第三步:在新行中輸入TRACE/HTTP/1.0 命令,然后按Enter 鍵。

第四步:觀察返回的結果信息,Web 服務器返回的信息提示TRACE 方法“not allowed”。

備注:由于不同的Web 服務器支持的HTTP 協議版本不同,如果系統不支持HTTP/1.0,

那么第三步返回“HTTP/1.0 400 Bad Request”,這種情況下,應該更改第三步的輸

入行為TRACE / HTTP/1.1。

(8)HTTP MOVE 方法測試

如果Web 服務器開放了MOVE 方法,用于請求服務器將指定的頁面移到另一個網絡地址,該方法不安全,容易被利用。

HTTP MOVE 方法測試的步驟如下:

第一步:單擊“開始”→“運行”命令,輸入cmd 命令然后按Enter 鍵,運行cmd.exe。

第二步:輸入命令“telnet IP 端口”(其中IP 和端口按實際情況填寫,用空格隔開,如telnet 192.168.1.3 80),然后按Enter 鍵。

第三步:在新行中輸入MOVE /info/b.html /b.html HTTP/1.0 命令,并按Enter 鍵。

第四步:觀察返回的結果信息,Web 服務器返回的信息提示MOVE 方法“not supported”。

備注:由于不同的Web 服務器支持的HTTP 協議版本不同,如果系統不支持HTTP/1.0,那么第三步返回“HTTP/1.0 400 Bad Request”,這種情況下,應該更改第三步的輸入行為MOVE /info/b.html /b.html HTTP/1.1。

(9)HTTP COPY 方法測試

如果Web 服務器開放了COPY 方法,用于請求服務器將指定的頁面拷貝到另一個網絡地址,該方法不安全,容易被利用。

HTTP COPY 方法測試的步驟如下:

第一步:單擊“開始”→“運行”命令,輸入cmd 命令后按Enter 鍵,運行cmd.exe。

第二步:輸入命令“telnet IP 端口”(其中IP 和端口按實際情況填寫,用空格隔開,如telnet 192.168.1.3 80),然后按Enter 鍵。

第三步:在新行中輸入COPY /info/b.html /b.html HTTP/1.0 命令,然后按Enter 鍵。

第四步:觀察返回的結果信息,Web 服務器返回的信息提示COPY 方法“not supported”

備注:由于不同的Web 服務器支持的HTTP 協議版本不同,如果系統不支持HTTP/1.0,那么第三步返回“HTTP/1.0 400 Bad Request”;這種情況下,應該更改第三步的輸入行為COPY /info/b.html /b.html HTTP/1.1。



小編推薦:欲學習電腦技術、系統維護、網絡管理、編程開發和安全攻防等高端IT技術,請 點擊這里 注冊賬號,公開課頻道價值萬元IT培訓教程免費學,讓您少走彎路、事半功倍,好工作升職加薪!

本文出自:https://www.toutiao.com/a6675509841756160525/

免責聲明:本站系公益性非盈利IT技術普及網,本文由投稿者轉載自互聯網的公開文章,文末均已注明出處,其內容和圖片版權歸原網站或作者所有,文中所述不代表本站觀點,若有無意侵權或轉載不當之處請從網站右下角聯系我們處理,謝謝合作!


鮮花

握手

雷人

路過

雞蛋

相關閱讀

最新評論

 最新
返回頂部
创业如何赚钱 山东群英会遗漏统计 陕西快乐十分彩票 股票涨跌的秘密 江苏快三开奖结果走势图 福彩3d预测天吉论坛 黑龙江11选5预测推荐 陕西快乐十分今天开奖表 春兴精工股票行情和讯网 辽宁快乐12开奖走势图 河北排列7历史开奖号码 重庆幸运农场开奖数字 炒股入门与技巧电子书下载在线阅读 福彩欢乐生肖五星走势图 喜乐彩中五个号多少钱 云南11选5100期走势图 每日短线股票推荐