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,并安装[本文版本 ...
随机推荐
- C#实现手机发送验证码
之前不怎么了解这个,一直以为做起来很复杂. 直到前两天公司要求要做这个功能. 做了之后才发现 这不过就是一个POST请求就能实现的东西.现在给大家分享一下,有不足之处还请多多指教. 废话不多说 直接上 ...
- juggle添加c#版本
此前做过一个c++版的网络层dsl:http://www.cnblogs.com/qianqians/p/4255034.html 现在给这个dsl加入c#的支持,并且对代码的结构做了优化,将语法解析 ...
- 容器如何访问外部世界?- 每天5分钟玩转 Docker 容器技术(36)
前面我们已经解决了容器间通信的问题,接下来讨论容器如何与外部世界通信.这里涉及两个方向: 容器访问外部世界 外部世界访问容器 容器访问外部世界 在我们当前的实验环境下,docker host 是可以访 ...
- Java基础(3) -字符串
字符串-String 1.定义&&初始化 使用双引号把字符括起来 String str = "test"; 2.字符串的提取-substring String a ...
- 搭建nexus私服(maven)
这里提供nexus的直接下载页面的链接: https://www.sonatype.com/download-oss-sonatype maven获取依赖jar包是从中央仓库获取,但很莫名的出现jar ...
- VB6之多维数组中元素在内存中的排列情况
Private Declare Sub RtlMoveMemory Lib "kernel32" (Destination As Any, Source As Any, ByVal ...
- Unity3D-游戏中的技能碰撞检测
在游戏战斗中,我们会用到各种各样的碰撞检测,来判断是否打中了目标 比如扇形检测/圆形检测 还有矩形检测,王者荣耀里后羿的大招就是一个很长的矩形碰撞体 这些在Unity3D引擎中其实都封装好了一些Col ...
- Centos7yum安装Redis详细教程
原本是在自己的mac上安装redis的,通过brew去安装的redis觉得很简单,实际macos系统与centos系统还是有一些区别的. 1.yum安装redis服务 sudo yum install ...
- Java Web使用Html5 FormData实现多文件上传
前一阵子,迭代一个线上的项目,其中有一个图片上传的功能,之前用的ajaxfileupload.js来实现上传的,不过由于ajaxfileupload.js,默认是单文件上传(虽然可以通过修改源码的方法 ...
- 微信小程序+OLAMI(欧拉蜜)自然语言API接口制作智能查询工具--快递、聊天、日历等
微信小程序最近比较热门,再加上自然语义理解也越来越被人关注,于是我想赶赶潮流,做一个小程序试试.想来想去快递查询应该是一种比较普遍的需求. 如果你也在通过自然语言接口做点什么,希望我的这篇博客能帮到你 ...