前言:

老洞新谈,重复造属于自己的轮子

目录:

0x01:什么是OAuth2.0协议

0x02:配置不当所造成的危害

0x03:如何正确配置

什么是OAuth2.0协议

在OAuth协议还没有产生之前,如何我们想要登录一个网站,而这个网站又支持第三方登录,例如QQ登录。那么我们就只能在这个网站上输入QQ账号和密码,这个网站同时也就知道了我们的账号和密码,这势必会产生一些安全问题,而OAuth协议就是为了解决这些安全问题而产生的,Oauth2.0是Oauth协议的升级版。总的来说,OAuth2.0就是客户端和认证服务器之间由于相互不信任而产生的一个授权协议。

本篇文章不过多说OAuth协议的原理等,贴个原理地址,Oauth原理

协议四种模式:

授权码模式(authorization code)

简化模式(implicit)

密码模式(resource owner password credentials)

客户端模式(client credentials)

安全性我们主要关注四个参数。

redirect_url:回调域名

client:必须与域名绑定

state:防止CSRF

scope:权限范围

配置不当所产生的危害

复现步骤:

1:第三方网站请求登录客户端。

2:输入QQ账号密码。302跳转,https://XXX.com/back/qq?   code=35072F11AEE413B87553B32F6168B5DA&state=TCHmIyWrvP。

3:删去state参数,把请求发给受害者。

4:受害者点击后,登录我的账号。

下面来一点Open Redirect Bypass:

///www.bywalks.com/%2f%2e%2e
///www.bywalks.com/%2f%2e%2e/
/https:/%5cbywalks.com/
//www.bywalks.com/%2f%2e%2e
//www.bywalks.com
/www.bywalks.com
https://www.google.com/www.bywalks.com
/%2Fbywalks%252Ecom
http://www.google.com\.bywalks.com
http://www.google.com\@bywalks.com
http://www.google.com\#bywalks.com
http://www.google.com\?bywalks.com
http://www.google.com\\bywalks.com
http://www.google.com\bywalks.com

如何修复

1:做好Scope的权限验证。

2:state参数一次验证后失效。

3:redirect_uri严格控制。

个人博客:www.bywalks.com

源链接

Hacking more

...