# Aptos 在 UPbit上的假充值事件回顾 - 2023/09/27

By [zoie](https://paragraph.com/@zoie) · 2023-11-09

---

最近，UPbit交易所遭受了aptos假充值事件攻击。

#### 原因

受到攻击的原因，主要是UPbit犯了一个简单的错误。没有检查token类型的参数，也就是充值没有检查是APTOS还是其它代币。在Apto上，APTOS与token的转账是相同的，唯一不同的是，token会有类型参数。

下图可以看到在浏览器上真实APTOS与普通TOKEN转账的比较

​

可以看到，Token Transfer具有`type_argument`这一项值。

由于UPbit没有做参数类型检验，将MoonCoin的transfer识别为APTOS的transfer，导致了被攻击。

##### 背后故事

Aptos的转币机制，以前是需要接收者必须先收币合约中预先注册自己的地址，才能接收相应的代币。在2023年1月15号的[升级](https://github.com/aptos-labs/aptos-core/commit/7e95fa0b87a93be3afec19df73dc42e6bb8cdb9e#diff-f73fda12cdf9c3190759422fc111f1683e6793083f38e0b19278db722f0dabf1)里发生了更改，更改后，在进行转账时，如果收款人未注册，系统将默认进行注册。

相当于在升级前，Upbit里没有校验也无法被攻击。所以这也算是没有及时关注系统更新带来的问题。

#### 过程

再来看看攻击过程。

1.  黑客向380000个地址发送了3000~5000Moon代币，这些地址里大部分都是Upbit的充值地址。
    
2.  由于充值问题的存在，Upbit将这些Moon代币都识别为30～50个APT(价值150～250$)充值给到用户
    
3.  大家发现莫名收到APT后，可能直接进行售卖
    
4.  可以看到在攻击发生后，upbit上aptos现货交易量剧增，据说24小时现货交易量高达7100万美元...
    

并且由于超级多的用户收到了APT，就算有YKC的存在，对于追回资产也是巨大的工作量

看看[慢雾](https://twitter.com/SlowMist_Team/status/1706594965101687076)这里

以及[definalist](https://twitter.com/definalist/status/1705900412208029894)这里

[https://apscan.io/account/0xc4f4e73e689b13799d6a1a52a9db1e0099de2e16967ca9bff97e9946dbedc4e9](https://apscan.io/account/0xc4f4e73e689b13799d6a1a52a9db1e0099de2e16967ca9bff97e9946dbedc4e9)

---

*Originally published on [zoie](https://paragraph.com/@zoie/aptos-upbit-2023-09-27)*
