SlideShare une entreprise Scribd logo
1  sur  6
Télécharger pour lire hors ligne
Índice 7
Índice
Prólogo por Leif Ferreira,
CEO de Bit2Me...........................................................................................13
Capítulo I
Introducción a la web3...............................................................................17
1.Desde la web0 a web3.................................................................................................17
2.La web 1.0...................................................................................................................18
3.La web 2.0...................................................................................................................19
4.La web 3.0...................................................................................................................19
Descentralización y Blockchain................................................................................................. 21
Ciberseguridad en la web3......................................................................................................... 23
Perfiles en el mundo web3......................................................................................................... 24
SmartContract............................................................................................................................ 27
Wallet......................................................................................................................................... 30
DApp.......................................................................................................................................... 31
Gas............................................................................................................................................. 34
Token.......................................................................................................................................... 35
NFT............................................................................................................................................ 36
5.Tokenomics y una breve historia...............................................................................45
6. Resumiendo: La visión Web3 y conceptos..............................................................49
Capítulo II
La evolución de la Blockchain: Ethereum................................................55
1.Evolución de la blockchain: Desde payments a data..............................................55
2.¿Qué es Ethereum?....................................................................................................57
Ethereum Virtual Machine (EVM)............................................................................................. 58
¿Smart Contracts?...................................................................................................................... 60
Solidity no es un lenguaje de alto nivel..................................................................................... 62
Se compila a bytecode................................................................................................................ 62
8 Hacking Web3: [New] Challenge Accepted!
Application Binary Interface (ABI)........................................................................................... 63
Programar Smart Contracts es programar API REST................................................................ 64
3.Multichain...................................................................................................................65
¿Por qué?.................................................................................................................................... 65
Ecosistema y Comunidad (y capital)......................................................................................... 67
Ventajas y desafíos..................................................................................................................... 68
Capítulo III
Desarrollo de Smart Contracts..................................................................71
1.Introducción al desarrollo de Smart Contracts.......................................................71
2.Remix IDE...................................................................................................................74
Interfaz gráfica de Remix........................................................................................................... 74
3.Desarrollo de Smart Contracts en Solidity..............................................................82
Estructura de los proyectos en Solidity...................................................................................... 82
Estructura básica de un contrato................................................................................................ 83
Tipos de datos y variables.......................................................................................................... 84
Tipos de memoria....................................................................................................................... 85
Funciones y eventos................................................................................................................... 87
Manejo de fondos y datos.......................................................................................................... 90
Control de flujo de la lógica....................................................................................................... 93
Transacciones entre contratos.................................................................................................... 96
Modificadores custom................................................................................................................ 99
Gas........................................................................................................................................... 102
Herencia y composición........................................................................................................... 104
4.Reto: Desarrollo de un Smart Contract ENS........................................................106
¿Cómo funciona?..................................................................................................................... 107
Capítulo IV
Profundizando en la infraestructura Web3................................................115
1.Dapp...........................................................................................................................115
Almacenamiento descentralizado y “off-chain”...................................................................... 117
IPS (Inter Planetary File System)............................................................................................. 118
Infraestructura web3................................................................................................................ 121
Nodos....................................................................................................................................... 123
RPCs......................................................................................................................................... 125
Proveedores de Servicio........................................................................................................... 126
Gasless..................................................................................................................................... 127
Índice 9
2.Desarrollo de Smart Contracts avanzado..............................................................128
Tokens Fungibles (como el ERC-20)....................................................................................... 128
Tokens No Fungibles (como ERC-721)................................................................................... 129
3.Conceptos avanzados del desarrollo web3.............................................................131
Method calling......................................................................................................................... 131
Función fallback....................................................................................................................... 134
Multichain................................................................................................................................ 134
Optimizaciones de gas: Gasless............................................................................................... 137
Proxies...................................................................................................................................... 140
Idea General............................................................................................................................. 141
Cómo funciona......................................................................................................................... 142
Implementación en Solidity..................................................................................................... 143
Vulnerabilidad y funcionamiento del proxy............................................................................. 144
Problemas y descentralización................................................................................................. 146
Tipos de implementación de Proxies....................................................................................... 147
Diamond Pattern................................................................................................................... 148
Transparent proxy pattern..................................................................................................... 149
UUPS proxy pattern.............................................................................................................. 150
Minimal Proxy Contract....................................................................................................... 151
Capítulo V
Vulnerabilidades........................................................................................156
1.Vulnerabilidades.......................................................................................................156
Re-Entrancy............................................................................................................................. 156
Ejemplo: Re-Entrancy en código............................................................................................. 158
Mitigación................................................................................................................................ 159
Integer Overflow...................................................................................................................... 160
Ejemplo: Integer Overflow en código...................................................................................... 160
Mitigación................................................................................................................................ 161
TX.Origin................................................................................................................................. 161
Ejemplo: tx.origin en código.................................................................................................... 163
Mitigación................................................................................................................................ 164
Fallos en el control de acceso.................................................................................................. 164
Ejemplo: fallo en el control de acceso en código..................................................................... 165
Mitigación................................................................................................................................ 166
Funciones ‘Legacy’.................................................................................................................. 166
Ejemplo: malos tips.................................................................................................................. 167
DoS a la lógica......................................................................................................................... 168
Mitigación................................................................................................................................ 170
10 Hacking Web3: [New] Challenge Accepted!
Unprotected suicide o selfdestruct........................................................................................... 170
Ejemplo: delegatecall en código.............................................................................................. 171
Mitigación................................................................................................................................ 172
Signature Replay Attack........................................................................................................... 172
Ejemplo: Signature Replay Attack en código.......................................................................... 174
Mitigación................................................................................................................................ 175
Capítulo VI
Security Guidelines en SmartContracts..................................................176
1.Malas prácticas.........................................................................................................176
2.Buenas prácticas.......................................................................................................179
Capítulo VII
Making lab: Pentesting en Web3.............................................................188
1.‘making’ lab..............................................................................................................188
2.Metodología...............................................................................................................189
Pruebas en la blockchain.......................................................................................................... 190
Pruebas en DApp..................................................................................................................... 190
EIP-1470 o SWC...................................................................................................................... 191
SCSVS..................................................................................................................................... 192
3.Herramientas y ‘distros’..........................................................................................194
4.Visualización de información y datos.....................................................................197
Etherscan.................................................................................................................................. 197
Surya........................................................................................................................................ 200
5.Análisis estático.........................................................................................................204
Slither....................................................................................................................................... 204
Remix SSA............................................................................................................................... 209
6.Decompiladores........................................................................................................210
Ethervm.................................................................................................................................... 211
7.Ejecución simbólica..................................................................................................213
Mythril..................................................................................................................................... 213
8.Fuzzing......................................................................................................................217
Echidna..................................................................................................................................... 218
Property testing..................................................................................................................... 218
9.Plataforma CTF: level_up!......................................................................................223
Cómo funciona el juego: Reto Interact.................................................................................... 225
Índice 11
Reto Ownership........................................................................................................................ 228
Jugando a la Re-Lottery........................................................................................................... 230
Hack to Snippet Delegated....................................................................................................... 234
Consiguiendo NFT para demostrar el nivel............................................................................. 238
Reto NavajaNegra 2022........................................................................................................... 240
Fichero: contract-address.json................................................................................................. 242
Índice del libro "Hacking Web3: Challenge Acepted!" de 0xWord

