python--DenyHttp项目(2)--ACM监考客户端1.0版
修复了: 360搜索可以使用的漏洞
更新版本,上一版本复制的Hosts文件保留的漏洞
#coding:gbk import os import sys from subprocess import * import time def Denyfile(): if not os.path.exists('D:\DenyHttp'): os.mkdir('D:\DenyHttp') os.mkdir(r'D:\DenyHttp\restore') hostsName = 'C:\Windows\System32\drivers\etc\hosts' filename = r'D:\DenyHttp\hosts' '''若存在原文件,删除''' if os.path.exists(r'D:\DenyHttp\hosts') and os.path.exists(r'D:\DenyHttp\restore\hosts'): print(filename + '已存在!开始删除文件') os.system("del /f /s /q D:\DenyHttp\*.*") os.system("rd /s /q D:\DenyHttp") print('文件已经删除!') '''删除后创建新的目录''' print('创建文件夹:') os.system('mkdir d:\\DenyHttp\\restore') print('准备复制:') if not os.system(r'copy '+ hostsName +' D:\DenyHttp'): print('file remove from ' + hostsName + ' to ' + filename) if not os.system(r'copy '+ hostsName + r' D:\DenyHttp\restore'): print('file remove from ' + hostsName + ' to D:\DenyHttp\restore') L = [] denyNetAddress = getHTTPList(L) '''添加htttp到文件''' for s in denyNetAddress: os.system('echo ' + s +'>>' + filename) '''修改hosts文件''' if not os.system(r'copy D:\DenyHttp\hosts C:\Windows\System32\drivers\etc'): print('file hosts has been already discovered!') def Recoverfile(): if not os.system(r'copy D:\DenyHttp\restore\hosts C:\Windows\System32\drivers\etc'): print('file hosts has been already recovered!') def detectnet(): L = [] denyNetAddress = getNetList(L) mark = 1 for s in denyNetAddress: p = Popen(["ping.exe" , s], stdin=PIPE,stdout=PIPE,stderr=PIPE, shell=True) out = p.stdout.read() if '127.0.0.1' in str(out): mark = 0 '''mark为假不能访问''' if not mark: print('can\'t request http') else: print('can request http') return mark def getHTTPList(denyNetAddress = []): denyNetAddress.append('127.0.0.1 sg.search.yahoo.com') denyNetAddress.append('127.0.0.1 www.cnblogs.com') denyNetAddress.append('127.0.0.1 www.baidu.com') denyNetAddress.append('127.0.0.1 www.sogou.com') denyNetAddress.append('127.0.0.1 blog.csdn.net') denyNetAddress.append('127.0.0.1 www.soso.com') denyNetAddress.append('127.0.0.1 cn.bing.com') '''1.0修复''' denyNetAddress.append('127.0.0.1 www.so.com') return denyNetAddress def getNetList(denyNetAddress = []): denyNetAddress.append('www.baidu.com') denyNetAddress.append('www.sogou.com') denyNetAddress.append('www.soso.com') denyNetAddress.append('cn.bing.com') denyNetAddress.append('www.so.com') denyNetAddress.append('sg.search.yahoo.com') denyNetAddress.append('www.cnblogs.com') denyNetAddress.append('blog.csdn.net') return denyNetAddress if __name__ == '__main__': # Denyfile() Recoverfile() # print(detectnet())
python--DenyHttp项目(2)--ACM监考客户端1.0版的更多相关文章
- python--DenyHttp项目(2)--ACM监考客户端测试版(1阶段客户端总结)
客户端: 1.既然脚本是让别人用的,怎么说也得有个界面,(虽然很low) ''' DenyManager.py 调用客户端与客户端界面 ''' from DenyClient import * fro ...
- python--DenyHttp项目(2)--ACM监考客户端测试版☞需求分析
写脚本之前,先写个需求分析 以后会多写一些脚本,会注意这方面的 禁止HTTP请求☞需求分析 核心功能: 通过修改Hosts文件,禁止用户访问百度等搜索引擎 实现方法: 通过CMD控制台命令COPY覆盖 ...
- python【项目】:选课系统【简易版】
功能要求 角色:学校.学员.课程.讲师要求:1. 创建学校2. 创建课程3. 课程包含,周期,价格,通过学校创建课程4. 通过学校创建班级, 班级关联课程.讲师5. 创建学员时,选择学校,关联班级5. ...
- 使用Nginx+Uwsgi部署Python Flask项目
第一次用Flask做Web(也是第一次用Python做Web),在部署的时候遇到了不少问题,现在将过程就下来,供在这方面也有疑惑的人参考.(PS:使用Apache+mod_wsgi部署模式的可以参考另 ...
- 32个Python爬虫项目让你一次吃到撑
整理了32个Python爬虫项目.整理的原因是,爬虫入门简单快速,也非常适合新入门的小伙伴培养信心.所有链接指向GitHub,祝大家玩的愉快~O(∩_∩)O WechatSogou [1]- 微信公众 ...
- Github上的python开源项目
Python开源项目,期待大家和我们一起共同维护 github排名榜单 https://github.com/trending github搜索榜单:https://github.com/search ...
- Android 开源项目 eoe 社区 Android 客户端(转)
本文内容 环境 开源项目 eoe 社区 Android 客户端 本文介绍 eoe 社区 Android 客户端.它是一个开源项目,功能相对简单,采用侧边菜单栏.可以学习一下.点击此处查看 GitHub ...
- python socket之tcp服务器与客户端demo
python socket之tcp服务器与客户端demo 作者:vpoet mails:vpoet_sir@163.com server: # -*- coding: cp936 -*- ''' 建立 ...
- Pycharm+django新建Python Web项目
这两天初学Python,首先是学习Python语法有PyCharm就可以运行Console程序了,因为是初学所以,尽量写的比较详细,包括参考的资料地址... 1.下载Python,并安装[本文版本 ...
随机推荐
- javascript四舍五入tofixed
//toFixed() 方法可把 Number 四舍五入为指定小数位数的数字. $("#renjunlirun").val(zongLiRun.toFixed(2));//金额
- OpenCV学习1-----打开摄像头并在画面上添加水印
一直对视频或者图像添加水印很感兴趣,查找资料后用OpenCV尝试了一下. 记录下来. 1.首先是打开摄像头. 找到OpenCV官方文档给出的例子. 例子中实现的是,打开摄像头,并对画面进行高斯滤波,使 ...
- 矩阵的f范数及其求偏导法则
转载自: http://blog.csdn.net/txwh0820/article/details/46392293 矩阵的迹求导法则 1. 复杂矩阵问题求导方法:可以从小到大,从scalar到 ...
- Java添加JDBC
添加JDBC 1.SQL Server SQL Server2005 下载 sqljdbc_4.0 https://www.microsoft.com/en-us/download/details.a ...
- EJB系列 - EJB高级概念
本人博客文章网址:https://www.peretang.com/ejb-advanced-concepts/ EJB内幕 幕后的EJB:容器会为每一个bean实例自动生成称为EJB对象的代理, 由 ...
- ASP.NET Core 四种释放 IDisposable 对象的方法
本文翻译自<Four ways to dispose IDisposables in ASP.NET Core>,由于水平有限,故无法保证翻译完全正确,欢迎指出错误.谢谢! IDispos ...
- [图形学] Chp9 三维几何变换--栈处理函数与矩阵管理函数的区别
矩阵管理函数:glLoadIdentity()是把当前活动矩阵设置为单位矩阵. 栈处理函数:glPushMatrix()是将当前活动的变换矩阵复制一份,压入栈顶:glPopMatrix()是破坏当前活 ...
- JavaWeb 后端 <十一> 之 DBUtils 框架 (基本使用 结果集 事务处理 对表读取)
一.数据库操作框架 1.ORM:Object Relation Mapping Hibernate:非常流行 JPA:Java Persistent API.ORM标准 MyBatis:2010年开始 ...
- 【亲测】自动构建多个指定的class并发执行:Jenkins+Maven+Testng框架
要解决的问题:jenkins在自动构建maven项目时如何并发执行多个指定的class类 预置条件:testngXXX.xml文件已指定了多个class类 解决步骤:1.在maven项目中新建指定te ...
- LoadRunner接口测试Error -27225报错解决
今天依照规范写了一个接口测试脚本,再执行的时候报Error -27225,核对了接口字段和字段值没发现错误,百度搜Error -27225错误没有相关解释.这个问题经过溯源找到了问题的所在,为了互帮互 ...