1.10-數據傳輸格式
在對網站進行滲透測試時,使用目標服務器規定的數據傳輸格式來進行 payload 測試非常關鍵
如果不按規定格式發送數據,服務器可能直接拒絕請求或返回錯誤響應,比如:
- 接口要求 JSON 格式,而你用的是 URL 編碼參數;
- 接口要求字段名必須是
"username"
? 而你用了"user"
?; - 字段順序或結構不符導致后端解析失敗(尤其是基于結構體解析的接口);
👉 結果是 payload 根本進不去,測試毫無意義。
不按規定格式傳 payload = 測不到 + 被發現 + 被封 IP + 誤判無漏洞
使用目標服務器規定的數據格式,是滲透測試中“偽裝成正常用戶”并“成功命中漏洞點”的前提。
有哪些常見的數據格式:JSON,XML,WebSockets,HTML,二進制,自定義
?
WebSocket 的 URL 協議前綴有兩種:
? WebSocket 協議的 URL 前綴:
協議類型 | 前綴 | 說明 |
---|---|---|
非加密連接 | ?ws:// ? | 相當于 HTTP,用于明文傳輸 |
加密連接(安全) | ?wss:// ? | 相當于 HTTPS,使用 TLS 加密傳輸 |
📌 示例:
-
普通 WebSocket(不加密):
ws://example.com/socket
-
安全 WebSocket(加密):
wss://example.com/socket
🔐 為什么使用 wss://
??
- 數據加密,防止中間人攻擊(MITM)
- 瀏覽器安全策略限制(如 HTTPS 頁面只能連接
wss://
?) - 某些服務器只接受 TLS WebSocket
?? 注意
如果目標網站是通過 https://
? 訪問的,前端 JS 中使用 WebSocket 時,必須使用 wss://
?,否則瀏覽器會阻止連接。
?
總結:
滲透測試時 如果目標對payload加密 就要對算法解密進行 JS逆向,總之需要統一數據格式才能進入正常邏輯 進行有效測試
?
?
?
?
?