Análisis del ataque al contrato de LibertiVault en Polygon Chain

金色财经_

De acuerdo con el monitoreo de riesgos de seguridad Beosin EagleEye, la alerta temprana y el monitoreo de la plataforma de bloqueo de la empresa de auditoría de seguridad blockchain Beosin, **, el contrato LibertiVault en la cadena Polygon fue atacado y la pérdida de alrededor de 123ETH y 56,234USDT por un valor aproximado de 290,000 dólares estadounidenses. , y la cadena Ethereum 35ETH y 96223USDT valen alrededor de US$160.000, totalizando más de US$450.000. **El personal técnico analizó y descubrió que este ataque fue causado por una vulnerabilidad de reingreso en el contrato de LibertiVault.

  1. El atacante tomó prestados 5 millones de USDT utilizando el préstamo flash y llamó a la función de depósito del contrato LibertiVault para comprometerse. La lógica de compromiso utilizará parte de los tokens comprometidos para el intercambio y luego calculará la cantidad de monedas acuñadas. La cantidad de monedas acuñadas se basa en el contrato y el depósito. El cálculo se basa en la proporción de la cantidad de fichas depositadas al saldo antes de que se deposite el contrato.

  2. El intercambio de operaciones de intercambio llamará al contrato del pirata informático. En este momento, el pirata informático vuelve a ingresar al depósito de llamada por primera vez y vuelve a ingresar a esta función por segunda vez, depositando 2.5 millones de USDT en el contrato.

  3. Después del segundo reingreso, el contrato acuñará monedas para el pirata informático de acuerdo con la proporción de 2,5 millones de USDT al saldo de USDT del contrato anterior.Después de completar la función de depósito de primer reingreso, el pirata informático deposita otros 2,5 millones de USDT en él.

  4. En este momento, se completa la operación de intercambio en la función de depósito externo y el contrato acuñará monedas de acuerdo con la proporción de 2,5 millones de USDT al saldo de USDT del contrato.

  5. El problema está en el cuarto punto, lógicamente el segundo cálculo del saldo del contrato debería ser el saldo anterior más el saldo de 2,5 millones ingresado por primera vez como parámetro para este cálculo, pero aquí está el En forma de reingreso, el saldo del contrato se obtuvo desde el principio, por lo que los parámetros no han cambiado, y el saldo original todavía se usa para el cálculo, lo que resulta en la acuñación de una gran cantidad de tokens de cupones para piratas informáticos.

  6. Finalmente, el pirata informático eliminó los tokens y devolvió el préstamo flash para obtener ganancias.

Aviso legal: La información de esta página puede proceder de terceros y no representa los puntos de vista ni las opiniones de Gate. El contenido que aparece en esta página es solo para fines informativos y no constituye ningún tipo de asesoramiento financiero, de inversión o legal. Gate no garantiza la exactitud ni la integridad de la información y no se hace responsable de ninguna pérdida derivada del uso de esta información. Las inversiones en activos virtuales conllevan riesgos elevados y están sujetas a una volatilidad significativa de los precios. Podrías perder todo el capital invertido. Asegúrate de entender completamente los riesgos asociados y toma decisiones prudentes de acuerdo con tu situación financiera y tu tolerancia al riesgo. Para obtener más información, consulta el Aviso legal.
Comentar
0/400
Sin comentarios