虚拟币安全防护 渗透测试中发现的越权漏洞分析与修复

简介: 在对客户网站以及APP进行渗透测试服务时候,越权漏洞对业务系统的正常运转影响很大,很多客户网站信息被泄露,数据库被篡改一大部分原因跟越权漏洞有关,前端时候某金融客户因为数据被泄露,通过老客户介绍,找到我们SINE安全做渗透测试服务,找出数据被泄露的原因以及目前网站APP存在的未知漏洞,根据我们十多年的渗透经验来分享这次网站安全测试的整个过程。

在对客户网站以及APP进行渗透测试服务时候,越权漏洞对业务系统的正常运转影响很大,很多客户网站信息被泄露,数据库被篡改一大部分原因跟越权漏洞有关,前端时候某金融客户因为数据被泄露,通过老客户介绍,找到我们SINE安全做渗透测试服务,找出数据被泄露的原因以及目前网站APP存在的未知漏洞,根据我们十多年的渗透经验来分享这次网站安全测试的整个过程。

0e2442a7d933c895c0838deb611b7af6830200aa.jpeg

首先要收集客户的资料,我们SINE安全技术与甲方的网站维护人员进行了沟通,确定下网站采用的是php语言(Thinkphp二次开发系统),数据库类型是Mysql,服务器采用的是linuxcentos,买的是香港阿里云ECS,数据库采用的是内网传输并使用了RDS数据库实例作为整个网站APP的运营环境.


在对客户有了一定的了解后,客户提供了网站的会员账号密码,我们模拟攻击者的手法去黑盒测试目前网站存在的漏洞,登陆网站后,客户存在交易系统功能,使用的是区块链以及虚拟币进行币与币之间的交易金融网站,包括币币交换,转币,提币,冲币,包括了去中心化,以及平台与虚拟币交易所进行安全通信,第三方的API接口,也就是说客户的币上了链,


直接到交易所进行公开交易,资金安全很重要,只要出现一点安全隐患导致的损失可能达到几十万甚至上百万,不过还好客户只是用户信息泄露,针对这一情况,我们展开了全面的人工渗透测试


d62a6059252dd42aebaadc429d3252b3c8eab84c.jpeg


首先我们对用户测试这里进行漏洞检测,在这里跟大家简单的介绍一下什么是越权漏洞,这种漏洞一般发生在网站前端与用户进行交互的,包括get.post.cookies等方式的数据传输,如果传输过程中未对用户当前的账户所属权限进行安全判断,那么就会导致通过修改数据包来查看其它用户的一些信息,绕过权限的检查,可直接查看任意用户的信息,包括用户的账户,注册手机号,身份认证等信息。


接下来我们来实际操作,登陆网站,查看用户信息,发现连接使用的是这种形式,如下:/user/58,上面的这个网址最后的值是58,与当前我们登陆的账户是相互对应的,也是ID值,USERID=58,也就是说我自己的账户是ID58,如果我修改后面的数值,并访问打开,如果出现了其他用户的账户信息,那么这就是越权漏洞。/user/60,打开,我们发现了问题,直接显示手机号,用户名,以及实名认证的身份证号码,姓名,这是赤裸裸的网站漏洞啊!这安全防范意识也太薄弱了。


用户信息查看这里存在越权漏洞,发生的原因是网站并没有对用户信息查看功能进行权限判断,以及对账户所属权限判断,导致发生可以查看任意用户ID的信息,如下图所示:


3801213fb80e7becf60105258e27b03e9a506b2e.jpeg


漏洞很明显,这是导致用户信息泄露的主要原因,并且我们在测试用户注册的账户也发现了用户信息泄露漏洞,我们抓取了POST到用户注册接口端这里,可以看到数据包里包含了userid,我们渗透测试对其ID值修改为61,然后服务器后端返回来的信息,提示用户已存在,并带着该ID=61的用户信息,包含了姓名,邮箱地址,钱包地址,等一些隐私的信息,如下返回的200状态代码所示:


