Skip to content
KitploitKITPLOIT
ToolsBlog
Log in
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
SoliditySecurity — Solidity-Sicherheit | Kitploit
Tools/GitHubGitHub/al1ex/soliditysecurity
SchwachstellenanalyseCode-AnalyseLernen & BildungKuratierte Ressourcen
GitHubal1ex/soliditysecurity

SoliditySecurity

Solidity-Sicherheit

Repository anzeigen
3512vor 5 JahrenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Worum geht es?

Dieser Beitrag soll eine relativ ausführliche und aktuelle Einführung sein, die die früheren Fehler von Solidity-Entwicklern detailliert beschreibt, um zukünftige Entwickler davor zu bewahren, die Geschichte zu wiederholen.

Inhaltsverzeichnis

1. Re-Entrancy

  • Die Schwachstelle
  • Präventive Techniken
  • Beispiel aus der Praxis: The DAO

2. Arithmetische Über-/Unterläufe

  • Die Schwachstelle
  • Präventive Techniken
  • Beispiele aus der Praxis: PoWHC und Batch-Transfer-Overflow (CVE-2018-10299)

3. Unerwartetes Ether

  • Die Schwachstelle
  • Präventive Techniken
  • Beispiele aus der Praxis: Unbekannt

4. Delegatecall

  • Die Schwachstelle
  • Präventive Techniken
  • Beispiele aus der Praxis: Parity Multisig Wallet (Zweiter Hack)

5. Standard-Sichtbarkeiten

  • Die Schwachstelle
  • Präventive Techniken
  • Beispiel aus der Praxis: Parity MultiSig Wallet (Erster Hack)

6. Illusion der Entropie

  • Die Schwachstelle
  • Präventive Techniken
  • Beispiel aus der Praxis: PRNG-Verträge

7. Referenzierung externer Verträge

  • Die Schwachstelle
  • Präventive Techniken
  • Beispiel aus der Praxis: Re-Entrancy Honey Pot

8. Short Address/Parameter Attack

  • Die Schwachstelle
  • Präventive Techniken
  • Beispiel aus der Praxis: Unbekannt

9. Ungeprüfte Rückgabewerte von CALL

  • Die Schwachstelle
  • Präventive Techniken
  • Beispiele aus der Praxis: Etherpot und King of the Ether

10. Race Conditions / Front Running

  • Die Schwachstelle
  • Präventive Techniken
  • Beispiele aus der Praxis: ERC20 und Bancor

11. Denial of Service (DOS)

  • Die Schwachstelle
  • Präventive Techniken
  • Beispiel aus der Praxis: GovernMental

12. Manipulation des Block-Zeitstempels

  • Die Schwachstelle
  • Präventive Techniken
  • Beispiel aus der Praxis: GovernMental

13. Vorsicht bei Konstruktoren

  • Die Schwachstelle
  • Präventive Techniken
  • Beispiel aus der Praxis: Rubixi

14. Nicht initialisierte Storage-Zeiger

  • Die Schwachstelle
  • Präventive Techniken
  • Beispiele aus der Praxis: Honey Pots: OpenAddressLottery und CryptoRoulette

15. Gleitkommazahlen und numerische Präzision

  • Die Schwachstelle
  • Präventive Techniken
  • Beispiel aus der Praxis: Ethstick

16. tx.origin-Authentifizierung

  • Die Schwachstelle
  • Präventive Techniken
  • Beispiel aus der Praxis: Unbekannt

Ethereum-Eigenheiten

  • Ether ohne Schlüssel
  • Einmal-Adressen
  • Airdrops mit einer einzigen Transaktion

Liste interessanter kryptobezogener Hacks/Bugs

Referenzen / Weiterführende Literaturliste

  • Ethereum Wiki - Safety
  • Solidity Docs - Security Considerations
  • Consensus - Ethereum Smart Contract Best Practices
  • History of Ethereum Security Vulnerabilities, Hacks and Their Fixes
  • Decentralized Application Security Project (DASP) Top 10 of 2018
  • A Survey of attacks on Ethereum Smart Contracts
  • Ethereum Smart Contract Security
  • Lessons Learnt from the Underhanded Solidity Contest

1. Re-Entrancy

Eine der Funktionen von Ethereum-Smart-Contracts ist die Fähigkeit, Code anderer externer Verträge aufzurufen und zu nutzen. Verträge handhaben typischerweise auch Ether und senden daher oft Ether an verschiedene externe Benutzeradressen. Der Vorgang, externe Verträge aufzurufen oder Ether an eine Adresse zu senden, erfordert, dass der Vertrag einen externen Aufruf absetzt. Diese externen Aufrufe können von Angreifern gekapert werden, indem sie den Vertrag zwingen, weiteren Code auszuführen (z. B. über eine Fallback-Funktion), einschließlich Aufrufen zurück zu sich selbst. Somit "tritt" die Codeausführung erneut in den Vertrag ein. Angriffe dieser Art wurden beim berüchtigten DAO-Hack eingesetzt.

Für weiterführende Literatur zu Re-Entrancy-Angriffen siehe Reentrancy Attack On Smart Contracts und Consensus - Ethereum Smart Contract Best Practices.

Die Schwachstelle

Dieser Angriff kann auftreten, wenn ein Vertrag Ether an eine unbekannte Adresse sendet. Ein Angreifer kann an einer externen Adresse sorgfältig einen Vertrag konstruieren, der bösartigen Code in der Fallback-Funktion enthält. Wenn ein Vertrag also Ether an diese Adresse sendet, wird der bösartige Code aufgerufen. Typischerweise führt der bösartige Code eine Funktion auf dem verwundbaren Vertrag aus und führt dabei Operationen durch, die der Entwickler nicht erwartet hat. Der Name "Re-Entrancy" rührt daher, dass der externe bösartige Vertrag eine Funktion auf dem verwundbaren Vertrag zurückruft und an einer beliebigen Stelle des verwundbaren Vertrags erneut in die Codeausführung "eintritt".

Zur Veranschaulichung betrachten wir den einfachen verwundbaren Vertrag, der als Ethereum-Tresor fungiert und Einzahlern erlaubt, nur 1 Ether pro Woche abzuheben.

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;
}
Tool herunterladen