Contenu connexe

Similaire à Índice del libro "Hacking Web3: Challenge Acepted!" de 0xWord

Openbravo manual-de-usuario-v1.1
Openbravo manual-de-usuario-v1.1Openbravo manual-de-usuario-v1.1
Openbravo manual-de-usuario-v1.1
Joel Palomino Silva
 
Curso power point 97
Curso power point 97Curso power point 97
Curso power point 97
chicano_delsu
 
Deep web, tor, freenet, i2p privacidad y anonimato daniel echeverri montoya
Deep web, tor, freenet, i2p privacidad y anonimato   daniel echeverri montoyaDeep web, tor, freenet, i2p privacidad y anonimato   daniel echeverri montoya
Deep web, tor, freenet, i2p privacidad y anonimato daniel echeverri montoya
Jose Garcia
 
MCAF TFM Cobertura Financiera en los Derivados OTC
MCAF TFM Cobertura Financiera en los Derivados OTCMCAF TFM Cobertura Financiera en los Derivados OTC
MCAF TFM Cobertura Financiera en los Derivados OTC
Pablo Herrero Gonz
 
Postgres tutorial
Postgres tutorialPostgres tutorial
Postgres tutorial
t763rm3n
 

Similaire à Índice del libro "Hacking Web3: Challenge Acepted!" de 0xWord (20)

