From:IT 專家網
Ajax 應用程式內部的某些安全性漏洞會導致惡意駭客嚴
重危害您的應用程式。身份竊取、對敏感資訊進行未受保護的訪問、瀏覽器崩潰、Web 應用程式破壞、拒絕服務的攻擊等等,這僅是 Ajax
應用程式可能發生的安全事件的一部分,而開發人員在將 Ajax 功能構建到應用程式時需要預防這些安全問題。developerWorks
定期撰稿人 Judith Myerson 推薦了一些可以增強應用程式的工具,包括 Firefox 工具和增件,這些工具可以改善或解決 Ajax 應用程式內的安全問題。
簡介
在這篇文章中,您將瞭解一些 Ajax 安全工具,並使用它們掃描 SQL
注入和跨網站指令碼漏洞、設定主密碼,並在發生崩潰後恢複所有視窗的狀態。您將查看一些工具和公用程式,確保應用程式中連結的網站沒有出現在黑名單中,這個
黑名單能夠阻止駭客修改瀏覽器功能、危害 Web 應用程式以及實現惡意目的。本文將這些公用程式分為三大類:增強工具、Firefox 工具和
Firefox 增件。
增強工具
本節介紹以下幾種工具:Ajax
Secure Service Layer(aSSL)工具可以保護聊天和部落格;HTMLProctector 用於阻止訪問者竊取 Ajax Web
頁面的原始碼和映像;而 Acunetix Web Vulnerability Scanner 用於掃描並修複由 SQL
注入和跨網站指令碼引起的問題。當您在自己的 Ajax 頁面中連結其他 Web 網站時,使用 AjaxDNS 工具確保這些連結沒有出現在 Web
網站的黑名單中(考慮使用 Despoof,一個開源的命令列反欺騙檢測程式,可以檢測所有 IP 欺騙方法。
aSSL
aSSL 是在 MIT 許可下發布的一種庫,是 SSL 的開源的 Ajax 版本,沒有附帶 HTTPS。由於對 HTTP
進行安全保護,瀏覽器中的 aSSL 無法像 SSL 那樣檢查 SSL 憑證。相反,aSSL 使用 RSA
演算法使客戶機能夠通過一個或多個伺服器處理隨機的 128 bit 密匙。建立串連之後,Ajax 工具使用 AES 演算法發送和接收資料。aSSL
更適合保護非關鍵性網站,比如通過防火牆的聊天和部落格網站,因為這些網站不需要 SSL 憑證。
aSSL
在瀏覽器調用伺服器時開始保護過程。伺服器接收到調用之後,它將它的 RSA 模數(modulus)返回。接著,瀏覽器產生一個隨機的 128
bit
交換密匙,使用伺服器的公用匙進行加密,並將加密後的交換密匙傳遞給伺服器。伺服器接接收加密交換密匙並使用其私人密匙進行解密。最後,瀏覽器接收會話持
續時間並設定一個逾時以保持串連處於活躍狀態。
HTMLProtector
該工具超越了防火牆功能,可以協助您保護在伺服器上啟動並執行 Web 網站的內容。在向伺服器發送受保護的 Web 頁面時,您可以在用戶端決定對哪些內容進行保護。HTMLProtector 可以協助您完成以下任務:
阻止訪問者查看並列印您的原始碼。
阻止發送垃圾郵件的機器從您的頁面中提取電子郵件地址,駭客可能會使用這些地址發送垃圾郵件。
阻止訪問者使用自動下載程式將您的整個 Web 網站下載到他們的硬碟。
當訪問者將其滑鼠移至上方在您的 Web 網站的某個連結上時,防止電子郵件連結出現在狀態列。您可以選擇僅保護頁面的 BODY 部分、HEADER 部分,或者同時保護兩者。
更好的是 HTMLProtector
使您能夠使用密碼保護頁面。只要確保您提供給授權訪問者的密碼足夠保密,不易被未授權訪問者破解。如果未授權的訪問者試圖輸入錯誤的密碼,您可以選擇顯示
一個空白頁面、重新導向到一個不同的 URL,或者返回到先前的頁面。您還可以禁止瀏覽器將您的頁面儲存到本機快取,從而進一步阻止駭客的破壞。
Acunetix Web Vulnerability Scanner Free Edition
Acunetix Web Vulnerability Scanner(AWVS)Free Edition 工具可以尋找應用程式內的 SQL
注入和跨網站指令碼漏洞,並在執行之前修複這些問題(駭客可以利用 SQL 注入漏洞修改 SQL
命令並訪問資料庫的資料。跨網站指令碼攻擊使駭客能夠將惡意指令碼嵌入到訪問者的瀏覽器中,然後執行該指令碼收集資料)。
Acunetix
Web Vulnerability Scanner Free Edition 還對 Web 網站的爬行內容啟用駭客 Google
資料庫查詢,並識別敏感性資料或可能被利用的目標。當查詢結果顯示出可能被利用的資料後,請確保在搜尋引擎駭客尋找並利用這些資料之前修複這個問題(請確保
在測試環境而不是生產環境中進行測試)。
Acunetix 提供的三個進階的滲透測試工具 — HTTP Editor、HTTP Sniffer 和 HTTP Fuzzer — 可以協助您調優 Web 應用程式安全檢查。下面介紹了測試人員使用每種工具可以執行的測試:
工具說明
HTTP Editor:構建 HTTP/HTTPS 請求並分析 Web 服務器響應。
HTTP Sniffer:攔截 、記錄並修改所有 HTTP/HTTPS 流量並顯示 Web 應用程式發送的所有資料。
HTTP Fuzzer:針對緩衝區溢位和輸入檢查執行複雜的測試。使用規則構建器測試大量的輸入變數。
使用掃描工具可以阻止駭客實現一些惡意目的,例如:
身份竊取
訪問敏感或受限制的資訊
免費訪問屬於收費項目的內容
修改瀏覽器功能
危害 Web 應用程式
拒絕服務的攻擊
公開毀壞企業或個人的聲譽
AjaxDNS Tools
AjaxDNS Tools 可以方便快捷地檢查 Ajax 應用程式中連結的 Web 網站的安全性。下面列出並解釋了每種工具的功能:
工具說明
WhoisSearch:獲得與網域名稱所有者相關的資訊,除非禁止查看這些資訊。
RBL Search:通過運行 Reputation 和 Block Lists(RBL)在伺服器中搜尋 Web 網站,並確保 Ajax 應用程式中的連結網站不在這些列表中。
Ping:獲得資料包到達主機所需時間的資訊。如果 ping 無法通過主機的防火牆,則無法到達該主機。
利用命令列選項可以從 Microsoft 下載 Whois,或者在 Linux/UNIX 系統中使用 who 命令。
Despoof
Despoof 是另一種檢測欺騙資料包的安全工具,這些欺騙資料包能夠跨網路傳送 Ajax 應用程式。如果收到一個可疑的資料包,要嘗試判斷它真正的 Time-to-Live(TTL),並將其與所接收包的 TTL 進行比較。
在使用 Despoof 工具之前,確保您的機器帶有 libpcap 0.4 和 libnet 1.0(或最新版本)。 使用清單 1 中的命令解壓檔案,切換到 despoof 目錄,然後安裝 Despoof:
清單 1. 安裝 Despoof#tar xvzf despoof*tgz
#cd despoof*
#gcc 'libnet-config-defines' -o despoof despoof.c -lnet -lpca
輸入清單 2 所示的命令運行 Despoof:
清單 2. 運行 Despoof#. /despoof -h
Firefox 工具
您可以使用 Firefox 工具設定主密碼和隱私選項。
設定主密碼
您必須輸入一個主密碼才能訪問儲存的密碼,以及儲存 Web 表單資料和密匙。執行以下步驟指定新的主密碼:
1.單擊 Tool 菜單下的 Options。
2.在 Options 對話方塊中的 Security 選項卡下,轉到 Passwords 部分。
3.選中選項框以使用主密碼。
4.在 Change Master Password 對話方塊中,輸入一個新密碼並重新輸入密碼進行確認。
輸入新密碼的每個字元都會看到一些綠色的塊添加到密碼品質指標(password quality meter)。密碼越健壯,指標顯示的綠色塊越多。如果密碼達到最健壯的層級,那麼整個指標將添滿綠色塊。
當系統確認輸入的密碼匹配,您將看到一個提示成功修改主密碼的訊息。(確保記住主密碼,否則無法訪問它保護的任何資訊!)
設定隱私選項
讓我們查看一些 cookie 異常並清除隱私資料。單擊 Tool 菜單下的 Options,然後轉到 Privacy 選項卡。在
Cookie 部分中,您可以接受來自所有或某些來源的 cookie。單擊 Exceptions 指定對哪些 Web
網站經常允許使用或絕不允許使用 cookie。輸入需要管理的網站的精確地址並單擊 Block、Allow for Session 或
Allow。完成這些操作後,單擊 Close。
允許 Firefox 接受來自網站的 cookie 時,可以選擇處理它們的方式。這些方式包括:等待直到 cookie 到期、等待直到關閉 Firefox 或者每次開啟時要求 Firefox 進行詢問。
要設定到期日期,請轉到 History 部分,並確保預設選擇了允許 Firefox 記住最近 20 天內訪問過的頁面的選框。如果您覺得到期時間不合適,可以進行修改。
Firefox 增件
三個非常有用的 Firefox 擴充是 Session Manager(在崩潰後恢複所有視窗的狀態)、Homeland Security Threat Level(在狀態列顯示當前層級)和 WiKID(密碼和認證的替代選擇)。
Session Manager
Session Manager 在崩潰後重啟時可以根據需要或自動地儲存和恢複所有視窗的狀態。它使您能夠重新開啟意外關閉的視窗和選項卡。Session Manager 可以加密儲存在會話檔案和已關閉的視窗檔案中的會話資料。要啟用這個特性,請執行以下操作:
1、轉到 Tools 下的 Session Manager。
2、單擊 Session Manager Options。
3、在 Encryption 部分中,選擇選框加密已儲存和關閉的視窗。如果設定有主密碼,Firefox 將發出警告,要求您輸入密碼以加密或解密會話。
4、單擊 OK。
如果 Firefox 崩潰了,它在重啟時會詢問您是否恢複最近的會話。Session Manager
不僅可以恢複當前瀏覽的會話,還能根據需要恢複其他會話。因此,最好不要禁用 Session Manager Options 對話方塊
SessionStore 選項卡中的 Crash Recovery。
這個擴充取代了 SessionSaver 和 Tab Mix Plus 的會話管理器。它儲存的資料比這兩個程式多。建議您只安裝一個與會話相關的擴充。
Homeland Security Threat Levels
該擴充將當前的 U.S. Homeland Security Threat Level(Severe, High, Elevated, Guarded, and Low)顯示為狀態列的一個表徵圖,允許您快捷地查看威脅層級。
WiKID
WiKID Strong Authentication System 是一款基於商業/開源軟體的雙重要素驗證解決方案。WiKID 旨在成為令牌、認證、密碼的安全替代品。這個 Firefox 擴充使用語義 Web 技術自動為使用者輸入一次性代碼。WiKID 令牌支援多個 WiKID 域,因此不再需要令牌 ‘keychain’。
結束語
本文協助您提前進行一些規劃,以改善伺服器、用戶端或網路中的 Ajax 應用程式的安全性。由於安全性對開發人員、測試人員、系統管理員和潛在使用者都非常重要,因此覺察並解決潛在的安全性問題可以為Team Dev和使用者提供完美的體驗。