UBI:假钱换真钱,揭秘 Pickle Finance 被黑过程

By:慢雾安全团队

据慢雾区情报,2020年11月22日,以太坊DeFi项目PickleFinance遭受攻击,损失约2000万DAI。慢雾安全团队第一时间跟进相关事件并进行分析,以下为分析简略过程。

攻击流程简析

1、项目的Controller合约中的swapExactJarForJar函数允许传入两个任意的jar合约地址进行代币的兑换,其中的_fromJar,_toJar,_fromJarAmount,_toJarMinAmount都是用户可以控制的变量,攻击者利用这个特性,将_fromJar和_toJar都填上自己的地址,_fromJarAmount是攻击者设定的要抽取合约的DAI的数量,约2000万DAI。

声音 | 肖磊:区块链能够建立比“公司”更加普世和高效的商业运行体系:11月13日,肖磊发文称,区块链技术有两个预期性潜力,第一个是它能够建立一种比“公司”更加普世和高效的商业运行体系,区块链会颠覆现有的,包括“公司”制这种已经非常普世、高效化的单“中心”组织形态,从而走上超越现有法律契约等信任保证的,多中心化时代。第二个是,区块链能够让相信不同力量的人,都能找到自己发挥和值得追随的市场模式,从而削除更多隔阂,有助于世界新的整合。[2019/11/14]

2、使用swapExactJarForJar函数进行兑换过程中,合约会通过传入的_fromJar合约和_toJar合约的token()函数获取对应的token是什么,用于指定兑换的资产。而由于_fromJar合约和_toJar合约都是攻击者传入的,导致使用token()函数获取的值也是可控的,这里从_fromJar合约和_toJar合约获取到的token是DAI。

动态 | 数据:近几个月以太坊区块链网络上的开发活动呈抛物线增长:据Santiment数据显示,过去几个月,以太坊区块链网络上的开发活动呈抛物线增长,上升至2019年5月的水平。[2019/11/13]

3.此时发生兑换,Controller合约使用transferFrom函数从_fromJar转入一定量的ptoken,但是由于fromJar合约是攻击者控制的地址,所以这里转入的ptoken是攻击者的假币。同时,因为合约从_fromJar合约中获取的token是DAI,然后合约会判断合约里的资金是否足够用于兑换,如果不够,会从策略池中赎回一定量的代币,然后转到Controller合约中。在本次的攻击中,合约中的DAI不足以用于兑换,此时合约会从策略池中提出不足的份额,凑够攻击者设定的2000万DAI。

肖磊:币圈已现“三国鼎立” 还有很多江东孙权在酝酿:肖磊近日发表观点称,目前的区块链和数字货币领域确实是新的一片天地,里面可以说是新的一轮财富运动,这种情况下,会聚集非常牛的人在这个行业,每一个团队创始人都有种进取天下的感觉。如果拿一个比喻来说,徐明星更像是三国时期的袁绍,也是一方领袖,曾经手下也是猛将如云,独霸一方;李林更像是曹操,敞开大门真心实意招揽人才,在打仗的过程中,归降者众多,李书沸应该只是其中一个,李林麾下目前拥有币圈最强大的智囊和友邦,也是雄踞币圈半壁江山;赵长鹏和何一更像是刘备和诸葛亮的搭档,有很好的口碑和支持者,策略清晰,攻城略地不在话下,也打下了很大一片天地。当然,币圈还有很多以长江为天险的其他平台,拒竞争对手于护城河之外,也就是说有很多江东孙权还在酝酿。[2018/5/26]

4.兑换继续,Controller合约在从策略池里提出DAI凑够攻击者设定的2000万DAI后,会调用_fromJar的withdraw函数,将攻击者在第三步转入的假ptokenburn掉,然后合约判断当前合约中_toJar合约指定的token的余额是多少,由于_toJar合约指定的token是DAI,Controller合约会判断合约中剩余DAI的数量,此时由于第三步Controller合约已凑齐2000万DAI,所以DAI的余额是2000万。这时Controller合约调用_toJar合约的deposit函数将2000万DAI转入攻击者控制的_toJar合约中。到此,攻击者完成获利。

数字货币分析师肖磊:我国未来在数字货币方面有很多机会,但思维模式需要转变:近日,数字货币分析师肖磊在公众号发表《痛心疾首,一个重要的领域又要被美国人抢走了》一文。肖磊在文中表示:从目前的发展状况来看,可能只有非常少数的国家理解到了这个点,美国依然老谋深算,表面上强监管、质疑、反对,而私下里却深入布局。随后,金色财经记者对肖磊进行了采访,肖磊表示:我国未来在数字货币领域还有很多机会,但思维模式需要转变,不能一直带着有色眼镜看这个问题,需要认真介入产业,深入分析,去伪存真。[2018/4/29]

总结

此次攻击中,攻击者通过调用Controller合约中的swapExactJarForJar函数时,伪造_fromJar和_toJar的合约地址,通过转入假币而换取合约中的真DAI,完成了一次攻击的过程。

往期回顾

闪电贷重入攻击,OUSD损失700万美金技术简析

如何使用闪电贷从0撬动百万美元?ValueDeFi协议闪电贷攻击简要分析

无中生有?DeFi协议Akropolis重入攻击简析

Acala创世已通过慢雾科技安全审计

BithumbGlobal入驻慢雾区,发布「安全漏洞与威胁情报赏金计划」

慢雾导航

慢雾科技官网

https://www.slowmist.com/

慢雾区官网

https://slowmist.io/

慢雾GitHub

https://github.com/slowmist

Telegram

https://t.me/slowmistteam

Twitter

https://twitter.com/@slowmist_team

Medium

https://medium.com/@slowmist

币乎

https://bihu.com/people/586104

知识星球

https://t.zsxq.com/Q3zNvvF

火星号

http://t.cn/AiRkv4Gz

链闻号

https://www.chainnews.com/u/958260692213.htm

本文来源于非小号媒体平台:

慢雾科技

现已在非小号资讯平台发布68篇作品,

非小号开放平台欢迎币圈作者入驻

入驻指南:

/apply_guide/

本文网址:

/news/9558989.html

免责声明:

1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险

2.本文版权归属原作所有,仅代表作者本人观点,不代表非小号的观点或立场

上一篇:

币安为何推出第三条链?这对BNB意味着什么?

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

链链资讯

[0:0ms0-3:943ms