QRLJacking是网络安全研究人员设计的一种攻击技术,能用来劫持旁路基于QR码(二维码的一种)的快速登录系统。
许多桌面应用程序,比如Line,微信和WhatsApp允许用户通过基于QR码的安全快速响应登录(Secure Quick Response Login)方式。基于QR码的认证系统允许用户快速登录网站,而不需要输入密码。
在安全快速响应登录机制中,网站会向用户显示QR码,用户只需用手机应用程序扫描即可。
一旦扫描QR码,网站会授权用户访问。这种方法被认为是更安全的密码,因为它对攻击由弹性,比如中间人攻击和暴力破解,但不幸的是,黑客发现可以通过一种被称为“QR登录劫持(QRLJacking)”(又名劫持基于QR码的登录系统)的方式实施攻击。
埃及网络安全专家Mohamed Abdelbasset Elnouby演示了如果从使用QR码验证登录的服务入侵账号。Mohamed发布了一个概念认证展示QRLJacking技术,攻击者只需要说服受害者扫描攻击者的QR码。
点击图片查看
攻击顺序如下:
1.攻击者初始化客户端的QR会话并将登录QR码克隆至一个钓鱼页面。
2.然后,攻击者将钓鱼页面发送给受害者。
3.如果被说服,受害者会使用有针对性的移动应用程序扫描QR码。
4.这个移动应用程序将令牌密钥(token secret)发送给目标服务来完成认证过程。
5.这样一来,攻击者就获得了受害者账户的控制权
6.然后服务开始与攻击者的浏览器会话交换受害者数据。
埃及网络安全专家Mohamed Abdelbasset Elnouby解释称,“攻击者初始化一个成功的QRLJacking攻击就需要编写一个脚本,定期克隆过期的QR码并刷新钓鱼网站显示的QR码,因为在QR登录过程中,QR码应有过期时间。”
攻击者可以利用QRLJacking劫持QR码登录认证存在漏洞的账号。
如果想要了解更多有关QRLJacking的信息,可以前往OWASP和Github去了解:
www.owasp.org/index.php/QRLJacking
github.com/OWASP/QRLJacking