
Fuente: Tecnología Shenzhen Zero Time
fondo
Monitorear el evento de ataque en cadena contra DualPools:
https://bscscan.com/tx/0x90f374ca33fbd5aaa0d01f5fcf5dee4c7af49a98b47459d8b7ad52ef1e93
DualPools (https://dualpools.com) se basa en VenUsprotocol (https://venus.io/).
El modo de operación es como se muestra a continuación:
DualPools es una plataforma de préstamo descentralizada.
Entre ellos, la relación de intercambio de subyacentes y dtoken está controlada por Exchange.
intercambiar = (TotalCash + TotalBorrows -totalReserves) / TotalSupply
Análisis de ataque
En pocas palabras, el ataque se divide en dos partes:
1. Hackers Insuficiente liquidez (0) a través del nuevo grupo de negociación de Dualpools, que aumenta enormemente el precio de Dlink, y hueca los activos objetivo de otros grupos de negociación a través de Linter (WBNB, BTCB, ETA, ADA, BUSD).
2. Utilice el problema del corte de precisión para recuperar todos los enlaces invertidos en la etapa inicial.
Paso 1 Análisis detallado
El atacante tomó prestado a través de la piscina privada de Dodo y PancakesWapv3 y obtuvo BNB y BUSD como el fondo de ataque inicial, como se muestra a continuación:
Posteriormente, BNB y BUSD se mataron a través de Venusprotocol y tomaron prestado 11500 Link para atacar a DualPools.
En primer lugar, el atacante obtuvo el DLINK de 2 unidades mínimas a través de la menta Dlink-Link de la piscina de reembolso, y luego se transfirió al enlace de las unidades de 11499999999999999999999999999 al grupo comercial.
Dado que el grupo de negociación no se inicializa, no hay liquidez.Y el método de cálculo de intercambiar es el siguiente:
intercambiar = (TotalCash + TotalBorrows -totalReserves) / TotalSupply
En este momento, TotalCash era el saldo de enlace en el grupo de negociación, 11499999999999999998+2 = 11500000000000000000000, TotalBorrows y TotalReserves fueron 0, y Totalsupply fue 2 (porque el hacker obtuvo dos singles mínimos mínimos a través de Mint dlink).Por lo tanto, en este momento el intercambio fue 57500000000000000000 (575 veces el valor de DLINK).Debido a que el atacante posee el 2 dlink, y el valor es lo suficientemente alto, el hacker tomó prestado 50 BNB, 0.17 BTCB, 3.99 ETH, 6378 ADA, 911 BUSD a través de préstamo.
Paso 2 Análisis detallado
El atacante convirtió las dos unidades mínimas anteriores de Mint Dlink a 114999999999999999999898 a través de la redimencia.Porque el intercambio se manipuló a 5750000000000000000000.Por lo tanto, el DLINK requerido para intercambiar 1149999999999999999999898 El DLINK requerido es 11499999999999999988 /575000000000000000000000000000
En este punto, el atacante sacó el enlace de 114999999999999999999999898.Posteriormente, el préstamo de Venusprotocol, PancakesWapv3, Dodo Private Pool será devuelto para completar el ataque.
Resumir
El atacante utiliza la razón de la mala liquidez del nuevo grupo de negociación de DualPools. Activos objetivo.Posteriormente, la intercepción del método inteligente de eliminación del contrato se utilizó para recuperar los activos invertidos cuando el ataque anterior.Hasta ahora, un ataque completo a Defi Project DualPools.