Văzându-l pe șeful onekey apărându-și drepturile și Resupply, pierzând câteva active M, el s-a plâns că Defi este într-adevăr prea fragil. După ce m-am uitat în jur, nu părea să fiu deosebit de clar cu privire la modul în care hackerii au atacat, așa că am făcut câteva cercetări și le-am împărtășit cu voi: Protagonistul poveștii este ResupplyPair, utilizatorul poate împrumuta și împrumuta prin miza activelor, iar modificatorul isSolvent din contract este responsabil pentru verificarea dacă utilizatorul este eligibil să împrumute activele solicitate, logica codului specific este următoarea: Puteți vedea calculul LTV pe linia 282, dacă avem o modalitate de a seta _exchangeRate la 0, atunci verificarea nu ar fi întotdeauna adevărată? Continuați să citiți codul: Puteți vedea că variabila pentru această valoare provine din apelul la oracolul getPrices și este numitorul, cu alte cuvinte, trebuie să facem prețul garanției extrem de mare. Citind codul oracolului, puteți vedea că getPrices este doar un strat de redirecționare, care apelează de fapt interfața convetToAssets a activului mizat (adică seiful). Continuați să citiți codul: Puteți vedea că acest rezultat este compus din operații matematice foarte complexe, aici hackerul este prin amplificarea moleculei, mai departe total_assets, pentru a finaliza atacul, uitați-vă la _total_assets se poate găsi implementarea funcției: Această valoare este legată de borrowed_token deținut de contractul de controlor al acestui seif, care este crvUSD. Analiza este de fapt clară aici, ResupplyPair a fost creat cu un seif gol, iar hackerul a transferat o anumită cantitate de borrowed_token în contractul de controlor al seifului și, în cele din urmă, a făcut ca _exchangeRate să revină la zero, astfel încât valoarea activelor sale gajate a fost amplificată la infinit și a împrumutat până la 10 milioane de reUSD la un cost foarte mic. Tranzacționarea atacurilor: Adresa contractului ResupplyPair: Adresa contractului de controlor de trezorerie: Adresa contractului de trezorerie: Adresa contractului Oracle:
Afișare original
68,34 K
307
Conținutul de pe această pagină este furnizat de terți. Dacă nu se menționează altfel, OKX nu este autorul articolului citat și nu revendică niciun drept intelectual pentru materiale. Conținutul este furnizat doar pentru informare și nu reprezintă opinia OKX. Nu este furnizat pentru a fi o susținere de nicio natură și nu trebuie să fie considerat un sfat de investiție sau o solicitare de a cumpăra sau vinde active digitale. În măsura în care AI-ul de generare este utilizat pentru a furniza rezumate sau alte informații, astfel de conținut generat de AI poate să fie inexact sau neconsecvent. Citiți articolul asociat pentru mai multe detalii și informații. OKX nu răspunde pentru conținutul găzduit pe pagini terțe. Deținerile de active digitale, inclusiv criptomonedele stabile și NFT-urile, prezintă un grad ridicat de risc și pot fluctua semnificativ. Trebuie să analizați cu atenție dacă tranzacționarea sau deținerea de active digitale este adecvată pentru dumneavoastră prin prisma situației dumneavoastră financiare.