币圈之大事-“某大型区块链数字资产矿场”漏洞分析

前言:

因为本次是由“黎佳安全实验室”从一次应急响应引起的,两件安全事件分析与测试,我们将侧重点放在安全分析与病毒载本之上,

关于区块链数字资产与矿场的合法性,可见人民银行等五部委就发布了《关于防范比特币风险的通知》,技术层面理解区块链,就是一个有效验证信息正确性与平等&互联的数据交互方式的架构技术。

区块链数字资产矿场

因客户机房近期,出现数据流量异常,常规性的对网段进行了安全测试,现发网段一个IP可疑,只是出现一个登录页面,同时有标明矿工管理后台:如图下


币圈之大事-“某大型区块链数字资产矿场”漏洞分析_第1张图片
图片发自App


通过扫描软件,扫描确定是:Laravel框架,

Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。

@事实上国内很多网站与管理系统也是基于Laravel进行。通过测试没有发现可利用的漏洞,为了进行一次了解,通过Laravel官网,近期公布一个漏洞利用方法,主要还是用户写法不规范,漏洞说明是:

Illuminate\Validation\Rule

如网站没有对$ID值进行预先过滤处理,用户可以传递恶意数据给ignore函数,从而导致SQL注入,

关键问题代码

class Unique

{

...

public function ignore($id, $idColumn = null)

    {

        if ($id instanceof Model) {

            return $this->ignoreModel($id, $idColumn);

        }

        $this->ignore = $id;

        $this->idColumn = $idColumn ?? 'id';

        return $this;

    }

public function __toString()

    {

            $this->ignore ? '"'.addslashes($this->ignore).'"' : 'NULL',

    }

以上没有任何进行防御过滤,直接提交至DatabaseRule.php,后来直接通sqlmap进行注入操作,拿到管理员帐号密码,

奇怪的是居然用户密码是明文的,管理平台界面如下:


币圈之大事-“某大型区块链数字资产矿场”漏洞分析_第2张图片
图片发自App


鬼死神差般的打开了,所谓算力页面


币圈之大事-“某大型区块链数字资产矿场”漏洞分析_第3张图片
图片发自App


哇:7329ETH 这个只是近期数据,注:因团队只做技术研究,不作恶,也不玩币,所以我们第一时间通知,客户进行升级,最后也证明了,这个管理平台,为集中管理所谓矿场用户的数据,通过提交方式,到此平台统一管理。


币圈之大事-“某大型区块链数字资产矿场”漏洞分析_第4张图片
图片发自App


出于安全测试,请求https://api.**********.com 直接暴出用户信息:


币圈之大事-“某大型区块链数字资产矿场”漏洞分析_第5张图片
图片发自App


解决方案:

用户传值过程中,建议使用

Rule::unique('users')->ignore($id),

结束语:

所谓挖矿没有任何意义,单纯的一个游戏,技术不作恶,网友不夸大,区块链为新的一个技术,合理的使用技术与解决具体应用才是王道

你可能感兴趣的:(币圈之大事-“某大型区块链数字资产矿场”漏洞分析)