我把结果到出到test.txt里面了,里面有一堆模块会被自动加载。我这里选个site模块做实验好了。通过环境来劫持它的加载。
python默认先找PYTHONPATH路径里的模块名,而模块顶级代码会在加载时自动执行,这也是为什么我这个方法能够利用的原因。
自己写一个site.py文件放到/tmp目录里面。
呵呵,在这里我执行了添加用户的操作,然后删除/tmp路径,重新加载site。方法可能有点笨啊,有直接重新加载的告诉我声,貌似用reload不行哈
好了,现在我们来设置环境变量PYTHONPATH这里我就直接export,实战中应该要修改.bashrc啥啥的。
现在模拟该用户登录,然后执行任意一个python程序来看看结果
很猥琐,但是成功了,需要注意的是,不同版本的python默认加载的模块还不一样,大家需要自己用python -v 分析,还有一点,尽量加载无关紧要的模块,这样成功几率更大些。
过年上不了网,在这里算是给大家拜晚年了,牛年大吉啊,呵呵。