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 鈥減latzi鈥 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