交易所安全测试--信息泄露
0x03 信息泄露
一、概述
信息泄露在安全审计中屡见不鲜,对于存有大量用户KYC信息的交易所来说影响更加深远,是非常严重的安全问题。零时科技安全团队在审计大量交易所后发现,信息泄露问题一般集中于交易所的账户体系、OTC交易系统、用户订单、邀请列表和网站源代码等地方。造成信息泄露的主要原因一般是由于服务器响应包内容没有经过处理就将用户的所有信息返回,配合其他漏洞甚至可以批量的获取用户敏感信息,除此以外,对善于掘金的攻击者来说网站前端源码可谓是遍地黄金,大量敏感信息的注释(测试账户、内网IP、测试地址、测试token等等)没有在进入生产环境时被删除。
二、测试列表
信息泄露
- KYC信息泄露
- 登录注册
- 忘记密码
- 邀请列表
- OTC交易系统
- 用户订单
- 前端源码信息泄露
- 测试数据泄露
- 敏感信息泄露
- API接口泄露
- Github信息泄露
- 数据库文件/连接凭据
- 敏感信息泄露
- 敏感文件信息泄露
- robots.txt
- crossdomain.xml
- sitemap.xml
- .git/.svn/.bak
三、案例分析
KYC信息泄露
在业务逻辑文章中曾经讲过KYC认证缺陷 ,指的是用虚假以及非法的信息来绕过交易所的KYC认证。而对于使用真实KYC信息认证的用户,KYC信息本身的安全性显得尤为重要。
忘记密码
某交易所在用户忘记密码时未对响应包进行处理,当输入邮箱或者电话号码进行找回密码操作时,服务器将用户的uid、mobile、name、nickname、email、qq、wexin、identitycardnon(身份证号)以及googlesecret一并返回,造成了极其严重的KYC信息泄露:
邀请列表
某交易所在用户查看邀请人列表时没有对服务器响应包内容进行处理,导致查看邀请列表时会泄露所有被邀请人的KYC信息包括uid、mobile、name、nickname、email、qq、wexin、identitycardnon(身份证号)以及googlesecret等。利用存在的越权漏洞,可以遍历收集所有被邀请用户的KYC信息:
注:由于敏感性原因暂不放出收集结果以及具体细节
OTC查看商家/订单
某交易所在用户查看OTC订单处存在信息泄露,服务器的响应包里将商家的id、qq、alipay、whatsApp、nickname、mobile、wechat、telegram、username、realname、skype和email全部返回,只要遍历订单就可以获得所有商家的个人信息:
信息泄露攻击链
零时科技安全团队在对某交易所进行安全测试时发现,该交易所在用户查看OTC商家的信息时,遍历userid便可以获得所有商家用户的phone、username和nickname。收集到所有泄露的商家phone后,经过测试又在忘记密码处发现信息泄露,只要输入手机号就可以获得商家的userid以及email,通过两个信息泄露漏洞构成的攻击链同时进行收集,最终收集到所有商家用户的真实姓名、电话号码、邮箱地址以及昵称。
下图为通过遍历userid获取所有商家的phone和username:
下图为通过收集到的手机号码来获取商家的email以及userid:
也许某个点的信息泄露看起来微不足道,一旦点与点之间连成线,对于攻击者来说这两个点确定的可不只是一条有始有终的线段,而当这条攻击链被利用起来的时候,便是条有始无终,直至目标的射线。
源码信息泄露
在开发过程中,开发与测试人员为了能够更加轻松地了解以及调试代码,通常在开发与测试阶段在代码中留下大量注释信息,其中不乏有测试用IP地址,测试端口,测试用账户,测试用token和测试用API等等。
编写注释对于广大开发与测试人员可以提高代码的易读性以及开发效率,可算是与人方便,与己方便的好习惯。可一旦这些方便的注释经过开发环境、测试环境到达了生产环境,在公网上暴露出来,方便的可就不只是兢兢业业的开发者与测试者,还有在黑暗中隐藏行踪,时刻紧盯着目标的攻击者们。
在经过对大量交易所测试后发现,开发与测试人员可能是世界上最具有开源精神的一批人,有的喜欢将自家网站的内网拓扑以及测试接口开源出来供大家欣赏。
某交易所源代码中存有大量含有测试用接口,IP地址的注释:
有些喜欢将自家的加密的密钥开源出来供大家使用。
某交易所源代码中含有AES加密的硬编码密钥,导致数据加密被破解:
而有些不仅直接将自家测试用token放到源码里,还向账户里进行充值,可谓是:“弱水三千,任君自取”,不过君是不是“只取一瓢饮”那可就不知道了。
某交易所源码中含有测试用JWT,修改后可成功登录账户,控制资产:
使用测试用JWT登录账户,控制资产:
诚然,详细而又全面的注释是开发与测试人员良好的代码编写习惯,不过要记得在经过开发环境与测试环境后,进入生产环境之前,将所有可能会暴露到外界的含有敏感信息注释删除,以防敏感信息泄露。在GitHub上开源是好事,但也要记得上传之前仔细检查,不要将自家的数据库地址与密码一同开源出去。
对于交易所来说,不辜负用户的信赖,保护好用户给予的个人信息,应该是安身立命之本。
对于开发人员来说,要做好差别对待,保护好代码安全,给用户良好体验的同时,不要攻击者有着同样良好的渗透体验。
注:以上所有测试均已经过相关交易所授权,请勿自行非法测试。
交易所安全测试--信息泄露相关推荐
- 区块链安全之交易所测试--信息收集-社会工程学
一. 概述 社会工程学是信息收集技术的延伸和升级,是一种高级的信息利用手段.系统中最大的漏洞永远是人,社会工程学攻击则是一种高效利用这种漏洞的手段,它看似不起眼,也不专业,也没有技术性,但其实是最有效 ...
- 人脸识别不只是隐私问题 信息泄露面临更大安全隐患
https://www.toutiao.com/a6692977769803940356/ 最近两年是人工智能的爆发年.随着人工智能的助力,人脸识别技术以其不可复制性.非接触性.可扩展性和快速性等特点 ...
- 【转】Android应用开发allowBackup敏感信息泄露的一点反思
转载:http://blog.csdn.net/yanbober/article/details/46417531 1 背景 其实这篇文章可能有些小题大作,但回过头想想还是很有必要的,有点阴沟里翻船的 ...
- 【漏洞实战】从信息泄露到内网滲透
前言 能完成这次渗透纯属是信息收集做到位了.很多其实都是分散的信息,在某一次关键点集合起来就有可能拿到权限.这个漏洞已提交补天并修复完成了. 信息收集 一.发现敏感信息 此次使用的方法: Google ...
- 挖洞技巧:信息泄露之总结
信息漏洞的危害涉及到企业和用户,一直以来都是高风险的问题,本文章就两个方向进行讲述挖掘信息泄露的那些思路. 1|0Web方面的信息泄露 1|10x01 用户信息泄露 ①:评论处 一般用户评论处用户的 ...
- alxc tool 报错数组超出了界限_代码审计之报错信息泄露与字符串截断
机器在语言编码转换的时候,经常会出现各种各样的异常,这些神奇的字符串就有可能组合成一堆乱码出来,也有可能直接把程序搞崩溃掉,不过总有那么一些字符,可以帮助我们在利用漏洞的时候变得更简单一些,下面我们就 ...
- Spring Boot框架敏感信息泄露的完整介绍与SRC实战(附专属字典与PoC)
转载于:https://www.freebuf.com/vuls/289710.html #前言 ##Spring Boot框架介绍 Spring框架功能很强大,但是就算是一个很简单的项目,我们也要配 ...
- 9 月 19 日,腾讯云安全中心监测到 Apache Tomcat 修复了2个严重级别的漏洞, 分别为: 信息泄露漏洞(CVE-2017-12616)、远程代码执行漏洞(CVE-2017-12615
9 月 19 日,腾讯云安全中心监测到 Apache Tomcat 修复了2个严重级别的漏洞, 分别为: 信息泄露漏洞(CVE-2017-12616).远程代码执行漏洞(CVE-2017-12615 ...
- 检测到目标url存在内部ip地址泄露_Cendertron,动态爬虫与敏感信息泄露检测
Cendertron,动态爬虫与敏感信息泄露检测 Cendertron = Crawler + Rendertron Cendertron https://url.wx-coder.cn/HinPM ...
最新文章
- Redhat7 systemctl命令
- 【python图像处理】python绘制饼状图
- html内联框上下重叠,如何解决IOS端两个内联块元素无法上下对齐的问题?
- check attribute active - how to check if SAP CRM WebClient UI property is read only
- 算法学习经典例题整理
- P6085-[JSOI2013]吃货JYY【状压dp,欧拉回路】
- post和get请求的区别
- JAVA中randomfile_java中的RandomAccessFile的用法
- java 重定向关键字_SpringMVC 转发、重定向
- linux系统月初月末,Linux last显示系统开机以来获是从每月初登入者的讯息命令详解...
- 详说 Subversion备份
- python 会议室预约系统解决方案_会议室预约管理系统方案书.pdf
- Docker命令(二)
- C# Message类的属性Msg所关联的消息ID
- MOS管的导通电阻RDS(on)与阈值电压VGS(th)温度特性详解
- 抽象基类与接口,共性与个性的选择!(区别)
- 鸟枪换炮---IDEA
- python 累加直方图_二维数组的Python累积直方图
- react引入d3相关问题
- FLUENT提供了9个湍流模型,教你如何选择
热门文章
- This letter serves as notice of termination of the Apple Developer Program License Agreement
- 计算机cad教学,计算机CAD绘图基础教程
- 弱网测试(Network-Emulator-Toolkit工具)
- 流媒体分析之webrtc之metartc 实现。
- PRML 01 绪论:引言与引例
- 腾讯云高可扩展性区块链平台原理剖析
- 抑郁症患者眼中的世界与自己是怎样的?
- gotoprint函数在c语言,C语言之goto浅析
- 陆奇谈创业:风口上的猪一定要赶快长出翅膀,因为风停下来满地都是掉落的死猪...
- 一个整合OkHttp 、Retrofit 、Volley 、RxJava、Novate多种开源网络框架的项目,高度的封装和集成,Android中Web网络请求一行代码解决