1、利用OAuth劫持用户身份,新浪微博 移动&安全团队 蓝色di雪球,Who I Am,新浪微博 移动&安全团队安全工程师目前负责微博的应用安全&安全自动化平台架构&通行证致力于研究应用安全,安全自动化和安全运维,OAuth的发展,OAuth是什么,OAuth的应用,OAuth的发展,OAuth调用方式,OAuth的四种调用方式,Authorization Code,10,Implicit,Authorization Code的请求参数,Implicit的请求参数,OAuth风险分析,OAuth风险分析,信息泄露,信息泄露,CSRF,CSRF,CSRF,权限认证(scope),URL回调污染,r
2、edirect_uri 回调地址:开放平台填写不严格授权服务器不验证或者验证不严格漏洞风险:可能导致 code 或者 access_token 泄露或者钓鱼,不区分调用方式,如何优雅的利用OAuth漏洞,如何优雅的利用OAuth漏洞,劫持用户应用方身份,劫持用户应用方身份,劫持用户应用方身份,劫持用户应用方身份,攻击过程,劫持用户授权方身份,劫持用户授权方身份,劫持用户授权方身份,篡改参数更改调用方式,Authorization Coderesponse_type = codeCode + Appsecret = access_tokenImplicitresponse_type = toke
3、nRequest token = access_token,通过篡改参数绕过了Appsecret的限制,直接获得了access_token图,劫持授权方身份,Access_token可能的利用方式,OAuth漏洞修复,OAuth漏洞修复,问题:1.开放平台历史遗留2.短时间内无法进行完全修复BUG:1.开放平台中 redirect_uri 不规范2.redirect_uri 校验存在逻辑错误3.不区分调用方式,OAuth漏洞修复,URL回调污染修复日志分析,明确风险范围校验全路径,暂不验证参数至此,虽然漏洞没有完全修复,但是已经大大增加了漏洞的利用门槛,缩小了漏洞的范围,修复中的坑,还有很多种
4、方式来进行绕过redirect_uri=http:/%redirect_uri=http:/%3F3.redirect_uri=http:/%4.redirect_uri=http:/:%5.redirect_uri=http:/6.redirect_uri=http:/:,Implicit的请求参数,OAuth漏洞修复,OAuth漏洞修复,最终修复方案 将大型应用添加进白名单,严格验证开放平台回调地址 非白名单进行全路径验证 运营和产品推动,规范白名单内应用的回调地址,改完移出白名单,直到白名单清空,OAuth可能存在的风险,OAuth可能存在的风险,授权滥用,利用方式:诱惑用户授权恶意应用
5、使用access_token进行诈骗、广告解决方案:封禁上行权限直接封禁应用,授权token被脱裤,微博某大型第三方应用被脱裤,影响广泛,问题的根源,2018/9/22,OAuth存储凭证上没有做任何加密措施用户名密码存储:md5(密码+salt)Access_token存储:明文,感谢, 长得吸引仇恨 罗诗尧v 余弦,Q & A,招(gui)聘(qiu),安全测试工程师(应用安全方向)职位描述:负责核心业务的应用安全测试与风险评估,推动落地安全解决方案自动化安全检测工具与日志分析系统的研发与功能&性能优化负责核心项目的白盒代码审计(PHP)公司内部安全编码与培训(应用安全/移动安全)跟踪安全社区的安全动态,并进行漏洞分析、挖掘和前沿安全攻防技术的研究岗位要求:熟悉常见的安全漏洞原理,如(SQLi,XSS,CSRF),能够独立挖掘web或移动客户端安全漏洞熟练使用php/python/perl/shell脚本中的至少一种语言熟悉主流PHP框架,对PHP代码安全审计有一定了解,并能独立进行白盒代码review良好的沟通、协调能力weibo_欢迎活泼开朗的小伙伴加入我们!,