一、模块文件可以更改
当一个python 文件中 import 一个模块例如:
import os
首先 找到 os 所在文件夹
python #进入python命令行 import os #导入模块 print(os.__file__) #查看路径 /usr/lib/python3.11/os.py
然后修改 os.py 写入反弹shell
二、python 的模块导入路径
漏洞基于Python库路径的优先级顺序
如果在与原始脚本相同的目录下存在一个Python模块文件,它将获得优先于默认路径的地位
三、sudo 中setenv 权限 修改 python 的导入路径
SETENV是个可以改变Python PATH环境变量的值
我们可以用root权限使用SETENV,这意味着我们可以用它来改变导入模块的优先顺序
sudo PYTHONPATH=/tmp /usr/bin/python xxxxxx
setenv PYTHONPATH /path/to/your/python/modules:$PYTHONPATH