Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
it-security:blog:buffer_overflow_x64-2 [2024/03/04 21:11] psycoreit-security:blog:buffer_overflow_x64-2 [2024/08/02 11:51] (aktuell) psycore
Zeile 2: Zeile 2:
 ====== Buffer Overflow im 64-Bit Stack - Teil 2 ====== ====== Buffer Overflow im 64-Bit Stack - Teil 2 ======
  
-{{page>vorlagen:attention}}+Im zweiten Teil aktivieren wir das NX-Bit, welches uns vor Buffer Overflows schützen soll. Damit es spaßig bleibt, hebeln wir diesen Schutz natürlich direkt aus. Dies erreichen wir, indem der auszuführende Befehl an die [[https://de.wikipedia.org/wiki/C-Standard-Bibliothek|libc-Funktion]] ''system()'' weitergeleitet wird. Grundlegend basiert dieses Tutorial auf der Arbeit von [[https://blog.techorganic.com|superkojiman]] ((https://blog.techorganic.com/2015/04/21/64-bit-linux-stack-smashing-tutorial-part-2/))
  
 ===== Einleitung ===== ===== Einleitung =====
  
-Im zweiten Teil aktivieren wir das NX-Bit, welches uns vor Buffer Overflows schützen soll. Damit es spaßig bleibt, hebeln wir diesen Schutz natürlich direkt aus. Dies erreichen wir, indem der auszuführende Befehl an die [[https://de.wikipedia.org/wiki/C-Standard-Bibliothek|libc-Funktion]] ''system()'' weitergeleitet wird. Grundlegend basiert dieses Tutorial auf der Arbeit von [[https://blog.techorganic.com|superkojiman]] ((https://blog.techorganic.com/2015/04/21/64-bit-linux-stack-smashing-tutorial-part-2/))+{{page>vorlagen:64_bit_stack_nav}} 
 + 
 +{{page>vorlagen:attention}} 
 + 
 +{{:it-security:blog:bof64-2.jpg?800|}}
  
 Weiterführende Infos zum Thema ROP (Return Oriented Programming) und Grundlagen zum Thema Buffer Overflows gibt es in der Linksammlung am Ende. ((https://book.hacktricks.xyz/reversing-and-exploiting/linux-exploiting-basic-esp/rop-leaking-libc-address)) ((https://ir0nstone.gitbook.io/notes/types/stack)) Weiterführende Infos zum Thema ROP (Return Oriented Programming) und Grundlagen zum Thema Buffer Overflows gibt es in der Linksammlung am Ende. ((https://book.hacktricks.xyz/reversing-and-exploiting/linux-exploiting-basic-esp/rop-leaking-libc-address)) ((https://ir0nstone.gitbook.io/notes/types/stack))
Zeile 61: Zeile 65:
 \\ \\
 ===== C Programm ===== ===== C Programm =====
 +
 +Quellcode und kompilierte Binaries findet Ihr auch auf meinem [[gh>psycore8/nosoc-bof/tree/main/part-2|github repository]]
  
 Das Ursprungs-Tutorial ist schon ein bisschen älter, so dass der Quellcode nicht 1:1 übernommen werden konnte. Zum einen musste das ''UID'' und ''EUID'' zusätzlich gesetzt werden ((http://disq.us/p/1klc7u2)), zum anderen funktioniert ''/bin/sh'' nicht mehr in dieser Art und Weise. ((http://disq.us/p/1n4ipc8)) Das Ursprungs-Tutorial ist schon ein bisschen älter, so dass der Quellcode nicht 1:1 übernommen werden konnte. Zum einen musste das ''UID'' und ''EUID'' zusätzlich gesetzt werden ((http://disq.us/p/1klc7u2)), zum anderen funktioniert ''/bin/sh'' nicht mehr in dieser Art und Weise. ((http://disq.us/p/1n4ipc8))
Zeile 203: Zeile 209:
 ^ Größe | 4,00 KB | ^ Größe | 4,00 KB |
 ^ Prüfsumme (SHA256) | 88bda11b4652344bb9113a400b79e78abf028ef5eb89a74538061c96e2d306e5 | ^ Prüfsumme (SHA256) | 88bda11b4652344bb9113a400b79e78abf028ef5eb89a74538061c96e2d306e5 |
 +
 +~~DISCUSSION~~