House of Lore | Small bin Attack

Unterstützen Sie HackTricks

Grundlegende Informationen

Code

Ziel

  • Fügen Sie einen gefälschten kleinen Chunk in den Small Bin ein, damit es möglich ist, ihn zuzuweisen. Beachten Sie, dass der hinzugefügte kleine Chunk der gefälschte ist, den der Angreifer erstellt und nicht einer an einer beliebigen Position.

Anforderungen

  • Erstellen Sie 2 gefälschte Chunks und verknüpfen Sie sie miteinander und mit dem legitimen Chunk im Small Bin:

  • fake0.bk -> fake1

  • fake1.fd -> fake0

  • fake0.fd -> legit (Sie müssen einen Zeiger im freigegebenen Small Bin Chunk über eine andere Schwachstelle ändern)

  • legit.bk -> fake0

Dann können Sie fake0 zuweisen.

Angriff

  • Ein kleiner Chunk (legit) wird zugewiesen, dann wird ein weiterer zugewiesen, um eine Konsolidierung mit dem Top Chunk zu verhindern. Dann wird legit freigegeben (wodurch es in die Liste der unsortierten Bins verschoben wird) und ein größerer Chunk wird zugewiesen, wodurch legit in den Small Bin verschoben wird.

  • Ein Angreifer generiert ein paar gefälschte kleine Chunks und erstellt die erforderlichen Verknüpfungen, um die Integritätsprüfungen zu umgehen:

  • fake0.bk -> fake1

  • fake1.fd -> fake0

  • fake0.fd -> legit (Sie müssen einen Zeiger im freigegebenen Small Bin Chunk über eine andere Schwachstelle ändern)

  • legit.bk -> fake0

  • Ein kleiner Chunk wird zugewiesen, um legit zu erhalten, wodurch fake0 in die Top-Liste der kleinen Bins gelangt

  • Ein weiterer kleiner Chunk wird zugewiesen, wodurch fake0 als Chunk erhalten wird, was potenziell das Lesen/Schreiben von Zeigern darin ermöglicht.

Referenzen

Unterstützen Sie HackTricks

Last updated