您没有来错地!为了更好的发展,黑基网已于9月19日正式更名为【安基网】,域名更换为www.safebase.cn,请卸载旧的APP并安装新的APP,给您带来不便,敬请理解!谢谢

黑基Web安全攻防班
安基网 首页 IT技术 电脑技术 查看内容

PHP webshell检查工具 python版

2009-11-3 14:29| 投稿: computer

摘要:        Web安全应急响应中,不免要检查下服务器上是否被上传了webshell,手工检查比较慢,就写了个脚本来检查了。Windows平...
       Web安全应急响应中,不免要检查下服务器上是否被上传了webshell,手工检查比较慢,就写了个脚本来检查了。Windows平台下已经有了lake2写的雷克图的了,一般的检查也够用了,写了个Linux下面的,用python写的。       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() 

小编推荐:欲学习电脑技术、系统维护、网络管理、编程开发和安全攻防等高端IT技术,请 点击这里 注册黑基账号,公开课频道价值万元IT培训教程免费学,让您少走弯路、事半功倍,好工作升职加薪!



免责声明:本文由投稿者转载自互联网,版权归原作者所有,文中所述不代表本站观点,若有侵权或转载等不当之处请联系我们处理,让我们一起为维护良好的互联网秩序而努力!联系方式见网站首页右下角。


鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新评论

最新

返回顶部