Manual de inf para negocios
Manual de inf para negociosManual de inf para negocios
Manual de inf para negocios
 
Openbravo manual-de-usuario-v1.1
Openbravo manual-de-usuario-v1.1Openbravo manual-de-usuario-v1.1
Openbravo manual-de-usuario-v1.1
 
Claudio Natoli Michieli - Guía de internet para periodistas
Claudio Natoli Michieli - Guía de internet para periodistasClaudio Natoli Michieli - Guía de internet para periodistas
Claudio Natoli Michieli - Guía de internet para periodistas
 
Adrian Natoli Michieli - Guia internet para periodistas
Adrian Natoli Michieli - Guia internet para periodistasAdrian Natoli Michieli - Guia internet para periodistas
Adrian Natoli Michieli - Guia internet para periodistas
 
Claudio Adrian Natoli - Guia internet para periodistas
Claudio Adrian Natoli - Guia internet para periodistasClaudio Adrian Natoli - Guia internet para periodistas
Claudio Adrian Natoli - Guia internet para periodistas
 
Contenido
Contenido Contenido
Contenido
 
Máxima Seguridad en WordPress
Máxima Seguridad en WordPressMáxima Seguridad en WordPress
Máxima Seguridad en WordPress
 
Informática y tics
Informática y ticsInformática y tics
Informática y tics
 
Curso power point 97
Curso power point 97Curso power point 97
Curso power point 97
 
Deep web, tor, freenet, i2p privacidad y anonimato daniel echeverri montoya
Deep web, tor, freenet, i2p privacidad y anonimato   daniel echeverri montoyaDeep web, tor, freenet, i2p privacidad y anonimato   daniel echeverri montoya
Deep web, tor, freenet, i2p privacidad y anonimato daniel echeverri montoya
 
MCAF TFM Cobertura Financiera en los Derivados OTC
MCAF TFM Cobertura Financiera en los Derivados OTCMCAF TFM Cobertura Financiera en los Derivados OTC
MCAF TFM Cobertura Financiera en los Derivados OTC
 
Postgres tutorial
Postgres tutorialPostgres tutorial
Postgres tutorial
 
Delphi al limite
Delphi al limiteDelphi al limite
Delphi al limite
 
Implementacion red con mikrotik
Implementacion red con mikrotikImplementacion red con mikrotik
Implementacion red con mikrotik
 
Tutorial JSF
Tutorial JSFTutorial JSF
Tutorial JSF
 
Tutorial Jsf
Tutorial JsfTutorial Jsf
Tutorial Jsf
 
Jsf
JsfJsf
Jsf
 
Manual Jsf
Manual JsfManual Jsf
Manual Jsf
 
estructuras de datos
estructuras de datosestructuras de datos
estructuras de datos
 
Smarty 2.6.14 Docs
Smarty 2.6.14 DocsSmarty 2.6.14 Docs
Smarty 2.6.14 Docs
 

