- 軟件測試實驗實訓指南
- 陳英
- 798字
- 2019-12-06 14:26:43
1.4 實驗#4:zero網站能獲得管理員身份
缺陷標題 zero網站在地址欄追加admin可進入管理員頁面。
測試平臺與瀏覽器 Windows 10+IE 11或Chrome 45.0。
測試步驟
(1)打開zero網站http://zero.webappsecurity.com/。
(2)在地址欄刪除index.html,然后追加admin,按Enter鍵。
期望結果 瀏覽器提示無法找到網頁,或者出現管理員登錄頁面。
實際結果 跳轉到管理員頁面,并且能看到系統中所有用戶名與密碼,結果如圖1-7和圖1-8所示。

圖1-7 進入管理員頁面

圖1-8 查看到系統中所有用戶名與密碼
專家點評
這是典型的身份認證與會話管理方面的安全問題。2017年,失效的身份認證排在全球Web安全第二位。身份認證最常見的是登錄功能,往往是提交用戶名和密碼,在安全性要求更高的情況下,有防止密碼暴力破解的驗證碼、基于客戶端的證書、物理口令卡等。
HTTP本身是無狀態的,利用會話管理機制來實現連接識別。身份認證的結果往往是獲得一個令牌,通常放在Cookie中,之后根據這個授權的令牌對用戶的身份進行識別,而不需要每次都登錄。
用戶身份認證和會話管理是一個應用程序中最關鍵的過程,有缺陷的設計會嚴重破壞這個過程。在開發Web應用程序時,開發人員往往只關注Web應用程序所需的功能。由于這個原因,開發人員通常會建立自定義的身份認證和會話管理方案。這些自定義的方案往往在退出、密碼管理、超時、記住我、賬戶更新等方面存在漏洞。因為每個系統實現都不同,業務定義也不同,所以要找出這些漏洞有時會很困難。
其中最需要保護的數據是認證憑證(credentials)和會話ID。驗證程序是否存在失效的認證和會話管理,通常從以下幾點考慮。
(1)當存儲認證憑證時,是否總是使用hashing或加密保護。
(2)認證憑證是否可猜測,或者能夠通過薄弱的賬戶管理功能(例如賬戶創建、密碼修改、密碼恢復、弱會話ID)重寫。
(3)會話ID是否暴露在URL里(例如URL重寫)。
(4)會話ID是否容易受到會話固定(session fixation)的攻擊。
(5)會話ID會不會超時,用戶能否退出。
(6)成功注冊后,會話ID會不會輪轉。
(7)密碼、會話ID和其他認證憑據是否只通過TLS連接傳輸。
- 數據科學實戰手冊(R+Python)
- 手機安全和可信應用開發指南:TrustZone與OP-TEE技術詳解
- 深入理解Android(卷I)
- 微信公眾平臺與小程序開發:從零搭建整套系統
- Kibana Essentials
- The Android Game Developer's Handbook
- AutoCAD VBA參數化繪圖程序開發與實戰編碼
- 3D少兒游戲編程(原書第2版)
- 深入淺出PostgreSQL
- 數據結構與算法分析(C++語言版)
- Cybersecurity Attacks:Red Team Strategies
- 好好學Java:從零基礎到項目實戰
- Flask Web開發:基于Python的Web應用開發實戰(第2版)
- Backbone.js Testing
- Hack與HHVM權威指南