web前后端漏洞分析与防御(三)-点击劫持,传输安全

点击劫持,clickjacking,也被称为UI-覆盖攻击。

web前后端漏洞分析与防御(三)-点击劫持,传输安全

web前后端漏洞分析与防御(三)-点击劫持,传输安全

 

防止点击劫持

  • JavaScript禁止内嵌
    • 没有带frame的页面

      web前后端漏洞分析与防御(三)-点击劫持,传输安全

    • 带frame的页面

      web前后端漏洞分析与防御(三)-点击劫持,传输安全

       

不过H5新增属性,sandbox可以金庸脚本的运行

sandbox="allow-forms"
  • X-FRAME-OPTIONS禁止内嵌
头设置
ctx.set('X-FRAME-OPTIONS','DENY');
ALLOW-FORM .....
  • 其他辅助:加验证码 
    • 当小偷的投入比利益更大的,估计没有小偷会这样干。
  • PHP: header('X-FRAME-OPTIONS','DENY');

 

传输安全问题

HTTP传输明文带来的窃听

web前后端漏洞分析与防御(三)-点击劫持,传输安全

 

  • 因为localhost是环形链路,所有使用AnyProxy代理
  • anyproxy

HTTP窃听

  • 用户名密码
  • 传输敏感信息
  • 个人资料(银行卡……)

HTTP篡改

  • 插入广告
  • 重定向网站
  • 无法防御XSS和CSRF
  • 运营商和局域网劫持 
  • web前后端漏洞分析与防御(三)-点击劫持,传输安全

     

TLS(SSL)加密

然而,

中间人攻击

web前后端漏洞分析与防御(三)-点击劫持,传输安全

 

如何确认服务器身份?

  • CA(证书颁发机构)
  • 前提:
  • 证书无法伪造
  • 证书私钥不能被泄露
  • 域名管理权不能泄露
  • CA坚守原则(一定要验证证书,不能乱发证书)

web前后端漏洞分析与防御(三)-点击劫持,传输安全

 

Let’s Encrypt的最大的意义就是推动基础DV HTTPS证书的普及,换句话说就是,推动HTTPS的普及。

查看证书是否受信任

不要随意添加信任的根证书

 

Mac keycha
Win mmc
  • 验证返回指定网站内容(示例)
  • 设置DNS记录(对域名有管理权)