Plus de Telefónica

Plus de Telefónica (20)

Índice de libro "Historias Cortas sobre Fondo Azul" de Willy en 0xWord
Índice de libro "Historias Cortas sobre Fondo Azul" de Willy en 0xWordÍndice de libro "Historias Cortas sobre Fondo Azul" de Willy en 0xWord
Índice de libro "Historias Cortas sobre Fondo Azul" de Willy en 0xWord
 
Índice del libro: Máxima Seguridad en Windows: Secretos Técnicos. 6ª Edición ...
Índice del libro: Máxima Seguridad en Windows: Secretos Técnicos. 6ª Edición ...Índice del libro: Máxima Seguridad en Windows: Secretos Técnicos. 6ª Edición ...
Índice del libro: Máxima Seguridad en Windows: Secretos Técnicos. 6ª Edición ...
 
Índice del libro "Amazon Web Services: Hardening de Infraestructuras Cloud Co...
Índice del libro "Amazon Web Services: Hardening de Infraestructuras Cloud Co...Índice del libro "Amazon Web Services: Hardening de Infraestructuras Cloud Co...
Índice del libro "Amazon Web Services: Hardening de Infraestructuras Cloud Co...
 
Índice del Libro "Ciberestafas: La historia de nunca acabar" (2ª Edición) de ...
Índice del Libro "Ciberestafas: La historia de nunca acabar" (2ª Edición) de ...Índice del Libro "Ciberestafas: La historia de nunca acabar" (2ª Edición) de ...
Índice del Libro "Ciberestafas: La historia de nunca acabar" (2ª Edición) de ...
 
Índice del Libro "Storytelling para Emprendedores"
Índice del Libro "Storytelling para Emprendedores"Índice del Libro "Storytelling para Emprendedores"
Índice del Libro "Storytelling para Emprendedores"
 
Digital Latches for Hacker & Developer
Digital Latches for Hacker & DeveloperDigital Latches for Hacker & Developer
Digital Latches for Hacker & Developer
 
Índice del libro "Hardening de servidores GNU / Linux 5ª Edición (Gold Edition)"
Índice del libro "Hardening de servidores GNU / Linux 5ª Edición (Gold Edition)"Índice del libro "Hardening de servidores GNU / Linux 5ª Edición (Gold Edition)"
Índice del libro "Hardening de servidores GNU / Linux 5ª Edición (Gold Edition)"
 
WhatsApp INT: OSINT en WhatsApp
WhatsApp INT: OSINT en WhatsAppWhatsApp INT: OSINT en WhatsApp
WhatsApp INT: OSINT en WhatsApp
 
Índice del libro "De la Caverna al Metaverso" de 0xWord.com
Índice del libro "De la Caverna al Metaverso" de 0xWord.comÍndice del libro "De la Caverna al Metaverso" de 0xWord.com
Índice del libro "De la Caverna al Metaverso" de 0xWord.com
 
20º Máster Universitario de Ciberseguridad UNIR
20º Máster Universitario de Ciberseguridad UNIR20º Máster Universitario de Ciberseguridad UNIR
20º Máster Universitario de Ciberseguridad UNIR
 
BootCamp Online en DevOps (and SecDevOps) de GeeksHubs Academy
BootCamp Online en DevOps (and SecDevOps) de GeeksHubs AcademyBootCamp Online en DevOps (and SecDevOps) de GeeksHubs Academy
BootCamp Online en DevOps (and SecDevOps) de GeeksHubs Academy
 
Índice del libro "Ciberseguridad de tú a tú" de 0xWord
Índice del libro "Ciberseguridad de tú a tú"  de 0xWordÍndice del libro "Ciberseguridad de tú a tú"  de 0xWord
Índice del libro "Ciberseguridad de tú a tú" de 0xWord
 
