热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

利用Github探测发现特斯拉API请求漏洞

本文讲述作者通过Github探测手段(GithubRecon)发现了特斯拉某服务端的用户名密码凭据,通过该凭据可以成功对特斯拉后台API接

本文讲述作者通过Github探测手段(Github Recon)发现了特斯拉某服务端的用户名密码凭据,通过该凭据可以成功对特斯拉后台API接口发起请求,实现敏感数据返回。漏洞最终获得了特斯拉官方$5000美金奖励。一起来围观围观。

漏洞发现

由于我对服务台和管理员角色比较熟悉,但此前并未涉猎过多的网络安全,对于安全行业,我还在努力研究。最近几天,我在看@Th3G3nt3lman发布的Github探测手段(Github Recon)视频教程,它是关于一些手动的Github侦测技巧,包括关键字查找和特殊库发现等方式。看过之后,我尝试着自己现学现卖,就随手拿特斯拉公司作为目标进行搜索查找,如:

“tesla.com” password=

结果是什么都没发现,那再换换看:


“tesla.com” pass=

也没有任何返回结果,再来:


“tesla.com” pwd=

这下就有了:

 

它是一个特斯拉的代码库,而且竟然是3天前更新过的代码:

从以上代码可以看出:

1、它是与云端IT业务专业管理工具ServiceNow进行交互的代码,我对ServiceNow比较熟悉;

2、其中的用户名user、密码pwd是base64编码,是可以解码的。

测试验证

手里有了这个凭据,我就想如何去利用它。在CTF经验的帮助下,我用在线的CyberChef工具成功解码了上述base64编码字段,这样一来,就能去登录测试了。

但尴尬的是,当我尝试用明文凭据去登录特斯拉adfs系统(https://sso.tesla.com/adfs/)时,它提示需要进行多因素验证,还需要验证登录用户的手机号,这就有点难了。

API拯救了世界

至此,好像也没什么希望了。但是由于我了解ServiceNow,工作中经常会用到其API接口方式,所以,我就想在此请求特斯拉API接口试试看。于是,我用PostMan构造了包含上述凭据的请求,看看能否返回一个有效的响应。

从我探测过的特斯拉API接口列表中,我选择了几个执行请求,BOOM!其中完全不需要权限验证,HTTP 200 !值得注意的是,我构造的请求不算大,但返回数据竟然把PostMan都崩溃了,可见其响应数据算是非常之多了。

这里,我们再来认识一下ServiceNow,它是一款云服务管理工具,安装之后会包含一个名为“MID Server”的服务,它负责把数据信息推送到云实例中,其中推送的数据信息包括用户和主机等活动目录数据,这是ServiceNow可以把事件或帮助台票据链接到特定用户的功能,也是工程师在生产系统中可以通过ServiceNow的Configuration Item DB导入和管理实现维护的手段。


也就是说,通过其中的实例请求,攻击者可以获取到所有的内部服务,包括IP地址和系统信息描述等,也能获取到一些绝佳的请求更改、事件信息或服务请求票据。

为此,我特意写了一个PowerShell脚本并转化成Python,用它可以实现整个ServiceNow实例的数据下载,有了这个功能,漏洞最终从P4被提升到了P1。

漏洞上报后,特斯拉在3小时后就立马删除了该代码库,之后特斯拉在API接口请求中加入了对ServiceNow实例请求的MFA验证手段。

经验总结

要擅于应用搜索语法,上述的特斯拉代码库曝露在网已经快3年多了,而其中的更新代码恰巧就被我发现了;

自动化工具不能发现所有东西,有时候需要亲自动动手;

任何要都可以发现漏洞,有些漏洞需要的漏洞技术并不是太多,但前提是你需要了解某些应用逻辑,知道从哪下手。

作者:clouds

来源:https://www.freebuf.com/vuls/241033.html

关注微信公众号:互联网架构师,在后台回复:2T,可以获取我整理的教程,都是干货。


猜你喜欢

1、GitHub 标星 3.2w!史上最全技术人员面试手册!FackBoo发起和总结

2、如何才能成为优秀的架构师?

3、从零开始搭建创业公司后台技术栈

4、程序员一般可以从什么平台接私活?

5、37岁程序员被裁,120天没找到工作,无奈去小公司,结果懵了...

6、滴滴业务中台构建实践,首次曝光

7、不认命,从10年流水线工人,到谷歌上班的程序媛,一位湖南妹子的励志故事

8、15张图看懂瞎忙和高效的区别

9、2T架构师学习资料干货分享



推荐阅读
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • Firefox火狐浏览器关闭到http://detectportal.firefox.com的流量问题解决办法
    本文介绍了使用Firefox火狐浏览器时出现关闭到http://detectportal.firefox.com的流量问题,并提供了解决办法。问题的本质是因为火狐默认开启了Captive portal技术,当连接需要认证的WiFi时,火狐会跳出认证界面。通过修改about:config中的network.captive-portal-service.en的值为false,可以解决该问题。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • 单点登录原理及实现方案详解
    本文详细介绍了单点登录的原理及实现方案,其中包括共享Session的方式,以及基于Redis的Session共享方案。同时,还分享了作者在应用环境中所遇到的问题和经验,希望对读者有所帮助。 ... [详细]
  • 本文介绍了将mysql从5.6.15升级到5.7.15的详细步骤,包括关闭访问、备份旧库、备份权限、配置文件备份、关闭旧数据库、安装二进制、替换配置文件以及启动新数据库等操作。 ... [详细]
  • Imtryingtofigureoutawaytogeneratetorrentfilesfromabucket,usingtheAWSSDKforGo.我正 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有