Sui MoveCTF 攻防

官網

https://movectf.movebit.xyz/

Git: https://github.com/shanxuanchen/MoveCTF

題目1

第一題是check in題,需要用戶準備好環境即可。觸發合約,然後提交對應的簽名即可。

題目2

這道題其實稍微有點難~~~~

我們先看一下get flag的條件:

  1. 要拿到Treasury Box

  2. 隨機數要剛好達到0

我們知道其實隨機數達到0的概率非常小,其實此時幾乎可以確定此題的最大考點:

**隨機數攻擊**

1. 拿到Treasure Box

從slay_boar_king的方法裡可以看到,當滿足d100 == 0時(隨機數的結果為0),sender就可以拿到box資源。當然,我們前提是要能打贏怪物boar。打贏怪物boar純屬就是一個簡單的循環邏輯了,只要攻擊力和防禦力有一定就可以了。

所以,我們需要循環100多次slay_boar。然後積累一定的經驗值,然後升級即可。

2. 隨機數要剛好達到0

本題的兩個隨機數重要變量是:

  1. tx hash

  2. ids_created(這個是object new出來之後的自增ID)

我們採取的攻擊方法很簡單:

**固定tx Hash,然後模擬隨機數的生成,然後遍歷ids_created**。

next zero rand u64 range

最難的部分是自己手動組裝seed,這裡直接放答案:

題目3

這套我是AC了的。這道題有很大的漏洞,因為create_lend是一個public方法。通過創建一個0債務的新的資源,然後提交flag即可。

題目4

這道題其實就是考move的循環題,基本功的題目,兩次循環結果就能出來了。

參考鏈接:

https://mp.weixin.qq.com/s/-OFe_E_XTzdRgBB0ilu9aw

來源:bress

Total
0
Shares
Related Posts