HTTP/1.1 200 OK
Date: Tue, 08 Mon 2020 09:18:26 GMT
Content-Type: text/html
Connection: OPEN
Set-Cookie: __cQDUSid=d869po9678ahj2ki98nbplgyh266;
Vary: Accept-Encoding
CF-RAY: d869po9678ahj2ki98nbplgyh266
Content-Length: 500
{"error":"exist","user":[{"id":"61","username":"zhangchunyan","email":"admin@whocare","mobile":13005858****,"btc":"69jn986bb2356abp098nny889".


9f2f070828381f30ce44fe0e0d08450e6f06f0c3.jpeg


通过上面的漏洞可以直接批量枚举其他ID值的账户信息,导致网站的所有用户信息都被泄露,漏洞危害极大,如果网站运营者不加以修复漏洞,后期用户发展规模上来,很多人的信息泄露就麻烦了。如果您的网站以及APP也因为用户信息被泄露,数据被篡改等安全问题困扰,要解决此问题建议对网站进行渗透测试服务,从根源去找出网站漏洞所在,防止网站继续被攻击,可以找专业的网站安全公司来处理,区块链网站的安全,在网站,APP,或者新功能上线之前一定要做渗透测试服务,提前检查存在的漏洞隐患,尽早修复,防止后期发展规模壮大造成不必要的经济损失。

相关文章
|
2月前
|
缓存 监控 算法
软件测试中的性能瓶颈分析与优化策略
【10月更文挑战第6天】 性能测试是确保软件系统在高负载条件下稳定运行的重要手段。本文将深入探讨性能测试的常见瓶颈,包括硬件资源、网络延迟和代码效率等问题。通过具体案例分析,我们将展示如何识别并解决这些问题,从而提升软件的整体性能。最后,文章还将分享一些实用的性能优化技巧,帮助读者在日常开发和测试中更好地应对性能挑战。
117 3
|
3月前
|
监控 测试技术 持续交付
软件测试中的性能瓶颈分析与优化策略
性能瓶颈,如同潜伏于软件深处的隐形障碍,悄然阻碍着系统的流畅运行。本文旨在揭示这些瓶颈的形成机理,剖析其背后的复杂成因,并汇聚一系列针对性的优化策略,为软件开发者提供一套系统性的解决方案。
61 5
|
25天前
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
56 1
|
2月前
|
缓存 监控 测试技术
软件测试中的性能瓶颈分析与优化策略
本文深入探讨了在软件测试过程中,如何有效地识别和解决性能瓶颈问题。通过对性能瓶颈的定义、分类以及常见原因的分析,结合实际案例,提出了一系列针对性的优化策略和方法。这些策略旨在帮助测试人员和开发人员提高软件的性能表现,确保软件在高负载条件下依然能够稳定运行。
|
2月前
|
安全 程序员 网络安全
Kali渗透测试:对软件的溢出漏洞进行测试
Kali渗透测试:对软件的溢出漏洞进行测试
42 1
|
3月前
|
测试技术 持续交付 UED
软件测试的艺术与科学:平衡创新与质量的探索在软件开发的波澜壮阔中,软件测试如同灯塔,指引着产品质量的方向。本文旨在深入探讨软件测试的核心价值,通过分析其在现代软件工程中的应用,揭示其背后的艺术性与科学性,并探讨如何在追求技术创新的同时确保产品的高质量标准。
软件测试不仅仅是技术活动,它融合了创造力和方法论,是软件开发过程中不可或缺的一环。本文首先概述了软件测试的重要性及其在项目生命周期中的角色,随后详细讨论了测试用例设计的创新方法、自动化测试的策略与挑战,以及如何通过持续集成/持续部署(CI/CD)流程优化产品质量。最后,文章强调了团队间沟通在确保测试有效性中的关键作用,并通过案例分析展示了这些原则在实践中的应用。
96 1
|
3月前
|
监控 算法 测试技术
软件测试中的性能瓶颈分析与优化策略
本文旨在深入探讨软件测试过程中性能瓶颈的识别与优化方法。通过对性能瓶颈的概念、分类及其成因进行分析,结合实际案例,提出一套系统的性能瓶颈诊断流程和针对性的优化策略。文章首先概述了性能瓶颈的基本特征,随后详细介绍了内存泄漏、资源竞争、算法效率低下等常见瓶颈类型,并阐述了如何通过代码审查、性能监测工具以及负载测试等手段有效定位问题。最后,结合最佳实践,讨论了代码级优化、系统配置调整、架构改进等多方面的解决措施,旨在为软件开发和测试人员提供实用的性能优化指导。
94 4
|
3月前
|
安全 Java 应用服务中间件
渗透测试-JBoss 5.x/6.x反序列化漏洞
渗透测试-JBoss 5.x/6.x反序列化漏洞
56 14
|
2月前
|
安全 网络协议 Linux
Kali渗透测试:使用Armitage针对漏洞进行攻击
Kali渗透测试:使用Armitage针对漏洞进行攻击
83 0
|
3月前
|
安全 测试技术 Linux
CentOS7 安装vulhub漏洞测试环境
CentOS7 安装vulhub漏洞测试环境
138 0