Am letzten Freitag entdeckte unser Überwachungssystem einen Angriff auf einen Coin98-Smart Contract (0x8aaf408e06feed6a6a6182ea3c464035748b9b31 – der betroffene Vertrag) auf BSC. Wir schrieben dem Projektverantwortlichen sofort eine Direktnachricht über Twitter, erhielten jedoch keine Antwort. Da die Schwachstelle zu diesem Zeitpunkt noch bestand, machten wir sie nicht öffentlich. Nach ein paar Stunden stellten wir fest, dass der Projektverantwortliche einen neuen Vertrag erstellt hatte, der die Schwachstelle behoben hat. Daher ist es für uns sicher, die Schwachstelle und die Behebung hier zusammenzufassen.
Angriffstransaktion und die Grundursache
Die Transaktion, die von unserem internen Überwachungssystem gemeldet wurde, erregte unsere Aufmerksamkeit. Nach sorgfältiger Untersuchung bestätigten wir, dass dies auf die Zugriffskontrolle des route-Parameters (gemeint ist der Router) in der Funktion swapExactTokensForTokens zurückzuführen ist, wie folgt:
Dieser Vertrag vertraute blind dem route und rief dann die Funktion swapExactTokensForTokens des Routers auf. Zuvor genehmigte er alle Token, die dem betroffenen Vertrag gehörten, an den route. Der route konnte jedoch vom Angreifer übergeben werden. In diesem Fall kann der Angreifer dann alle Token des Opfers an sich übertragen und dann für WBNB tauschen, um Gewinn zu erzielen.
Das Folgende ist eine von den Angriffstransaktionen.
Die heimliche Behebung der Schwachstelle
Wir schrieben dem Projektverantwortlichen am letzten Freitag auf Twitter eine Direktnachricht, erhielten jedoch keine Antwort. Wir haben den Vertrag heute erneut überprüft und festgestellt, dass ein neuer Smart Contract (0x83f25d16bdf91f51120032f264dad0e1ab1c8227) bereitgestellt wurde. Dieser neue Vertrag hat eine Whitelist für den route:
Schlussfolgerung
Wir haben viele Fälle gesehen, in denen der übergebene Parameter blind vom Smart Contract vertraut wird. Dies SCHAFFT ein schwerwiegendes Sicherheitsloch.
VERTRAUEN SIE KEINEN PARAMETERN, DIE AUSSERHALB DER KONTROLLE LIEGEN!
Über BlockSec
BlockSec ist ein wegweisendes Unternehmen für Blockchain-Sicherheit, das 2021 von einer Gruppe weltweit renommierter Sicherheitsexperten gegründet wurde. Das Unternehmen engagiert sich für die Verbesserung der Sicherheit und Benutzerfreundlichkeit für die aufstrebende Web3-Welt, um deren Massenadaption zu fördern. Zu diesem Zweck bietet BlockSec Dienstleistungen für die Sicherheitsprüfung von Smart Contracts und EVM-Chains Code Audit, die Phalcon-Plattform für die sichere Entwicklung und proaktive Abwehr von Bedrohungen, die MetaSleuth-Plattform für die Nachverfolgung und Untersuchung von Geldern sowie die MetaSuites-Erweiterung für Web3-Entwickler, die effizient in der Krypto-Welt navigieren.
Bis heute hat das Unternehmen über 300 geschätzte Kunden wie MetaMask, Uniswap Foundation, Compound, Forta und PancakeSwap betreut und in zwei Finanzierungsrunden von namhaften Investoren, darunter Matrix Partners, Vitalbridge Capital und Fenbushi Capital, zehn Millionen US-Dollar erhalten.
Offizielle Website: https://blocksec.com/
Offizielles Twitter-Konto: https://twitter.com/BlockSecTeam



