你知道吗 这样直接运行Python命令,电脑等于“裸奔”

      最后更新: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皮普接管了程序 而不是系统

      设置 $PYTHONPATH 也有风险。

      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指令等于赋予他完全的权力!

      本文由 在线网速测试 整理编辑,转载请注明出处。

          热门文章

          文章分类