最后更新:2022-03-28 11:51
Python很快成为世界上最受欢迎的编程语言之一。 当然,其原因是Python的直截了当和易于使用的脚本语法。
小伙伴们可以关注小编的Python源码、问题解答&学习交流群:733089476
白种性别有多种可用的资源,想要源代码的人可以获得源代码。
Python 编程语言简单易懂。 例如, 如果您为 my_ lib. Py 创建了一个模块, 只需在此模块的应用程序中添加一列信息 。
图片
这种设计的好处是新手可以随时执行命令,但对攻击者来说,这相当于为有害过程提供后门。
当一些初学者下载在线 Python 软件包和程序到本地/下载目录时, 他们直接在这个路径下运行 python 命令, 对个人电脑构成重大风险 。
是什么使这种危险变得如此危险?最初,我们必须理解三个必须满足的要求,才能使Python进程安全运行:
系统线路的每个入口都位于安全地点
包含“ 主机脚本” 的目录总是在系统路径中 。
三. 如果 Python 授权使用选项-c和-m, 调用者的目录也必须同样安全。
如果您执行一个正确安装的 Python, Python 安装目录和 Vilentenv 的唯一位置是当前主要应用程序的安装目录,该目录将自动添加到系统路径中。
这是造成安全威胁的原因,这就是原因。
安装 pip 下/ usr/ bin 并运行 pip 命令。 因为/ usr/ bin 是系统路径, 这是一个高度安全的区域 。
有些人更喜欢使用电话/电话/电话/电话/电话/电话/pathon-mpip, 而不是直接使用pip。
这样做的好处是消除了环境变量($PATH)配置的复杂程度,对Windows用户来说,可以处理前脚本和文件的安装问题。
因此,如果你的下载文件之一被称作 Pip.Py, 你会取代系统的 Pip 并接管您的应用程序 。
例如,假设您不是从 PyPI 获得 Python While 文件,而是从 Internet 获得文件。要安装它,您通常会输入以下命令:
这样做似乎是明智的。但是,你没有意识到的是,这个操作极有可能使用 XSS JavaScript 访问一个网站, 并将有恶意软件提示。 Cannot 移除文件夹:%s: 没有这样的文件夹 。
以下是有害攻击软件的例子:
看,这个代码会产生一个pip.py皮普接管了程序 而不是系统
Python 刚刚调用系统路径、 虚拟环境路径到 evilenv, 以及当前的主要应用程序路径, 如前所述 。
你可以说,"我会手动做。"$PYTHONPATH环境变量, 不将当前目录包含在环境变量中可以吗?
可悲的是,你可能会被用另一种方法攻击 我们假装我们在运行一个“脆弱”Python程序:
然后创建2个目录:install_dir和attacker_dir。将上面的程序放在install_dir中。然后cd attacker_dir在此插入复杂的恶意软件并重命名它 。tool.py调用的optional_extra模块:
我们运行一下它:
很高兴来到这里,没有问题
然而,这一习俗存在一个重大问题:当第一次调用时,如果$PYTHONPATH它持有空字符串, 当当前目录为空或未设置时, 它被视为当前目录 。
让我们再尝试一下:
看到没 恶毒的剧本接管了节目
你可以假设它应该被清空 为了安全起见$PYTHONPATH总该没问题了吧?
幸灾乐祸,现在还不安全
这里发生的事情是,$PYTHONPATH完全空无一物 和未设的不一样
Python的语法是我不确定你指的是什么, os. I'm sorry, environ. Get ("PYTHONPATH") = "Os." 我道歉,羡慕.是不一样的。
如果要确保$PYTHONPATH它已被从 shell 中删除, 而未设置的命令必须用于在它恢复正常之前再次处理它 。
设置$PYTHONPATH这曾经是建立 Python 开发环境的最常用技术, 但是您应该立即停止这样做 。 虚拟能更好地满足开发者的需求。 如果您曾经设置了 $PYTHONPATH, 现在是时候摆脱它了 。
如果您必须在外壳中使用 PYTHONPATH, 请按以下方式使用:
bah 和 Zsh 中的 $pYTHONPATH 变量值为 :
环境因素就是这样得到保障的。$PYTHONPATH没有空白空格或不必要的冒号。
如果你仍在使用$PYTHONPATH随时使用绝对路径!
例如,直接从下载文件夹上发布Jupyter Notesbook也是有风险的。jupyter notebook ~/Downloads/anything.ipynb也可在守则中引入恶意应用。
最后总结一下要点。
如果您想要使用 Python 的公用设施下载目录/下载, 您可以这样做 。请养成良好习惯,使用 pip 命令路径/ path/ to/ vev/ bin/ pip,而不是输入/path/to/venv/bin/python-mpip
2. 避免将/下载作为当前工作目录,并将任何软件转移到更合适的地点使用。
关键是要了解Python在哪里获得执法守则。 允许任何人任意执行Python指令等于赋予他完全的权力!
本文由 在线网速测试 整理编辑,转载请注明出处。