Índice del libro "Open Source INTelligence (OSINT): Investigar personas e Ide...
Índice del libro "Open Source INTelligence (OSINT): Investigar personas e Ide...Índice del libro "Open Source INTelligence (OSINT): Investigar personas e Ide...
Índice del libro "Open Source INTelligence (OSINT): Investigar personas e Ide...
 
Índice del libro "Social Hunters" de 0xWord
Índice del libro "Social Hunters" de 0xWordÍndice del libro "Social Hunters" de 0xWord
Índice del libro "Social Hunters" de 0xWord
 
Índice del libro "Kubernetes para profesionales: Desde cero al despliegue de ...
Índice del libro "Kubernetes para profesionales: Desde cero al despliegue de ...Índice del libro "Kubernetes para profesionales: Desde cero al despliegue de ...
Índice del libro "Kubernetes para profesionales: Desde cero al despliegue de ...
 
Los retos sociales y éticos del Metaverso
Los retos sociales y éticos del MetaversoLos retos sociales y éticos del Metaverso
Los retos sociales y éticos del Metaverso
 
Índice del Libro "Ciberestafas: La historia de nunca acabar" de 0xWord
Índice del Libro "Ciberestafas: La historia de nunca acabar" de 0xWordÍndice del Libro "Ciberestafas: La historia de nunca acabar" de 0xWord
Índice del Libro "Ciberestafas: La historia de nunca acabar" de 0xWord
 
Índice del libro "Docker: SecDevOps" 2ª Edición de 0xWord
Índice del libro "Docker: SecDevOps" 2ª Edición de 0xWordÍndice del libro "Docker: SecDevOps" 2ª Edición de 0xWord
Índice del libro "Docker: SecDevOps" 2ª Edición de 0xWord
 
Índice del libro "Malware moderno: Técnicas avanzadas y su influencia en la i...
Índice del libro "Malware moderno: Técnicas avanzadas y su influencia en la i...Índice del libro "Malware moderno: Técnicas avanzadas y su influencia en la i...
Índice del libro "Malware moderno: Técnicas avanzadas y su influencia en la i...
 
Índice del libro "Hacking Web Technologies" Silver Edition de 0xWord
Índice del libro "Hacking Web Technologies" Silver Edition de 0xWordÍndice del libro "Hacking Web Technologies" Silver Edition de 0xWord
Índice del libro "Hacking Web Technologies" Silver Edition de 0xWord
 

Dernier

editorial de informática de los sueños.docx
editorial de informática de los sueños.docxeditorial de informática de los sueños.docx
editorial de informática de los sueños.docx
ssusere34b451
 
Chat GPT para la educación Latinoamerica
Chat GPT para la educación LatinoamericaChat GPT para la educación Latinoamerica
Chat GPT para la educación Latinoamerica
EdwinGarca59
 

Dernier (20)

¡Ya basta! Sanidad Interior - Angela Kellenberger.pdf
¡Ya basta! Sanidad Interior - Angela Kellenberger.pdf¡Ya basta! Sanidad Interior - Angela Kellenberger.pdf
¡Ya basta! Sanidad Interior - Angela Kellenberger.pdf
 
De Olmos Santiago_Dolores _ M1S3AI6.pptx
De Olmos Santiago_Dolores _ M1S3AI6.pptxDe Olmos Santiago_Dolores _ M1S3AI6.pptx
De Olmos Santiago_Dolores _ M1S3AI6.pptx
 
Ejercicio 1 periodo 2 de Tecnología 2024
Ejercicio 1 periodo 2 de Tecnología 2024Ejercicio 1 periodo 2 de Tecnología 2024
Ejercicio 1 periodo 2 de Tecnología 2024
 
Electricidad Libro compendio de temas estudiados.docx
Electricidad Libro compendio de temas estudiados.docxElectricidad Libro compendio de temas estudiados.docx
Electricidad Libro compendio de temas estudiados.docx
 
editorial de informática de los sueños.docx
editorial de informática de los sueños.docxeditorial de informática de los sueños.docx
editorial de informática de los sueños.docx
 
