Python语言很容易上手模块。比如你编写了一个模块my_libpy,只需在调用这个模块的程序中加入一行import my_lib即可。
这样设计的好处是,初学者能够非常方便地执行命令。但是对攻击者来说,这等于是为恶意程序大开后门。
尤其是一些初学者将网上的Python软件包、代码下载的到本地~/Downloads文件夹后,就直接在此路径下运行python命令,这样做会给电脑带来极大的隐患。
别再图方便了
为何这样做会有危险?首先,我们要了解Python程序安全运行需要满足的三个条件:
系统路径上的每个条目都处于安全的位置;
“主脚本”所在的目录始终位于系统路径中;
若python命令使用-c和-m选项,调用程序的目录也必须是安全的。
如果你运行的是正确安装的Python,那么Python安装目录和virtualenv之外唯一会自动添加到系统路径的位置,就是当前主程序的安装目录。
这就是安全隐患的来源,下面用一个实例告诉你为什么。
如果你把pip安装在/usr/bin文件夹下,并运行pip命令。由于/usr/bin是系统路径,因此这是一个非常安全的地方。
但是,有些人并不喜欢直接使用pip,而是更喜欢调用/path/to/python -m pip。
这样做的好处是可以避免环境变量$PATH设置的复杂性,而且对于Windows用户来说,也可以避免处理安装各种exe脚本和文档。
所以问题就来了,如果你的下载文件中有一个叫做pippy的文件,那么你将它将取代系统自带的pip,接管你的程序。
下载文件夹并不安全
比如你不是从PyPI,而是直接从网上直接下载了一个Python wheel文件。你很自然地输入以下命令来安装它:
~$ cd Downloads
~/Downloads$ python -m pip install /totally-legit-packagewhl
这似乎是一件很合理的事情。但你不知道的是,这么 *** 作很有可能访问带有XSS JavaScript的站点,并将带有恶意软件的的pippy到下载文件夹中。
下面是一个恶意攻击软件的演示实例:
~$ mkdir attacker_dir
~$ cd attacker_dir
~/attacker_dir$ echo 'print("lol ur pwnt")' > pi
首先,你得安装python的运行环境呗。。
1 默认的程序要设置,如果不会设置,就重新装一次python就行
2 需要设置环境变量:例如你的程序为:C:\Python26,则你需要把这个地址粘贴在:右键我的电脑->属性->高级->环境变量,然后再下边的 系统变量 选择框中,双击path(大小写无所谓),在变量值的框中,添加: ;C:\Python26,记得在路径之前添加分号(;),当然是英文输入法下的分号
3 这一点很重要,因为执行的速度很快的时候,cmd窗口是不会自动pause的,所以会一闪而过。。如果只是print之类的语句,或许根本没有什么结果留下。。所以,这种还是选择用IDLE来运行吧。。。
以上就是关于python程序运行结束后,怎么让它自动回到开头重新运行全部的内容,包括:python程序运行结束后,怎么让它自动回到开头重新运行、我初学python 书上说保存程序后 windows系统中直接双击打开.py文件 就会以dos窗口运行程序、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)