修复了: 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版的更多相关文章

  1. python--DenyHttp项目(2)--ACM监考客户端测试版(1阶段客户端总结)

    客户端: 1.既然脚本是让别人用的,怎么说也得有个界面,(虽然很low) ''' DenyManager.py 调用客户端与客户端界面 ''' from DenyClient import * fro ...

  2. python--DenyHttp项目(2)--ACM监考客户端测试版☞需求分析

    写脚本之前,先写个需求分析 以后会多写一些脚本,会注意这方面的 禁止HTTP请求☞需求分析 核心功能: 通过修改Hosts文件,禁止用户访问百度等搜索引擎 实现方法: 通过CMD控制台命令COPY覆盖 ...

  3. python【项目】:选课系统【简易版】

    功能要求 角色:学校.学员.课程.讲师要求:1. 创建学校2. 创建课程3. 课程包含,周期,价格,通过学校创建课程4. 通过学校创建班级, 班级关联课程.讲师5. 创建学员时,选择学校,关联班级5. ...

  4. 使用Nginx+Uwsgi部署Python Flask项目

    第一次用Flask做Web(也是第一次用Python做Web),在部署的时候遇到了不少问题,现在将过程就下来,供在这方面也有疑惑的人参考.(PS:使用Apache+mod_wsgi部署模式的可以参考另 ...

  5. 32个Python爬虫项目让你一次吃到撑

    整理了32个Python爬虫项目.整理的原因是,爬虫入门简单快速,也非常适合新入门的小伙伴培养信心.所有链接指向GitHub,祝大家玩的愉快~O(∩_∩)O WechatSogou [1]- 微信公众 ...

  6. Github上的python开源项目

    Python开源项目,期待大家和我们一起共同维护 github排名榜单 https://github.com/trending github搜索榜单:https://github.com/search ...

  7. Android 开源项目 eoe 社区 Android 客户端(转)

    本文内容 环境 开源项目 eoe 社区 Android 客户端 本文介绍 eoe 社区 Android 客户端.它是一个开源项目,功能相对简单,采用侧边菜单栏.可以学习一下.点击此处查看 GitHub ...

  8. python socket之tcp服务器与客户端demo

    python socket之tcp服务器与客户端demo 作者:vpoet mails:vpoet_sir@163.com server: # -*- coding: cp936 -*- ''' 建立 ...

  9. Pycharm+django新建Python Web项目

    这两天初学Python,首先是学习Python语法有PyCharm就可以运行Console程序了,因为是初学所以,尽量写的比较详细,包括参考的资料地址...   1.下载Python,并安装[本文版本 ...

随机推荐

  1. 用awk写递归

    看到自己很多年前写的一篇帖子,觉得有些意义,转录过来,稍加修改. awk是一种脚本语言,语法接近C语言,我比较喜欢用,gawk甚至可以支持tcp/ip,用起来非常方便. awk也支持递归,只是awk不 ...

  2. 【Android Developers Training】 8. 定义Action Bar风格

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  3. mac下git配置和jenkins打包

    今天自己配置了下jenkins,还算是比较顺利,把整个过程和大家分享下. 1. 查看秘钥是否存在 打开终端查看是否已经存在SSH密钥:cd ~/.ssh 如果没有密钥则不会有此文件夹,有则备份删除, ...

  4. 富文本编辑器嵌入指定html代码

    先把内容放入一个input中 <input id="detail" type="hidden" value="${sysCarousel.det ...

  5. 初学c语言

    虽然有一点点基础,但是还是从头学吧,这一周也就一些c语言的几个代码代表的意思和一个Hello world的程序. #include是头文件名,<>这是要返回的函数类型,然后是main主函数 ...

  6. eclipse打开时提示:failed to create the java virtual machine

    Eclipse打开时提示: failed to create the java virtual machine 原因:C盘空间不够   编辑删除 处理:1.用金山清理临时文件: 2.用金山手机卫士连接 ...

  7. vb编程代码大全

    数值型函数:abs(num): 返回绝对值sgn(num): num>0 1; num=0 0; num<0 -1;判断数值正负hex(num): 返回十六进制值 直接表示:&Hx ...

  8. Spark源码阅读之存储体系--存储体系概述与shuffle服务

    一.概述 根据<深入理解Spark:核心思想与源码分析>一书,结合最新的spark源代码master分支进行源码阅读,对新版本的代码加上自己的一些理解,如有错误,希望指出. 1.块管理器B ...

  9. 使用URLConnection调用axis1.4开发的webservice

    写在前面: 调用webservice的方式有很多:1.直接在客户端使用工具生成客户端代码,将代码拷进项目中调用即可:2.使用对应的webservice框架来进行调用,比如如果我们我的服务端开发用的是a ...

  10. 【MySQL故障处理】 Seconds_Behind_Master= NULL Error_code: 1197

    版本:mysql 5.6.32**错误描述:**```Error_code: 1197Last_Error: Worker 3 failed executing transaction '352aa3 ...