
Fuente: Beosin
A última hora de la noche del 5 de marzo de 2024, el tiempo de Beijing, según la plataforma Beosin Trace, el proyecto de contrato WoopPV2 en la cadena del árbitro fue atacado por el control de precios, causando una pérdida de aproximadamente $ 8.5 millones.Los piratas informáticos usan Lightning Loan para pedir prestados tokens USDC.E y Woo, y luego frecuentemente intercambian tokens a través de contratos WoopPv2.Debido a los defectos del cálculo de precios del contrato WOPPV2, los piratas informáticos pueden controlar el precio durante el proceso de intercambio, lo que provoca robar una gran cantidad de tokens WOO.El equipo de seguridad de Beosin analizó el incidente lo antes posible.
Análisis de vulnerabilidad
Hay una función de intercambio en el contrato WoopPv2,El usuario puede llamar a esta función para los intercambios de tokens.
La función _sellQuote es similar a la lógica de la función _sellbase._Sellquote es una función llamada cuando la persona que llama usa USDC.E para intercambiar token Woo.
A continuación, veamos la lógica de la función _calcbaseAntSellquote.
La función _sellbase es la misma que la función _sellQuote, pero la función _calcQuoteAlountSellBase es ligeramente diferente.
Según la lógica de Exchange, podemos encontrar un problema,La lógica de cálculo de esta cantidad de intercambio es diferente del modelo de multiplicación de intercambio tradicional de intercambio tradicional, como uniswap. el intercambio.Si la persona que llama se calcula cuidadosamente, se puede sacar el token en el interior.
Por ejemplo:
Si hay 1,000 tokens A y 1,000 b -tokens en la piscina, el precio de los tokens B es 1.Luego, si usa 500 tokens A, puede intercambiar tokens 500 B.A continuación, el uso de los 500 b -Tokes intercambiados por los intercambios se intercambiará por 1,000 fichas A, y finalmente la piscina se convierte en 500: 1000 y establece tokens 500A de la nada.
En este incidente, el atacante usó el problema de seguridad.
Proceso de ataque
Este atacante de incidentes atacó a través de muchos mismos métodos.
0xE80A16678B5008D5BE1484EC6EC6E77DC6307632030553405863FFB38C1F94266 Es un ejemplo.
1. El atacante tomó prestados más de 10 millones de USDC.E y 2.72 millones de tokens Woo a través del préstamo de rayos.
2. A continuación, el atacante usa 100,000 USDC.E para intercambiar token Woo en tres veces.
3. Luego, el atacante usó directamente más de 8 millones de tokens Woo para intercambiar USDC. Calculó que el precio de WOO en este momento era 7, lo que redujo casi 10 millones de veces.
4. Finalmente, porque el precio de los tokens Woo es muy pequeño, el atacante atacante usa un USDC.E muy pequeño para convertir más de 8 millones de tokens Woo, y finalmente devolvió un préstamo de rayos para irse.
Seguimiento de fondos
Después del ataque de piratería, el atacante transfirió 200 ETH a la dirección en la cadena Ethereum a través del puente cruzado, y el ETH restante se almacenó en la dirección de la cadena del árbitro. tiempo.
En vista del incidente del ataque de control de precios en la cadena del árbitro, debemos reconocer la importancia de los riesgos de seguridad en el campo de los activos virtuales.