修复了: 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. javascript四舍五入tofixed

    //toFixed() 方法可把 Number 四舍五入为指定小数位数的数字. $("#renjunlirun").val(zongLiRun.toFixed(2));//金额

  2. OpenCV学习1-----打开摄像头并在画面上添加水印

    一直对视频或者图像添加水印很感兴趣,查找资料后用OpenCV尝试了一下. 记录下来. 1.首先是打开摄像头. 找到OpenCV官方文档给出的例子. 例子中实现的是,打开摄像头,并对画面进行高斯滤波,使 ...

  3. 矩阵的f范数及其求偏导法则

    转载自: http://blog.csdn.net/txwh0820/article/details/46392293 矩阵的迹求导法则   1. 复杂矩阵问题求导方法:可以从小到大,从scalar到 ...

  4. Java添加JDBC

    添加JDBC 1.SQL Server SQL Server2005 下载 sqljdbc_4.0 https://www.microsoft.com/en-us/download/details.a ...

  5. EJB系列 - EJB高级概念

    本人博客文章网址:https://www.peretang.com/ejb-advanced-concepts/ EJB内幕 幕后的EJB:容器会为每一个bean实例自动生成称为EJB对象的代理, 由 ...

  6. ASP.NET Core 四种释放 IDisposable 对象的方法

    本文翻译自<Four ways to dispose IDisposables in ASP.NET Core>,由于水平有限,故无法保证翻译完全正确,欢迎指出错误.谢谢! IDispos ...

  7. [图形学] Chp9 三维几何变换--栈处理函数与矩阵管理函数的区别

    矩阵管理函数:glLoadIdentity()是把当前活动矩阵设置为单位矩阵. 栈处理函数:glPushMatrix()是将当前活动的变换矩阵复制一份,压入栈顶:glPopMatrix()是破坏当前活 ...

  8. JavaWeb 后端 <十一> 之 DBUtils 框架 (基本使用 结果集 事务处理 对表读取)

    一.数据库操作框架 1.ORM:Object Relation Mapping Hibernate:非常流行 JPA:Java Persistent API.ORM标准 MyBatis:2010年开始 ...

  9. 【亲测】自动构建多个指定的class并发执行:Jenkins+Maven+Testng框架

    要解决的问题:jenkins在自动构建maven项目时如何并发执行多个指定的class类 预置条件:testngXXX.xml文件已指定了多个class类 解决步骤:1.在maven项目中新建指定te ...

  10. LoadRunner接口测试Error -27225报错解决

    今天依照规范写了一个接口测试脚本,再执行的时候报Error -27225,核对了接口字段和字段值没发现错误,百度搜Error -27225错误没有相关解释.这个问题经过溯源找到了问题的所在,为了互帮互 ...