thc-ssl-dos
- SSL協商加密對性能開銷增加,大量握手請求會導致拒絕服務
- 利用SSL secure Renegotiation特性,在單一TCP連接中生成數千個SSL重連接請求,造成服務器資源過載
- 與流量式拒絕服務攻擊不同,thc-ssl-dos可以利用dls線路打垮30G帶寬的服務器
- 服務器平均可以處理300次/秒SSL握手請求
- 對SMTPS、POP3S等服務同樣有效
- thc-ssl-dos 【IP】 2083 --accept
對策
- 禁用SSL-Renegotiation,使用SSL Accelerator
- 通過修改thc-ssl-dos代碼,可以繞過以上對策
概念補充
AJAX
- Asynchronous JAVAscript and XML
- 是一個概念,而非一種新的編程語言,是一組現有技術的組合
- 通過客戶端腳本動態更新頁面部分內容,而非整個頁面
- 降低帶寬使用,提供速度
- 提升用戶體驗
- 后臺異步訪問
AJAX組件
- JavaScript:ajax的核心組件,使用XMLHTTPRequest 對象接口向服務器發起請求,接收并處理服務器響應數據;
Dynamic html(DHTML)
- 早于AJAX出現,通過JavaScript、css等在客戶端修改HTML頁面element,缺點是完成依賴客戶端代碼修改頁面,與服務器的交互由JavaScript Applets完成,AJAX的XHR彌補了他的缺點(注冊用戶)
Document Object Model (DOM)
- 處理HTML、XML文檔對象的框架,DTHML是一個瀏覽器,DOM作為其一個實現的接口,定義和管理每個頁面元素obj的Properties、method、event
基于AJAX的WEB應用工作流程
- XMLHTTPRequest API創建對象xmlhttp進行訪問
- Xml、json、html、文本、圖片
- 多個異步請求獨立通信,互不依賴
- AJAX框架
-
- JQuery
- Dojo Toolkit
- google Web Toolkit (GWT)
- Microsoft AJAX library
- 目前沒有通用的AJAX安全最佳實踐,其攻擊面不為大多數人所知
- AJAX的安全問題
-
- 多種技術混合,增加了攻擊面,每個參數都可能形成獨立的攻擊過程
- AJAX引擎是個權功能的腳本解釋器,訪問惡意站點可能后果嚴重,雖然瀏覽器由沙箱和SOP,但可被繞過;
- 服務器、客戶端代碼結合使用產生混亂,服務器訪問控制不當,將信息泄露
- 暴露應用程序邏輯
AJAX對滲透測試的挑戰
- 異步請求數量多且隱蔽
- 初發AJAX請求的條件無規律
- 手動和截斷代理爬網可能產生大量遺漏
- AJAX爬網工具使用ZAP
- 客戶端代碼審計
-
- 源碼
- Firebug
Web Service
- 面向服務的架構(service oriented architecture)便于不同系統集成共享數據和功能
- 尤其適合不想暴露數據模型和程序邏輯而訪問數據的場景
- 無頁面
兩種類型的WEB Service
- Simple object access protocol (SOAP)
-
- 傳統的Web service 開發方法,xml是唯一的數據交換格式
- 要求安全性的應用更多采用
- RESTful(Representational State Transfer architecture——REST)
-
- 目前更多被采用的輕量web service ,JSON是首選數據交換格式
WEB Service安全考慮
- 使用API key或session token實現和跟蹤身份認證
- 身份認證由服務器完成,而非客戶端
- API key,用戶名,session token永遠不要通過URL發送
- RESTful默認不提供任何安全機制,需要使用SSL/TLS保護傳輸數據安全
- SOAP提供強于HTTPS的WS-security機制
- 使用OAuth或Hmac繼續身份驗證,HMAC身份認證使用C/S共享的密鑰加密API KEY
- RESTful應只允許身份認證用戶使用PUT、DELETE方法
- 使用隨機token防止CSRF攻擊
- 對用戶提交參數過濾,建議部署基于嚴格白名單的方法
- 報錯信息消毒
- 直接對象引用應嚴格身份驗證(電商公司以ID作為主索引)