[閒聊] permit鏈下簽名釣魚

作者: MACD (MACD)   2023-05-21 09:39:50
我剛剛看到一篇關於用permit鏈下簽名的方式來轉走你帳戶內的token,而且這個方式你的
帳戶內不會有approve紀錄,之前我在用paraswap、uniswapV3、1inch有遇過這種授權方式
所以特別來提醒大家,現在連鏈下簽名都要仔細看一下,別無腦簽名。
鏈下簽名比較常出現的方式是連入defi網站的時候,需要你用帳號簽一份聲明書,例如par
aswap連進去會要你簽一份這個網站不提供給美國人使用的聲明。
https://i.imgur.com/UFznnNW.png
permit功能可以看USDC的etherscan上的code,簡單來說就是用鏈下簽名的方式根據permit
需要參數讓你簽名,拿到你簽完名的加密資訊v.r.s,然後駭客再call USCD permit函數,
那就可以完成approve的動作。這個方式比較特別的是鏈下簽名不會消耗gas,所以你不會
去特別在意這個簽名,你以為一切都正常,但是其實你已經把token授權給別人動了,而且
revoke工具也不會偵測到,revoke工具原理其實是掃你的帳戶內的approve tx,這個permi
t方式,permit tx其實會出現在駭客的帳戶下面,所以revoke不會偵測到。對permit tx
fee是駭客幫你付的。
現在可以從1inch看一下permit鏈下簽名會長怎樣。有沒有發現permit鏈下簽名跟上面的網
站聲明基本上一樣,只是message data部分不一樣,換成要你簽permit需要參數,其實這
是metamask有幫解析後的結果,有些錢包不支援解析的話,應該會是0xd505accf開頭一串
bytes32 code,大家可以比較一下一般USDC approve,現在metamask已經不會無腦無限
approve了,會問你要approve多少。
permit鏈下簽名
https://i.imgur.com/PdMw4JL.png
approve tx
https://i.imgur.com/Qi9en0h.png
結論
如果遇到鏈下簽名請仔細看清楚。
ref:https://foresightnews.pro/article/detail/33330
作者: s89505123 (GhiGhi)   2023-05-21 09:48:00
推推
作者: SamuelLuo (薩姆爾)   2023-05-21 11:03:00
專業推
作者: gR7P4zXH (tpn7gpdx)   2023-05-21 11:42:00
作者: JapaZPa4867 (落葉學系權威)   2023-05-21 15:56:00
permit 是基於 EIP712 的 signTypedData一般訊息簽名是用的是 signMessage前端或插件都會提示簽名類型 注意就好
作者: sazabijiang (筆落驚風雨詩成泣鬼神)   2023-05-21 18:12:00
好恐怖..這好像傳統簽名文件下墊複寫紙以及另一份文件的伎倆。你以為只簽了A,其實是A+B套餐
作者: leofu100 (dreamingleo)   2023-05-21 18:18:00
推謝謝
作者: DarkerDuck (達克鴨)   2023-05-21 18:57:00
小狐狸permit鏈下簽章也要跟approve一樣警告無腦按的message差很多,理論上用UI就可以預先警告的
作者: MACD (MACD)   2023-05-21 20:20:00
很多無腦簽的沒說根本看不出是在簽EIP-712還是簽message
作者: yahooyamgoog (安安唷)   2023-05-22 12:03:00
這種簽名的傷害是一次性的還是永久性的?若不小心簽名,有辦法取消授權嗎?
作者: MACD (MACD)   2023-05-22 14:30:00
看你授權多少,可以取消,但是需要點技術,直接換帳號比較快
作者: ECZEMA (加油!)   2023-05-25 22:10:00
麻瓜覺得害怕

Links booklink

Contact Us: admin [ a t ] ucptt.com