Ich habe ein Problem mit Unterprozessen in Python: mein Skript öffnet eine ELF-Datei, die eine fopen() für eine Datei im selben Verzeichnis der ELF ausführt. Die ELF funktioniert gut, wenn ich es direkt öffne (keine "Datei nicht gefunden" -Fehler), aber wenn es aus dem Python-Skript ausgeführt wird, kann es die Datei nicht finden. Das Skript ist in einem anderen Verzeichnis und der Code ist dies:Subprozess in Python: Datei nicht gefunden
from pwn import *
from subprocess import *
proc = subprocess.Popen("/home/m876650/mission3/mission3",
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
ret_addr = 0x00000000004007d8
print proc.stdout.readline()
payload = "A"*374 + p64(ret_addr)
proc.stdin.write(payload + '\n')
Es ist für eine sicherheitspolitische Herausforderung ist, nichts illegal! Danke für die Hilfe!
Haben Sie darüber nachgedacht, das aktuelle Arbeitsverzeichnis festzulegen? –
Was meinst du mit _wenn ich es direkt öffne_? Ist das in einer normalen Shell (z. B. Bash) oder Datei-Explorer, oder Sie meinen aus mit z. mit 'offen'? – jdehesa
Ich meine, wenn ich es von einer normalen Shell öffne, funktioniert es gut –