Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Reentrancy simple

10/15
Recursos

Aportes 4

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Reentrancy simple: ataca a una función especifica llamandola nuevamente antes de cerra su ejecución, creando un ciclo hasta vaciar la cuenta.

Reentrancy simple

La funcion de Re-entrada tiene la vulnerabilidad en la que un contrato A llama a un contrato B y el contrato B aprovecha la vulnerabilidad antes de que se produzca el cambio de estado de los fondos en el contrato A, el contrato B en ese tiempo re-llama al contrato A denuevo.

Técnicas Preventivas:

  • Asegúrese de que se produzcan todos los cambios de estado antes de llamar a los contratos externos
  • Use modificadores de función que eviten el reingreso

Aquí hay un ejemplo de un guardia de reingreso

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.10;

contract ReEntrancyGuard {
    bool internal locked;

    modifier noReentrant() {
        require(!locked, "No re-entrancy");
        locked = true;
        _;
        locked = false;
    }
}

Comento algo no relacionado directamente con el curso, el sonido de la intro “platzi” esta bien, pero después se vuelve muy repetitivo escuchar siempre lo mismo.
Eso que a mi en lo particular me gusta el ASMR, pero llega un momento que ya es cansino.
Bueno eso simplemente.
Saludos.

REENTRANCY SIMPLE

  • Es uno de los ataques más conocidos y peligrosos, ya que puede quitarle todos los fondos a una cuenta. Consiste en llamar recursivamente a una misma función hasta que no haya más gas o fondos que transferir.
    ¿Cómo es posible?
  • Expone la vulnerabilidad, a través de una llamada mediante Call, toma la dirección del contrato y hace una llamada para retirar los fondos
  • Medida: límite de gas, mover la asignación de la variable antes de hacer la llamada externa