部署站点后通常首先会生成该站点所有文件的MD5值,如果上线后网站页面内容被篡改(如挂马)等,可以比对之前生成MD5值快速查找去那些文件被更改,为了使系统管理员第一时间发现,可结合crontab或nagios等工具。

程序测试如下:

# 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()

iflen(sys.argv) !=3:

Usage()

file = 'file.key'

model = sys.argv[1]

path = sys.argv[2]

ifos.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()

linux防挂马软件,Linux利用Python脚本检测网站挂马程序相关推荐

  1. linux 防ddos攻击软件,linux系统下免费防DDOS CC攻击脚本,有效减轻服务器压力 【转】...

    网站DDOS是最头疼的事.即使是国内高防的服务器,也不能100%彻底解决CC,DDOS攻击,在没有硬防的情况下,寻找软件代替是最直接的方法,比如用iptables,但是iptables不能在自动屏蔽, ...

  2. python windows系统管理_利用Python脚本管理Windows服务

    Windows服务常用的功能就是启动服务,关闭服务,重启服务和查询服务运行状态,其中查询服务运行状态是其他三种操作的基础. 本文中提到的使用Python脚本管理Windows服务实际上是调用win32 ...

  3. python做小程序-【实战案例】利用Python做出趣味版防沉迷小程序

    今天带领大家利用Python做出趣味版防沉迷小程序 查询电脑的所有进程 用Python循环检测电脑软件的运行情况,当发现游戏软件时弹出警告窗口,并截图保存.学会这项技能,就再也不怕孩子偷偷打游戏了.下 ...

  4. 简单的python有趣小程序-【实战案例】利用Python做出趣味版防沉迷小程序

    今天带领大家利用Python做出趣味版防沉迷小程序 查询电脑的所有进程 用Python循环检测电脑软件的运行情况,当发现游戏软件时弹出警告窗口,并截图保存.学会这项技能,就再也不怕孩子偷偷打游戏了.下 ...

  5. python漏洞利用脚本_利用Python脚本实现漏洞情报监控与通知的经验分享

    原标题:利用Python脚本实现漏洞情报监控与通知的经验分享 前言 本文主要介绍了笔者利用一个简单的Python脚本实现漏洞情报的监控以及自动通报的相关经验. 一.背景 笔者所在公司某一个业务系统用到 ...

  6. python登录交换机执行命令_利用Python脚本登录交换机实现自动配置备份的方法

    主机参考:服务器测评参考推荐网,专注分享服务器优惠信息!如果您想在本站投放您的广告,点此直达!如果您不想付费,您也可以免费投稿您的产品信息,点此直达!联系我们 部分文章发布时间较久远,可能存在未知因素 ...

  7. 利用Python脚本给图片批量添加文字水印

    引言:本人从小白自学python,为了测试基础学习效果,增加一定的促进,想通过参加全国计算机等级考试二级python来检验基础学习情况.在学习过程中,会将该过程编写的python小程序题目在此发表,希 ...

  8. 利用python脚本自动发布服务之arcmap篇

    最近在学习arcpy,参考官方帮助文档及一些博客文章练习了下利用python脚本自动发布各中server服务,顺便将把发布的流程以及遇到的问题进行记录总结.用的是Python2.x,ArcGIS Pr ...

  9. 利用Python脚本实现批量格式转换(视频转音频)

    利用Python脚本实现批量格式转换(视频转音频) 利用ffmpeg工具和Python,实现批量视频/音频格式转换.本例只给出视频转音频(.wav)方法,更多格式转换可百度ffmpeg用法,修改代码中 ...

  10. 利用Python编写一个高斯正反算程序

    一.前言 这次的高斯正反算程序是使用的Python编写的. 环境信息是:Win10.PyCharm 2021.3.1.PySide6 6.3.1.Python 3.9.9,基于QT Designer设 ...

最新文章

  1. 【noi 2.5_7834】分成互质组(dfs)
  2. vijos 1030 重叠的方框
  3. 像癌症一样传播:世界首个PLC病毒问世
  4. ylbtech-LanguageSamples-UserConversions(用户定义的转换)
  5. 【C 语言】二级指针作为输入 ( 指针数组 | 复杂指针解读 )
  6. 杭电1284钱币兑换问题—背包dp/母函数(java)
  7. python列表中 [ :: ]的用法
  8. linux 用journalctl --vacuum-size=10M命令清理/var/log/journal目录下的日志文件
  9. 百度智能云人脸活体检测系统获得公安部一所首批安全性能认证
  10. Android之screenOrientation属性
  11. [BZOJ4537][Hnoi2016]最小公倍数 奇怪的分块+可撤销并查集
  12. X86汇编语言从实模式到保护模式05:循环、批量传送和条件转移
  13. LeetCode——Maximum Depth of Binary Tree
  14. 高质量计算机学习网站
  15. Visio应用视频教程(下)-游峰-专题视频课程
  16. AVI视频文件编码格式不受支持0xc00d5212怎么解决?
  17. 虚拟化——成功解决使用ovirt安装虚拟机系统时不能正常引导安装
  18. 云计算概念及Linux系统详解
  19. 【C语言】switch语句的理解
  20. 规模指数介绍,如何使用Python获取数据

热门文章

  1. mysql语句中单引号、双引号、反引号用法与区别
  2. python学习笔记(2)—— 控制流
  3. Typora 如何自动生成标题序号
  4. IllustratorCS5初学者必读(7):透明度调板
  5. 阿里云服务器被恶意程序攻击
  6. python壁纸4k_壁纸软件下载|2k4k桌面壁纸自动更换 Python版1.0 下载_当游网
  7. 新版Edge浏览器如何设置崩溃自动恢复网页
  8. oracle12c不使用cdb模式,12c CDB和PDB启动和关闭操作
  9. 68ES6_解构_数组操作_对象操作
  10. 洛谷 P2414 [NOI2011] 阿狸的打字机 题解