PHP webshell检查工具 python实现代码


Posted in Python onSeptember 15, 2009

1.使用方法:find.py 目录名称
2. 主要是采用python正则表达式来匹配的,可以在keywords中添加自己定义的正则,格式:
["eval\(\$\_POST","发现PHP一句话木马!"] #前面为正则,后面为对这个正则的描述,会在日志中显示。
3.修改下文件后缀和关键字的正则表达式就可以成为其他语言的webshell检查工具了,^_^。
4.开发环境是windows xp+ActivePython 2.6.2.2,家里电脑没有Linux环境,懒得装虚拟机了,明天到公司Linux虚拟机测试下。
5.目前只是一个框架,随后慢慢完善。

#coding:gbk 
import os,sys 
import re findtype=['.php','.inc'] #要检查的文件后缀类型 
#要检查的关键字正则表达式和日志中的描述,是一个二维数组。 
keywords=[ ["eval\(\$\_POST","发现PHP一句话木马!"],\ 
["(system|shell_exec|exec|popen)","发现PHP命令执行函数!"]\ 
] 
writelog = open('log.txt', 'w+') 
def checkfile(filename): 
fp=open(filename) 
content = fp.read() 
for keyword in keywords: 
if re.search(keyword[0],content,re.I): 
log="%s:%s" % (filename,keyword[1]) 
#print log 
print >>writelog,log 
fp.close() 

def checkdir(dirname): 
try: 
ls=os.listdir(dirname) 
except: 
print 'access deny' 
else: 
for l in ls: 
temp=os.path.join(dirname,l) 
if(os.path.isdir(temp)): 
checkdir(temp) 
else: 
ext = temp[temp.rindex('.'):] 
if ext in findtype: 
checkfile(temp) 

if __name__=="__main__": 
print "PHP webshell check for Python!" 
print "By:Neeao" 
print "http://Neeao.com" 
if len(sys.argv) < 2: 
print "%s C:\\" % sys.argv[0] 
else: 
print "Check start!" 
dirs=sys.argv[1:] 
#print dirs[0] 
if os.path.exists(dirs[0]): 
checkdir(dirs[0]) 
else: 
print "Dir:'%s' not exists!" % dirs[0] 
print "Check finsh!" 
writelog.close()
Python 相关文章推荐
Python中函数的用法实例教程
Sep 08 Python
Python中的XML库4Suite Server的介绍
Apr 14 Python
python如何实现远程控制电脑(结合微信)
Dec 21 Python
Python实现矩阵转置的方法分析
Nov 24 Python
python如何压缩新文件到已有ZIP文件
Mar 14 Python
使用python读取txt文件的内容,并删除重复的行数方法
Apr 18 Python
python 三元运算符使用解析
Sep 16 Python
使用 pytorch 创建神经网络拟合sin函数的实现
Feb 24 Python
Python如何使用paramiko模块连接linux
Mar 18 Python
如何基于windows实现python定时爬虫
May 01 Python
Python-jenkins 获取job构建信息方式
May 12 Python
Python根据指定文件生成XML的方法
Jun 29 Python
python encode和decode的妙用
Sep 02 #Python
python 简易计算器程序,代码就几行
Aug 29 #Python
python 提取文件的小程序
Jul 29 #Python
Python 文件重命名工具代码
Jul 26 #Python
python 生成目录树及显示文件大小的代码
Jul 23 #Python
python 域名分析工具实现代码
Jul 15 #Python
python 自动提交和抓取网页
Jul 13 #Python
You might like
PHP之正则表达式捕获组与非捕获组(详解)
2015/07/29 PHP
PHP生成条形码大揭秘
2015/09/24 PHP
php生出随机字符串
2017/07/06 PHP
PHP 实现页面静态化的几种方法
2017/07/23 PHP
使用PHPWord生成word文档的方法详解
2019/06/06 PHP
ThinkPHP5与单元测试PHPUnit使用详解
2020/02/23 PHP
JavaScript高级程序设计 阅读笔记(四) ECMAScript中的类型转换
2012/02/27 Javascript
IE中的File域无法清空使用jQuery重设File域
2014/04/24 Javascript
JS设置网页图片vspace和hspace属性的方法
2015/04/01 Javascript
Javascript实现计算个人所得税
2015/05/10 Javascript
js中小数向上取整数,向下取整数,四舍五入取整数的实现(必看篇)
2017/02/13 Javascript
JavaScript中数组Array方法详解
2017/02/27 Javascript
JS 组件系列之 bootstrap treegrid 组件封装过程
2017/04/28 Javascript
xmlplus组件设计系列之下拉刷新(PullRefresh)(6)
2017/05/03 Javascript
jQuery实现可兼容IE6的滚动监听功能
2017/09/20 jQuery
Nuxt.js实战详解
2018/01/18 Javascript
微信小程序App生命周期详解
2018/01/31 Javascript
vue组件中的数据传递方法
2018/05/14 Javascript
python 数据清洗之数据合并、转换、过滤、排序
2017/02/12 Python
python爬虫之urllib3的使用示例
2018/07/09 Python
Python使用uuid库生成唯一标识ID
2020/02/12 Python
python实现在线翻译功能
2020/03/03 Python
Python接口测试数据库封装实现原理
2020/05/09 Python
Python‘==‘ 及 ‘is‘相关原理解析
2020/09/05 Python
彻底搞懂python 迭代器和生成器
2020/09/07 Python
CSS 3.0 结合video视频实现的创意开幕效果
2020/06/01 HTML / CSS
日本热销NO.1胶原蛋白冻:Aishitoto爱希特多
2019/06/20 全球购物
网络事业创业计划书范文
2014/01/09 职场文书
五一服装活动方案
2014/01/11 职场文书
少先队入队活动方案
2014/02/08 职场文书
2014新生大学四年计划书
2014/09/21 职场文书
安全生产先进个人总结
2015/02/15 职场文书
个性发展自我评价2015
2015/03/09 职场文书
中国梦党课学习心得体会
2016/01/05 职场文书
pytorch 两个GPU同时训练的解决方案
2021/06/01 Python
js 数组 fill() 填充方法
2021/11/02 Javascript