BUSCADORES DE INTERNET (Universidad de Sonora).
BUSCADORES DE INTERNET (Universidad de Sonora).BUSCADORES DE INTERNET (Universidad de Sonora).
BUSCADORES DE INTERNET (Universidad de Sonora).
 
Tipos de Datos de Microsoft Access-JOEL GARCIA.pptx
Tipos de Datos de Microsoft Access-JOEL GARCIA.pptxTipos de Datos de Microsoft Access-JOEL GARCIA.pptx
Tipos de Datos de Microsoft Access-JOEL GARCIA.pptx
 
Actividad 6/Las TIC en la Vida Cotidiana.
Actividad 6/Las TIC en la Vida Cotidiana.Actividad 6/Las TIC en la Vida Cotidiana.
Actividad 6/Las TIC en la Vida Cotidiana.
 
Navegadores de internet - Nuevas Tecnologías de la Información y la Comunicación
Navegadores de internet - Nuevas Tecnologías de la Información y la ComunicaciónNavegadores de internet - Nuevas Tecnologías de la Información y la Comunicación
Navegadores de internet - Nuevas Tecnologías de la Información y la Comunicación
 
Redes Neuronales profundas convolucionales CNN ́s-1.pdf
Redes Neuronales profundas convolucionales CNN ́s-1.pdfRedes Neuronales profundas convolucionales CNN ́s-1.pdf
Redes Neuronales profundas convolucionales CNN ́s-1.pdf
 
herramientas web para estudiantes interesados en el tema
herramientas web para estudiantes interesados en el temaherramientas web para estudiantes interesados en el tema
herramientas web para estudiantes interesados en el tema
 
PRÁCTICA Nº 4: “Análisis de secuencias del ADN con el software BioEdit y uso ...
PRÁCTICA Nº 4: “Análisis de secuencias del ADN con el software BioEdit y uso ...PRÁCTICA Nº 4: “Análisis de secuencias del ADN con el software BioEdit y uso ...
PRÁCTICA Nº 4: “Análisis de secuencias del ADN con el software BioEdit y uso ...
 
10°8 - Avances tecnologicos del siglo XXI 10-8
10°8 - Avances tecnologicos del siglo XXI 10-810°8 - Avances tecnologicos del siglo XXI 10-8
10°8 - Avances tecnologicos del siglo XXI 10-8
 
Chat GPT para la educación Latinoamerica
Chat GPT para la educación LatinoamericaChat GPT para la educación Latinoamerica
Chat GPT para la educación Latinoamerica
 
Tipos de datos en Microsoft Access de Base de Datos
Tipos de datos en Microsoft Access de Base de DatosTipos de datos en Microsoft Access de Base de Datos
Tipos de datos en Microsoft Access de Base de Datos
 
CARPETA PEDAGOGICA DE TOE.docbbbbbbbbbbbx
CARPETA PEDAGOGICA DE TOE.docbbbbbbbbbbbxCARPETA PEDAGOGICA DE TOE.docbbbbbbbbbbbx
CARPETA PEDAGOGICA DE TOE.docbbbbbbbbbbbx
 
Tarea_sesion_15_Reportes Maestro - Detalle con el uso de AJAX.pptx
Tarea_sesion_15_Reportes Maestro - Detalle con el uso de AJAX.pptxTarea_sesion_15_Reportes Maestro - Detalle con el uso de AJAX.pptx
Tarea_sesion_15_Reportes Maestro - Detalle con el uso de AJAX.pptx
 
AVANCES TECNOLOGICOS DEL SIGLO XXI. 10-08..pptx
AVANCES TECNOLOGICOS  DEL SIGLO XXI. 10-08..pptxAVANCES TECNOLOGICOS  DEL SIGLO XXI. 10-08..pptx
AVANCES TECNOLOGICOS DEL SIGLO XXI. 10-08..pptx
 
