Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
SoliditySecurity — Segurança Solidity | Kitploit
Ferramentas/GitHubGitHub/al1ex/soliditysecurity
Análise de VulnerabilidadesAnálise de CódigoAprendizado e EducaçãoRecursos Curados
GitHubal1ex/soliditysecurity

SoliditySecurity

Segurança Solidity

Ver Repositório
3518há 5 anosAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

O que é isso?

Este post pretende ser um post introdutório relativamente aprofundado e atualizado, detalhando os erros passados que foram cometidos por desenvolvedores Solidity, num esforço para evitar que futuros devs repitam a história.

Índice

1. Reentrância

  • A Vulnerabilidade
  • Técnicas de Prevenção
  • Exemplo do Mundo Real: The DAO

2. Over/Under Flows Aritméticos

  • A Vulnerabilidade
  • Técnicas de Prevenção
  • Exemplos do Mundo Real: PoWHC e Overflow de Transferência em Lote (CVE-2018-10299)

3. Ether Inesperado

  • A Vulnerabilidade
  • Técnicas de Prevenção
  • Exemplos do Mundo Real: Desconhecidos

4. Delegatecall

  • A Vulnerabilidade
  • Técnicas de Prevenção
  • Exemplos do Mundo Real: Parity Multisig Wallet (Segundo Hack)

5. Visibilidades Padrão

  • A Vulnerabilidade
  • Técnicas de Prevenção
  • Exemplo do Mundo Real: Parity MultiSig Wallet (Primeiro Hack)

6. Ilusão de Entropia

  • A Vulnerabilidade
  • Técnicas de Prevenção
  • Exemplo do Mundo Real: Contratos PRNG

7. Referência a Contratos Externos

  • A Vulnerabilidade
  • Técnicas de Prevenção
  • Exemplo do Mundo Real: Honey Pot de Reentrância

8. Ataque de Endereço/Parâmetro Curto

  • A Vulnerabilidade
  • Técnicas de Prevenção
  • Exemplo do Mundo Real: Desconhecido

9. Valores de Retorno de CALL Não Verificados

  • A Vulnerabilidade
  • Técnicas de Prevenção
  • Exemplos do Mundo Real: Etherpot e King of the Ether

10. Condições de Corrida / Front Running

  • A Vulnerabilidade
  • Técnicas de Prevenção
  • Exemplos do Mundo Real: ERC20 e Bancor

11. Negação de Serviço (DOS)

  • A Vulnerabilidade
  • Técnicas de Prevenção
  • Exemplo do Mundo Real: GovernMental

12. Manipulação de Timestamp de Bloco

  • A Vulnerabilidade
  • Técnicas de Prevenção
  • Exemplo do Mundo Real: GovernMental

13. Construtores com Cuidado

  • A Vulnerabilidade
  • Técnicas de Prevenção
  • Exemplo do Mundo Real: Rubixi

14. Ponteiros de Armazenamento Não Inicializados

  • A Vulnerabilidade
  • Técnicas de Prevenção
  • Exemplos do Mundo Real: Honeypots: OpenAddressLottery e CryptoRoulette

15. Pontos Flutuantes e Precisão Numérica

  • A Vulnerabilidade
  • Técnicas de Prevenção
  • Exemplo do Mundo Real: Ethstick

16. Autenticação tx.origin

  • A Vulnerabilidade
  • Técnicas de Prevenção
  • Exemplo do Mundo Real: Desconhecido

Peculiaridades do Ethereum

  • Ether Sem Chave
  • Endereços de Uso Único
  • Airdrops de Transação Única

Lista de Hacks/Bugs Interessantes Relacionados a Cripto

Referências / Lista de Leitura Adicional

  • Ethereum Wiki - Segurança
  • Docs do Solidity - Considerações de Segurança
  • Consensus - Melhores Práticas para Contratos Inteligentes Ethereum
  • Histórico de Vulnerabilidades de Segurança, Hacks e Suas Correções no Ethereum
  • Projeto de Segurança de Aplicações Descentralizadas (DASP) Top 10 de 2018
  • Uma Pesquisa sobre Ataques a Contratos Inteligentes Ethereum
  • Segurança de Contratos Inteligentes Ethereum
  • Lições Aprendidas com o Underhanded Solidity Contest

1. Reentrância

Uma das características dos contratos inteligentes Ethereum é a capacidade de chamar e utilizar código de outros contratos externos. Os contratos também normalmente lidam com ether e, como tal, frequentemente enviam ether para vários endereços de utilizadores externos. A operação de chamar contratos externos, ou enviar ether para um endereço, exige que o contrato submeta uma chamada externa. Estas chamadas externas podem ser sequestradas por atacantes, que forçam o contrato a executar código adicional (ou seja, através de uma função fallback) , incluindo chamadas de volta para ele mesmo. Assim, a execução de código "re-entra" no contrato. Ataques desse tipo foram usados no infame hack da DAO.

Para leitura adicional sobre ataques de reentrância, consulte Ataque de Reentrância em Contratos Inteligentes e Consensus - Melhores Práticas para Contratos Inteligentes Ethereum.

A Vulnerabilidade

Este ataque pode ocorrer quando um contrato envia ether para um endereço desconhecido. Um atacante pode construir cuidadosamente um contrato num endereço externo que contém código malicioso na função fallback. Assim, quando um contrato envia ether para este endereço, o código malicioso será invocado. Normalmente, o código malicioso executa uma função no contrato vulnerável, realizando operações não esperadas pelo desenvolvedor. O nome "reentrância" vem do facto de o contrato malicioso externo chamar de volta uma função no contrato vulnerável e "re-entrar" na execução de código num local arbitrário do contrato vulnerável.

Para clarificar isto, considere o simples contrato vulnerável, que atua como um cofre Ethereum que permite aos depositantes retirar apenas 1 ether por semana.

EtherStore.sol:```solidity contract EtherStore {

uint256 public withdrawalLimit = 1 ether;
mapping(address => uint256) public lastWithdrawTime;
mapping(address => uint256) public balances;

function depositFunds() public payable {
    balances[msg.sender] += msg.value;
}
Baixar ferramenta