当前位置:  编程技术>python

用Python和MD5实现网站挂马检测程序

    来源: 互联网  发布时间:2014-10-04

    本文导语:  一、程序测试 代码如下:# python check_change.py     Usage: python check_change.py update /home/wwwroot           python check_change.py check /home/wwwroot # python check_change.py update /data/www #生成站点的md5值# echo ' ' > /data/www/sitemap.html #测试清空文件...

一、程序测试

代码如下:
# python check_change.py

    Usage: python check_change.py update /home/wwwroot
           python check_change.py check /home/wwwroot

# python check_change.py update /data/www #生成站点的md5值
# echo ' ' > /data/www/sitemap.html #测试清空文件
# rm -rf /data/www/sitemap.xml #测试删除文件
# python check_change.py check /data/www  #查找那些文件被篡改
/data/www/sitemap.xml
/data/www/sitemap.html


二、实现代码如下(check_change.py)
代码如下:
#!/usr/bin/env python

import os,sys,subprocess

def update(path):
    f = open(file,'w')
    for root,dirs,files in os.walk(path):
        for name in files:
            line = os.path.join(root, name)
            (stdin,stderr) = subprocess.Popen(['md5sum',line],stdout=subprocess.PIPE).communicate()
            f.write(stdin)
    f.close()

def check(path):
    f = open(file,'r')
    for line in f:
        check_ok = """echo '%s' | md5sum -c > /dev/null 2>&1""" % line
        #print check_ok
        if not subprocess.call(check_ok, shell = True) == 0:
            abnormal = line.split()
            print abnormal[1]
    f.close()

def Usage():
    print '''
    Usage: python %s update /home/wwwroot
           python %s check /home/wwwroot
    ''' % (sys.argv[0],sys.argv[0])
    sys.exit()

if len(sys.argv) != 3:
    Usage()

file = 'file.key'
model = sys.argv[1]
path = sys.argv[2]

if os.path.exists(path) == False:
    print "33[;31mThe directory or file does not exist33[0m"
    sys.exit()
elif model == 'update':
    update(path)
elif model == 'check':
    check(path)
else:
    Usage()


    
 
 

您可能感兴趣的文章:

  • 使用python检测手机QQ在线状态的脚本代码
  • python定时检查启动某个exe程序适合检测exe是否挂了
  • python检测lvs real server状态
  • phpsir 开发 一个检测百度关键字网站排名的python 程序
  • python检测服务器是否正常
  • python中使用OpenCV进行人脸检测的例子
  • python使用正则表达式检测密码强度源码分享
  • Python编写检测数据库SA用户的方法
  • 测试、预发布后用python检测网页是否有日常链接
  • 2款Python内存检测工具介绍和使用方法
  • 一个检测OpenSSL心脏出血漏洞的Python脚本分享
  • Python GUI编程:tkinter实现一个窗口并居中代码
  • python实现绘制树枝简单示例
  • 基于python实现的网络爬虫功能:自动抓取网页介绍
  • Python3实现生成随机密码的方法
  • Python3通过request.urlopen实现Web网页图片下载
  • python调用短信猫控件实现发短信功能实例
  • 在Python3中使用urllib实现http的get和post提交数据操作
  • Python实现多行注释的另类方法
  • juqery的python实现:pyquery学习使用教程
  • python 布尔操作实现代码
  • 数据结构:图(有向图,无向图),在Python中的表示和实现代码示例
  • python实现的重启关机程序实例
  • Python中无限元素列表的实现方法
  • python 实现插入排序算法
  • python使用循环实现批量创建文件夹示例
  • python 实现文件的递归拷贝实现代码
  • python判断端口是否打开的实现代码
  • python实现哈希表
  • python冒泡排序算法的实现代码
  • Python实现冒泡,插入,选择排序简单实例
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 如何使用linux下gdb来调试python程序
  • 如何运行Python程序的方法
  • 在Python中使用SWIG调用C和C++程序
  • go和python调用其它程序并得到程序输出
  • python计算程序开始到程序结束的运行时间和程序运行的CPU时间
  • python 简易计算器程序,代码就几行
  • python应用程序在windows下不出现cmd窗口的办法
  • python读写文件操作示例程序
  • python3编写C/S网络程序实例教程
  • 用python快速开发绚丽桌面程序 pyui4win
  • python练习程序批量修改文件名
  • Python实现的一个找零钱的小程序代码分享
  • 使用python搭建Django应用程序步骤及版本冲突问题解决
  • python在windows下实现备份程序实例
  • SecureCRT 上执行的 python 程序如何能在关闭终端时继续执行?
  • Python实现的一个自动售饮料程序代码分享
  • Python中删除文件的程序代码
  • python连接池实现示例程序
  • python聊天程序实例代码分享
  • Python程序设计入门(2)变量类型简介
  • python 从远程服务器下载日志文件的程序
  • Python不使用print而直接输出二进制字符串
  • 让python同时兼容python2和python3的8个技巧分享
  • 操作系统 iis7站长之家
  • 使用setup.py安装python包和卸载python包的方法
  • python异常信息堆栈输出到日志文件
  • 不小心把linux自带的python卸载了,导致安装一个依赖原python的软件不能安装,请问该怎么办?
  • python下用os.execl执行centos下的系统时间同步命令ntpdate
  • python读取csv文件示例(python操作csv)
  • Python namedtuple对象json序列化/反序列化及对象恢复
  • python基础教程之python消息摘要算法使用示例


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3