Desarrollo del Dominio del Internet - Estrada
Desarrollo del Dominio del Internet - EstradaDesarrollo del Dominio del Internet - Estrada
Desarrollo del Dominio del Internet - Estrada
 
Uso de las TIC en la vida cotidiana .
Uso de las TIC en la vida cotidiana       .Uso de las TIC en la vida cotidiana       .
Uso de las TIC en la vida cotidiana .
 

Índice del libro "Hacking Web3: Challenge Acepted!" de 0xWord

  • 1. Índice 7 Índice Prólogo por Leif Ferreira, CEO de Bit2Me...........................................................................................13 Capítulo I Introducción a la web3...............................................................................17 1.Desde la web0 a web3.................................................................................................17 2.La web 1.0...................................................................................................................18 3.La web 2.0...................................................................................................................19 4.La web 3.0...................................................................................................................19 Descentralización y Blockchain................................................................................................. 21 Ciberseguridad en la web3......................................................................................................... 23 Perfiles en el mundo web3......................................................................................................... 24 SmartContract............................................................................................................................ 27 Wallet......................................................................................................................................... 30 DApp.......................................................................................................................................... 31 Gas............................................................................................................................................. 34 Token.......................................................................................................................................... 35 NFT............................................................................................................................................ 36 5.Tokenomics y una breve historia...............................................................................45 6. Resumiendo: La visión Web3 y conceptos..............................................................49 Capítulo II La evolución de la Blockchain: Ethereum................................................55 1.Evolución de la blockchain: Desde payments a data..............................................55 2.¿Qué es Ethereum?....................................................................................................57 Ethereum Virtual Machine (EVM)............................................................................................. 58 ¿Smart Contracts?...................................................................................................................... 60 Solidity no es un lenguaje de alto nivel..................................................................................... 62 Se compila a bytecode................................................................................................................ 62
  • 2. 8 Hacking Web3: [New] Challenge Accepted! Application Binary Interface (ABI)........................................................................................... 63 Programar Smart Contracts es programar API REST................................................................ 64 3.Multichain...................................................................................................................65 ¿Por qué?.................................................................................................................................... 65 Ecosistema y Comunidad (y capital)......................................................................................... 67 Ventajas y desafíos..................................................................................................................... 68 Capítulo III Desarrollo de Smart Contracts..................................................................71 1.Introducción al desarrollo de Smart Contracts.......................................................71 2.Remix IDE...................................................................................................................74 Interfaz gráfica de Remix........................................................................................................... 74 3.Desarrollo de Smart Contracts en Solidity..............................................................82 Estructura de los proyectos en Solidity...................................................................................... 82 Estructura básica de un contrato................................................................................................ 83 Tipos de datos y variables.......................................................................................................... 84 Tipos de memoria....................................................................................................................... 85 Funciones y eventos................................................................................................................... 87 Manejo de fondos y datos.......................................................................................................... 90 Control de flujo de la lógica....................................................................................................... 93 Transacciones entre contratos.................................................................................................... 96 Modificadores custom................................................................................................................ 99 Gas........................................................................................................................................... 102 Herencia y composición........................................................................................................... 104 4.Reto: Desarrollo de un Smart Contract ENS........................................................106 ¿Cómo funciona?..................................................................................................................... 107 Capítulo IV Profundizando en la infraestructura Web3................................................115 1.Dapp...........................................................................................................................115 Almacenamiento descentralizado y “off-chain”...................................................................... 117 IPS (Inter Planetary File System)............................................................................................. 118 Infraestructura web3................................................................................................................ 121 Nodos....................................................................................................................................... 123 RPCs......................................................................................................................................... 125 Proveedores de Servicio........................................................................................................... 126 Gasless..................................................................................................................................... 127
  • 3. Índice 9 2.Desarrollo de Smart Contracts avanzado..............................................................128 Tokens Fungibles (como el ERC-20)....................................................................................... 128 Tokens No Fungibles (como ERC-721)................................................................................... 129 3.Conceptos avanzados del desarrollo web3.............................................................131 Method calling......................................................................................................................... 131 Función fallback....................................................................................................................... 134 Multichain................................................................................................................................ 134 Optimizaciones de gas: Gasless............................................................................................... 137 Proxies...................................................................................................................................... 140 Idea General............................................................................................................................. 141 Cómo funciona......................................................................................................................... 142 Implementación en Solidity..................................................................................................... 143 Vulnerabilidad y funcionamiento del proxy............................................................................. 144 Problemas y descentralización................................................................................................. 146 Tipos de implementación de Proxies....................................................................................... 147 Diamond Pattern................................................................................................................... 148 Transparent proxy pattern..................................................................................................... 149 UUPS proxy pattern.............................................................................................................. 150 Minimal Proxy Contract....................................................................................................... 151 Capítulo V Vulnerabilidades........................................................................................156 1.Vulnerabilidades.......................................................................................................156 Re-Entrancy............................................................................................................................. 156 Ejemplo: Re-Entrancy en código............................................................................................. 158 Mitigación................................................................................................................................ 159 Integer Overflow...................................................................................................................... 160 Ejemplo: Integer Overflow en código...................................................................................... 160 Mitigación................................................................................................................................ 161 TX.Origin................................................................................................................................. 161 Ejemplo: tx.origin en código.................................................................................................... 163 Mitigación................................................................................................................................ 164 Fallos en el control de acceso.................................................................................................. 164 Ejemplo: fallo en el control de acceso en código..................................................................... 165 Mitigación................................................................................................................................ 166 Funciones ‘Legacy’.................................................................................................................. 166 Ejemplo: malos tips.................................................................................................................. 167 DoS a la lógica......................................................................................................................... 168 Mitigación................................................................................................................................ 170
  • 4. 10 Hacking Web3: [New] Challenge Accepted! Unprotected suicide o selfdestruct........................................................................................... 170 Ejemplo: delegatecall en código.............................................................................................. 171 Mitigación................................................................................................................................ 172 Signature Replay Attack........................................................................................................... 172 Ejemplo: Signature Replay Attack en código.......................................................................... 174 Mitigación................................................................................................................................ 175 Capítulo VI Security Guidelines en SmartContracts..................................................176 1.Malas prácticas.........................................................................................................176 2.Buenas prácticas.......................................................................................................179 Capítulo VII Making lab: Pentesting en Web3.............................................................188 1.‘making’ lab..............................................................................................................188 2.Metodología...............................................................................................................189 Pruebas en la blockchain.......................................................................................................... 190 Pruebas en DApp..................................................................................................................... 190 EIP-1470 o SWC...................................................................................................................... 191 SCSVS..................................................................................................................................... 192 3.Herramientas y ‘distros’..........................................................................................194 4.Visualización de información y datos.....................................................................197 Etherscan.................................................................................................................................. 197 Surya........................................................................................................................................ 200 5.Análisis estático.........................................................................................................204 Slither....................................................................................................................................... 204 Remix SSA............................................................................................................................... 209 6.Decompiladores........................................................................................................210 Ethervm.................................................................................................................................... 211 7.Ejecución simbólica..................................................................................................213 Mythril..................................................................................................................................... 213 8.Fuzzing......................................................................................................................217 Echidna..................................................................................................................................... 218 Property testing..................................................................................................................... 218 9.Plataforma CTF: level_up!......................................................................................223 Cómo funciona el juego: Reto Interact.................................................................................... 225
  • 5. Índice 11 Reto Ownership........................................................................................................................ 228 Jugando a la Re-Lottery........................................................................................................... 230 Hack to Snippet Delegated....................................................................................................... 234 Consiguiendo NFT para demostrar el nivel............................................................................. 238 Reto NavajaNegra 2022........................................................................................................... 240 Fichero: contract-address.json................................................................................................. 242