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