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编程中的异常处理教程
Aug 21 Python
全面理解Python中self的用法
Jun 04 Python
Ubuntu 16.04 LTS中源码安装Python 3.6.0的方法教程
Dec 27 Python
python xlsxwriter库生成图表的应用示例
Mar 16 Python
python 实现selenium断言和验证的方法
Feb 13 Python
Python求一批字符串的最长公共前缀算法示例
Mar 02 Python
局域网内python socket实现windows与linux间的消息传送
Apr 19 Python
一文了解Python并发编程的工程实现方法
May 31 Python
python自动化测试三部曲之request+django实现接口测试
Oct 07 Python
pytorch显存一直变大的解决方案
Apr 08 Python
Python代码风格与编程习惯重要吗?
Jun 03 Python
python使用pymysql模块操作MySQL
Jun 16 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/11/04 PHP
php 读写json文件及修改json的方法
2018/03/07 PHP
php写入txt乱码的解决方法
2019/09/17 PHP
ASP.NET jQuery 实例4(复制TextBox的文本到本地剪贴板上)
2012/01/13 Javascript
jquery.ui.draggable中文文档(原文翻译)
2013/11/15 Javascript
浅析XMLHttpRequest的缓存问题
2013/12/13 Javascript
jQuery Ajax()方法使用指南
2014/11/19 Javascript
js钢琴按钮波浪式图片排列效果代码分享
2015/08/26 Javascript
JS动态日期时间的获取方法
2015/09/28 Javascript
jquery自定义插件——window的实现【示例代码】
2016/05/06 Javascript
AngularJs ng-route路由详解及实例代码
2016/09/14 Javascript
Angular指令封装jQuery日期时间插件datetimepicker实现双向绑定示例
2017/01/22 Javascript
基于JS实现一个随机生成验证码功能
2019/05/29 Javascript
微信小程序仿淘宝热搜词在搜索框中轮播功能
2020/01/21 Javascript
[01:09:23]KG vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
python中使用mysql数据库详细介绍
2015/03/27 Python
TensorFlow平台下Python实现神经网络
2018/03/10 Python
python实现下载pop3邮件保存到本地
2018/06/19 Python
python实现京东秒杀功能
2018/07/30 Python
python3射线法判断点是否在多边形内
2019/06/28 Python
Python PIL图片添加字体的例子
2019/08/22 Python
Python从文件中读取指定的行以及在文件指定位置写入
2019/09/06 Python
python 实现非极大值抑制算法(Non-maximum suppression, NMS)
2020/10/15 Python
五分钟学会怎么用python做一个简单的贪吃蛇
2021/01/12 Python
绝对令人的惊叹的CSS3折叠效果(3D效果)整理
2012/12/30 HTML / CSS
世界领先的电子书网站:eBooks.com(在线购买小说、非小说和教科书)
2019/03/30 全球购物
法国房车租赁网站:Yescapa
2019/08/26 全球购物
金融行业职业生涯规划范文
2014/01/17 职场文书
班级活动策划书
2014/02/06 职场文书
小学毕业演讲稿
2014/04/25 职场文书
我的中国梦演讲稿400字
2014/08/19 职场文书
大学生职业生涯十年规划书范文
2014/09/17 职场文书
大一新生检讨书
2014/10/29 职场文书
财务总监岗位职责范本
2015/04/03 职场文书
党员转正申请报告
2015/05/15 职场文书
网络妈妈观后感
2015/06/08 职场文书