2019独角兽企业重金招聘Python工程师标准>>>
目前移动互联网中,区块链的网站越来越多,在区块链安全上,很多都存在着网站漏洞,区块链的充值,会员账号的存储性XSS窃取漏洞,账号安全,等等关于这些区块链的漏洞,我们SINE安全对其进行了整理与总结。目前整个区块链网站安全市场的需求是蛮大的,很多区块链网站,也叫数字货币平台,以及数字虚拟币,虚拟钱包,区块链钱包,整体上的区块链网站架构是分5个层,第一层是区块链的应用层:分发行机制,分配机制。第二层是激励层,第三层是共识层:POW,第四层是P2P网络,区块链传播机制,安全验证机制。第五层就是数据层:分区块数据,链式结构,数字签名,哈希函数,Merkle树,非对称加密。
在我们SINE安全对区块链网站进行安全检测,与安全渗透的过程中,发现很多网站漏洞,针对于区块链漏洞我们总结如下:一般出现网站漏洞的地方存在于网站的逻辑漏洞,在会员注册,会员登录,区块链地址管理:像充币,转币,提币。委托交易,买入卖出(期货,法币,以太坊,比特币等等)账户的密码安全(修改密码,手机短信验证),第三方支付平台(API接口支付)。在实际安全测试当中,比较容易发现的漏洞如下:
会员账号的存储性跨站漏洞
区块链CSRF漏洞
在数字货币交易平台里我们登录会员账号,进行币的买卖,转币的操作过程中,可以不用输入密码直接提交转币操作,无视密码。该转币的表单并没有对其做安全防护,导致存在很严重的漏洞,造成的危害也很大,很容易被攻击者利用。
充币、提币漏洞
在区块链平台当中,很多网站并没有对充币的表单进行安全过滤,导致可以构造负数,POST提交到区块链服务器中去,充币提币的时候可以造成负数,导致币增加。
转币地址被恶意篡改
EVM在判断转币地址的时候,没有过滤尾部的数字0,导致别人对其转币操作的时候可能会发现转币地址的变化,攻击者可以利用该方式对其进行转币,风险较大。
如何修复以上区块链网站漏洞呢?
对提币,以及充币,钱包交易,买入,卖出等会员的功能性操作的表单,进行安全过滤,对GET,POST的提交方式的数据进行严格的检测,对用户输入的参数以及输入值也加强检查,防止恶意构造参数提交到服务器端。