创新路
我们一直在努力

Python小脚本系列(0):用来扫描windows目录下文件内容

以下代码仅供参考学习使用

py版本:python3.5.1

#!/usr/bin/env python

# -*- coding:utf-8 -*-

# version: 201x-xx-0.1

# Author: loki

import time

import re

import os

workdir = "C:\\web\\www"

# 定义正则匹配要寻找的内容,根据实际情况编写re而非通用…这里比较局限

gz = '''\<a href="http:\/\/(.*)\/" (.*)\<\/a\>\((.*)\)'''

filecount = 0

procnum = 0

# 仅仅寻找这类后缀名的文件

suffix = ['asp', 'aspx', 'xml', 'html', 'htm', 'php', 'jsp', 'js', 'vbs', 'txt', 'shtml', 'do']

# 计时开始

stTime = time.clock()

for i in os.listdir(workdir):

if os.path.isfile(i):

for list in suffix:

if i.endswith(list):

filecount += 1

f1 = open(i, 'r', errors="ignore")

data = f1.read()

# 判断是否存在挂马链接

m = re.findall(gz, data)

if m:

procnum += 1

break

else:

continue

# 对源文件进行备份

with open(i+".bak", "w") as f2:

f2.write(data)

data = re.sub(gz, '#clear', data)

# 对源文件进行替换

with open(i, "w") as f3:

f3.write(data)

print(data)  # 显示所有文件的内容,调试用

f1.close()

endTime = time.clock()  # 计时结束

print("扫描文件总数: {}".format(filecount))

print("发现并处理并备份数: {}".format(procnum))

print("本次处理花费时长:{0:.2f}".format(endTime-stTime))

print("PS:只有匹配修改过的文件才进行备份,备份的文件以源文件名.bak保留")

未经允许不得转载:天府数据港官方信息博客 » Python小脚本系列(0):用来扫描windows目录下文件内容

客官点个赞呗! (0)
分享到:

评论 抢沙发

评论前必须登录!

天府云博 - 做有态度的开发&运维&设计学习分享平台!

联系我们百度云主机