點擊劫持,clickjacking,也被稱爲UI-覆蓋攻擊。
防止點擊劫持
- JavaScript禁止內嵌
- 沒有帶frame的頁面
- 帶frame的頁面
不過H5新增屬性,sandbox可以金庸腳本的運行
sandbox="allow-forms"
- X-FRAME-OPTIONS禁止內嵌
頭設置
ctx.set('X-FRAME-OPTIONS','DENY');
ALLOW-FORM .....
- 其他輔助:加驗證碼
- 當小偷的投入比利益更大的,估計沒有小偷會這樣幹。
- PHP:
header('X-FRAME-OPTIONS','DENY')
;
傳輸安全問題
HTTP傳輸明文帶來的竊聽
- 因爲localhost是環形鏈路,所有使用AnyProxy代理
anyproxy
HTTP竊聽
- 用戶名密碼
- 傳輸敏感信息
- 個人資料(銀行卡……)
HTTP篡改
- 插入廣告
- 重定向網站
- 無法防禦XSS和CSRF
- 運營商和局域網劫持
-
TLS(SSL)加密
然而,
中間人攻擊
如何確認服務器身份?
- CA(證書頒發機構)
- 前提:
- 證書無法僞造
- 證書私鑰不能被泄露
- 域名管理權不能泄露
- CA堅守原則(一定要驗證證書,不能亂髮證書)
Let’s Encrypt的最大的意義就是推動基礎DV HTTPS證書的普及,換句話說就是,推動HTTPS的普及。
查看證書是否受信任
不要隨意添加信任的根證書
Mac keycha
Win mmc
- 驗證返回指定網站內容(示例)
- 設置DNS記錄(對域名有管理權)