Web應用的安全性一直有一個先天缺陷,即http基本就是明碼傳遞,這個缺陷可以讓后臺做的諸多加密工作一朝崩塌,下面以一個實際例子來說明。
我們還是用TCPMon來截獲http請求,看從中能否找到有用的信息,下面的Http請求來自很多網站都有的注冊和登錄頁面。TCPMon的具體方法請參照:
如何用Apache TCPMon來截獲SOAP消息。
下面是用戶注冊頁面,我們向其中輸入了一點信息:

點擊“提交按鈕后”,我們在TCPMon中可以截獲這樣的內容.
下面是登錄頁面:
點擊“登錄”按鈕后,TCPMon截獲的內容如下:
上面兩個字符串:
name=%E5%88%98%E5%A4%87&email=1@3445.5&pswd=123456&repswd=123456&brief=rteterte&submitBtn=%E6%8F%90%E4%BA%A4
name=%E5%88%98%E5%A4%87&pswd=123456&submitBtn=%E7%99%BB%E5%BD%95
已經暴露了不少信息,我們再轉碼一下會全部暴露出來:
System.out.println(URLDecoder.decode("name=%E5%88%98%E5%A4%87&email=1@3445.5&pswd=123456&repswd=123456&brief=rteterte&submitBtn=%E6%8F%90%E4%BA%A4","utf-8"));
System.out.println(URLDecoder.decode("name=%E5%88%98%E5%A4%87&pswd=123456&submitBtn=%E7%99%BB%E5%BD%95","utf-8"));
輸出如下:
name=劉備&email=1@3445.5&pswd=123456&repswd=123456&brief=rteterte&submitBtn=提交
name=劉備&pswd=123456&submitBtn=登錄
也就是說,我們在表單中輸入的內容,已經完全出現在http請求中。只要加一個網絡嗅探器(sniffer)來收集網絡上傳遞的數據報的相關信息,再加以少許處理,所有私密信息都將被發現。