Start a bash session from python
Question:
I want to drop into a shell for a ctf competition I am working on. I am not allowed to use pwntools
for this. I want to achieve something like following from python:
import os
os.system("/bin/bash &")
print("hello world") # assume I am writing to a file
os.system("fg") # does not work (but assume resuming shell /bin/bash)
I can’t use subprocess since I need to drop into a shell. Not communicate back and forth with the bash process which would run in the background. Is there an easy way to approach this?
Answers:
You want to use the subprocess
module instead. fg
is a shell built-in command that only works with job control in the shell itself.
import subprocess
p = subprocess.Popen(["bash"])
print('hello world')
p.wait()
I want to drop into a shell for a ctf competition I am working on. I am not allowed to use pwntools
for this. I want to achieve something like following from python:
import os
os.system("/bin/bash &")
print("hello world") # assume I am writing to a file
os.system("fg") # does not work (but assume resuming shell /bin/bash)
I can’t use subprocess since I need to drop into a shell. Not communicate back and forth with the bash process which would run in the background. Is there an easy way to approach this?
You want to use the subprocess
module instead. fg
is a shell built-in command that only works with job control in the shell itself.
import subprocess
p = subprocess.Popen(["bash"])
print('hello world')
p.wait()