- El
owneral publicar el contratoTokenVulnerablese hace acreedor de100 millonesde tokens. - Luego del ataque, el atacante
attackerdebe poseer100 millonesde tokens y elownerdebe poseer cero - Modifica el archivo
./test/TokenVulnerable.jsen la parte designada. - Añade los contratos necesarios para ejecutar el ataque.
- Ejecuta el test
npx hardhat test test/TokenVulnerable.jsy debería pasar
- delegatecall
- storage layout
npx hardhat test test/TokenVulnerable.js
- El
attackeres añadido a unwhitelisty es la única cuenta en dichawhitelist. - Es posible hacer una transferencia del
whitelista otra cuenta que no tenga código. - El
attackerdebe lograr tener un balance superior a 10 NFTs.
- Crea Dos
- Reentrancy
- Precomputación
npx hardhat test test/Camouflage.js
- No has sido invitado a la fiesta y por ello no estás en la lista blanca. Ve la manera de cómo incluirte.
- Puedes postular como aplicante para participar de un sorteo para ingresar a la lista blanca. Sin embargo, no es lo tuyo esperar.
- Ganas si el método
successcuando es llamando por elattackerda como resultadotrue.
- Storage slot position
- Storage layout
npx hardhat test test/NotInvited.js
- Existe un contrato (
NaiveDonation) que guarda una cantidad de Ether. Sin embargo, está mal resguardado. - Explota el mal patrón de autenticación usado para sustraer todo el balance de dicho contrato.
- Asume que el
ownerdel contratoNaiveDonation, mediante pishing, es convencido de donar1 weia una address cualquiera. - Ganas si el método
successcomo resultadotrue.
tx.origin.constructor
npx hardhat test test/NaiveDonation.js