Update README.md
This commit is contained in:
@@ -83,6 +83,12 @@ contract AnotherPlease is ERC721Enumerable {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
# Analyse
|
||||||
|
|
||||||
|
Ziel ist es alle 30 Tickets zu besitzen. Glücklicherweise kriegen wir die ersten 20 gratis, aber die letzten 10 sind teurer als wir es uns leisten können.
|
||||||
|
Die Methode ```claimFreeTicket``` prüft erst, ob noch gratis Tickets vorhanden sind, und sendet dann das Ticket und decrementiert dann den Counter. Und hier liegt die Schwachstelle:
|
||||||
|
Der Angreifer Callt schnell hintereinander die ```claimFreeTicket``` Methode. Das Übertragen der Tickets via ```_safeMint``` dauert (vermutlich eine gewisse zeit in der alle 30 If-Abfragen positiv durchlaufen werden). Wenn der Counter heruntergesetzt wird, werden wir schon alle Tickets besitzen.
|
||||||
|
|
||||||
# Lösung
|
# Lösung
|
||||||
|
|
||||||
#TODO
|
#TODO
|
||||||
|
|||||||
Reference in New Issue
Block a user