神刀安全网

在这个“点开我的链接你的账号就被黑了”的年代,如何给你的裸照加把锁?

按:本文来自乌云知识库@呆子不开口

这篇是我前几个月在CSDN开发者大会上讲的账号通行证安全相关的PPT《我的通行你的证》的文字整理版,稍微补充了点内容。因为懒一直没时间写,但年关将至,想到可以为老家的孩子们多挣点压岁钱……

几个月前,我在测百度的一个账号体系的漏洞时,无意中进入了慈云寺桥一甜品店的女收银员的百度网盘,当时随便看了两眼,突然发现了她的一张裸照,吓得我赶紧关了页面。当时我就想,如果她是我最好的朋友的女朋友,她的裸照被坏人利用漏洞攻击而泄露了,那该多不好呀。

换位思考后,我闭着眼,对着裸照暗暗发誓,保护女网友,人人有责。

此文比较长,建议各位让女朋友不用再等了,让她穿上裤子先睡。

| 主流盗号的八十一种姿势

  • 密码类漏洞

——密码泄露、暴力破解、撞库、密码找回漏洞、社工库、钓鱼…

  • 认证cookie被盗

——xss攻击、网络泄露、中间人攻击

  • 其他漏洞

——二维码登录、单点登录、第三方登录、客户端web自动登录、绑定其他账号登录、oauth登陆漏洞…

今天不讲密码安全,今天主要讲讲互联网上常见的一些通行证相关的“其他漏洞”

| 先稍微讲讲认证cookie的安全

目前各大互联网公司的网站大多使用cookie来实现对用户的认证。 如果攻击者拿到了这个认证cookie,就可以登录用户的账号了。

  • cookie安全注意点

Httponly:防止cookie被xss偷

https:防止cookie在网络中被偷

Secure:阻止cookie在非https下传输,很多全站https时会漏掉

Path :区分cookie的标识,安全上作用不大,和浏览器同源冲突

Httponly: 防止cookie被xss偷 xss攻击可以获得用户的cookie。 但如果cookie加上了httponly属性,js就无法读取,可以保护我们的cookie不在xss攻击中被偷走 但很多安全从业人员觉得cookie加上httponly了,xss就不算什么漏洞了。这当然是无厘头的,xss是标准的html/js代码注入漏洞,它不仅仅只是可以偷cookie,还可以做很多,下面会有很多例子…

https:防止cookie在网络中被偷 目前主流网站的认证cookie在互联网中都是无保护进行传输的,可能会在网络中被嗅探或其他方式泄露。所以建议安全级别高的网站使用全站https,并且不支持http的访问,而且还要使用HSTS,强制把http的请求转成https请求

Secure:阻止cookie在非https下传输,很多全站https时会漏掉 即使有时候你做了全站https,但你的cookie没有加上Secure属性的话。网络中间人可以在第三方页面中强制你使用http访问做了全站https的domain,此时你的cookie同样会在不安全网络中传输。如果加了secure属性,则此cookie只在https的请求中传输

Path : 区分cookie的标识,安全上作用不大,和浏览器同源冲突 cookie还有一个path属性,这是一个区分cookie的标识,安全上作用不大,和浏览器同源策略冲突。因为,路径A下的xss虽然读不到路径B下的cookie,但路径A下的xss完全可以注入代码进入路径B的页面,然后再去读路径B下的cookie

  • 比较好的cookie方案

  1. cookie的不可猜测性

  2. httponly+HTTPS+Secure+HSTS

  3. 同IP不同port,尽量不要部署多个不同的web服务,因为cookie不区分端口

| 通行证的“其他漏洞”

常见的通行证相关功能

  • 二维码登录

  • 单点登录

  • 第三方登录

  • app内嵌页登录

  • 绑定其他账号

  • 跨域传输认证信息

  • oauth登录

……

| 二维码登录的安全风险

1. 无行为确认

用户扫描二维码后,系统需提示用户检验二维码的行为。若无确认,用户扫描攻击者的登录二维码后,相当于给攻击者的票授权。

案例: 可以欺骗劫持进入来往用户的帐号——  WooYun: 可以欺骗劫持进入来往用户的帐号

2. CSRF漏洞伪造授权请求

给票据授权的请求如果是http的,并且可以被攻击者伪造。攻击者可以伪造请求让用户扫描二维码后执行,或让用户以其他形式对攻击者的票据进行授权。

一些二维码的授权请求按理说应该只在app端有效,但大多案例中,此请求在web站登陆状态下也是有效,增大了攻击面。

转载本站任何文章请注明:转载至神刀安全网,谢谢神刀安全网 » 在这个“点开我的链接你的账号就被黑了”的年代,如何给你的裸照加把锁?

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
分享按钮