二维码扫码验证漏洞场景

随着应用APP化的趋势发展,类似扫码登录的场景越来越多,在此功能提供便利的同时,如若配置不正确则会出现安全隐患,本文将总结二维码使用场景下可能会出现的安全隐患。

什么是二维码?

简单来说,二维码就是网址、文本、联系方式等。扫描二维码这个动作,可以理解成用户点击的动作,或者传递参数的动作。

漏洞利用

当遇到一个二维码时候,可以截图到草料二维码进行解码,观察链接的构造。

打开草料二维码解码器,将需要解码的二维码上传后,即可得到真实的链接或者文本:

通过观察解密后的链接,大致判断存在什么样的漏洞:

漏洞场景一

https://sanshiok.com/order?id=1
通过观察上述链接可能存在问题有:

  • 越权:id参数可以修改为其他参数后,进行遍历后批量查看他人信息
  • sql注入:尝试去闭合或者注释sql语句,主要考虑布尔型的注入

漏洞场景二

https://sanshiok.com/ping?url=xxx.com

  • url重定向:大概率url是跳转后会重新向的链接
  • ssrf:通过url可能会访问到内部的资源。若存在waf,我们可以考虑使用302重定向的方法去访问资源。即:传入的url,参数是非内部资源,将http://127.0.0.1转换成短链接的形式进行绕过

漏洞场景三-CSRF

https://sanshiok.com/bind?code=xxxxx

  • CSRF:存在一个场景,我们我们扫码过后,会出现一个绑定的数据包,code参数就是我们要绑定的微信号,但是我们通过CSRF攻击,让他人点击即可用让他人的账号绑定攻击者的微信号,造成账号接管的效果。

攻击的流程图如下:

要实现让B帐号请求拦截的数据包,是需要一次交互的,配合存储XSS组合拳可到高危。通过诱导用户点击,需要一次交互的,危害一般为中危

漏洞场景四-OAuth认证缺陷

具体的场景就是扫码登录,在第一次扫码时,是需要关注公众号,但在第二次及后续的登录时,直接扫码登录不需要确认就登录上了帐号。在此种场景下缺失二次校验,存在安全隐患。
此类型的漏洞针对的用户主要是:

  • 已经扫码关注公众号的用户
  • 正在使用该系统的用户

具体漏洞利用场景:

将中间的二维码截出来,用ps或者二维码在线美化平台

通过钓鱼🎣等方式,转发给受害者扫描,即可成功登录帐号:

修复方法
使用完整的流程进行 OAuth 身份认证,在敏感操作处添加二级校验。

参考文档

免责声明

免责声明:本博客的内容仅供合法、正当、健康的用途,切勿将其用于违反法律法规的行为。如因此导致任何法律责任或纠纷,本博客概不负责。谢谢您的理解与配合!

微信公众号

本文链接:

https://sanshiok.com/archive/7.html

# 最新文章