- 軟件測試實驗實訓指南
- 陳英
- 633字
- 2019-12-06 14:26:48
1.14 實驗#14:testphp網站密碼未加密傳輸
缺陷標題 testphp網站登錄時密碼未加密傳輸。
測試平臺與瀏覽器 Windows 10+IE 11或Chrome 45.0。
測試步驟
(1)打開testphp網站http://testphp.vulnweb.com/。
(2)單擊Signup鏈接。
(3)在Username和Password文本框中分別輸入test。
(4)按F12功能鍵,打開瀏覽器開發者工具,選擇Network網絡項,如圖1-27所示。

圖1-27 打開開發者工具
(5)單擊login按鈕。
(6)查看開發者工具中的密碼加密情況。
期望結果 應該使用HTTPS安全傳輸用戶名與密碼。
實際結果 使用HTTP連接傳輸,密碼未加密,如圖1-28所示。
專家點評
超文本傳輸協議(HTTP)被用于在Web瀏覽器和網站服務器之間傳遞信息。HTTP以明文方式發送內容,不提供任何方式的數據加密,如果攻擊者截取了Web瀏覽器和網站服務器之間的傳輸報文,就可以直接讀懂其中的信息,因此,HTTP不適合傳輸敏感信息,如信用卡號、密碼等支付信息。
為了解決HTTP的這一缺陷,需要使用另一種協議:安全套接字層超文本傳輸協議(HTTPS)。為了數據傳輸的安全,HTTPS在HTTP的基礎上加入了SSL協議。SSL協議依靠證書來驗證服務器的身份,并為瀏覽器和服務器之間的通信加密。
HTTPS的主要作用可以分為兩種:一種是建立一個信息安全通道,來保證數據傳輸的安全;另一種是確認網站的真實性。

圖1-28 用的是HTTP明碼傳輸
HTTPS和HTTP的區別主要如下。
(1)HTTPS需要到CA申請證書。
(2)HTTP是超文本傳輸協議,信息是明文傳輸,HTTPS則是具有安全性的SSL加密傳輸協議。
(3)HTTP和HTTPS使用的是完全不同的連接方式,用的端口也不一樣,前者是80,后者是443。
(4)HTTP的連接很簡單,是無狀態的;HTTPS是由SSL+HTTP構建的可進行加密傳輸、身份認證的網絡協議,比HTTP安全。
- Vue.js 3.x快速入門
- Java從入門到精通(第5版)
- Mastering Swift 2
- Java加密與解密的藝術
- The DevOps 2.5 Toolkit
- Learning Concurrency in Kotlin
- 利用Python進行數據分析
- 多媒體技術及應用
- Mastering PowerCLI
- C# 7.1 and .NET Core 2.0:Modern Cross-Platform Development(Third Edition)
- Spring Web Services 2 Cookbook
- 數據結構與算法詳解
- Java核心技術速學版(第3版)
- Opa Application Development
- Developing RESTful Web Services with Jersey 2.0