`
lz1130
  • 浏览: 409371 次
  • 性别: Icon_minigender_1
  • 来自: 福建
社区版块
存档分类
最新评论

php网站webshell检查脚本

阅读更多
参考了一些别人写的脚本,自己用Python写的一个小脚本,简单实用。学习Python为主。
1、检查你的php文件是否是webshell程序,也可以检查危险的函数。
2、可以检查图片文件,但是可能会有误报。


#!/usr/bin/python
#coding=utf-8

#程序描述:webshell检查工具
#版本:1.0.0
#作者:sapling
#创建日期:2009-12-16
#修改原因:
#修改日期:
#修改者:
#使用方法:
#        输入参数:
#        1、第一个参数为被检查文件夹
#        2、第一个参数后跟要检查的文件后缀名,检查多个后缀以空格分开(默认.php .inc)。
#        example:
#        ./webshellChecker ./
#        ./webshellChecker ./ .gif .jpg


import os,sys
import re,time
from stat import ST_MTIME
ISOTIMEFORMAT = '%Y-%m-%d %X'

keywords = (
            (r"eval\(\$\_POST","find php muma!!!"),
            (r"(system|shell_exec|exec|popen)","find php exec func!!!"),
            )

def checkfile(filename):
    try:
        fp = open(filename)
    except:
        print "'%s' file open deny"%filename
    else:
        contents = fp.read()
        mtime = time.strftime(ISOTIMEFORMAT,time.gmtime(os.stat(filename)[ST_MTIME]))
        for keyword in keywords:
            if re.search(keyword[0],contents,re.I):
                log = "%s  |  %s  |  %s"%(filename,mtime,keyword[1])
                print log
    fp.close()

def check(dirname,exts):
    try:
        ls = os.listdir(dirname)
    except:
        print "'%s' dir access deny"%dirname
    else:
        for item in ls:
            temp = os.path.join(dirname,item)
            if(os.path.isdir(temp)):
                check(temp,exts)
            else:
                ext = os.path.splitext(temp)[1].lower()
                if ext in exts:
                    checkfile(temp)


if __name__ == "__main__":
    print "php webshell checker for python!"
    print "by sapling"
    print "2009-12-16"
    if len(sys.argv)<2:
        print """输入参数:
        1、被检查文件夹
        2、要检查的文件后缀名,检查多个后缀以空格分开(默认.php .inc)。
        example:
        ./webshellChecker ./
        ./webshellChecker ./ .gif .jpg
        """
    else:
        dir = sys.argv[1]
        exts = ['.php','.inc']
        if len(sys.argv)>=3:
            exts += sys.argv[2:]
        print "Check dir is '%s' | ext is %s"%(dir,exts)
        print "Start check"
        
        if os.path.exists(dir):
            check(dir,exts)
        else:
            print "dir: '%s' not exists!"%dir
分享到:
评论

相关推荐

    基于文本向量的php-webshell检测方法 (1).pdf

    本文提出了一种基于文本向量的php-webshell检测方法,旨在解决传统静态检测方法不能有效识别混淆后的php-webshell脚本和从未出现过的php-webshell脚本的问题。该方法使用*n-gram算法和TF-IDF算法将php脚本执行过程中...

    基于卷积神经网络的Webshell检测方法研究.pdf

    Webshell是一种恶意脚本,通常以PHP、ASP等网页文件的形式存在于Web服务器中。攻击者可以通过远程访问Webshell后门得到一个命令执行环境,从而获得Web服务器的控制权。目前对于Webshell的解决方法主要有静态检测、...

    基于机器学习的webshell检测工具.zip

    PHP是Web开发中广泛使用的脚本语言,也是Webshell的常见载体。理解PHP的语法和运行机制对于构建有效的检测模型至关重要。我们需要分析PHP代码的特性,例如,异常的文件操作、系统调用、网络通信等功能,这些都是...

    wso_webshell_php_

    【标题】"wso_webshell_php_" 涉及的核心知识点是Webshell和PHP编程语言在网络安全中的应用。...这些知识点提醒我们重视Web应用程序的安全性,防止Webshell的入侵,并提高对恶意代码的检测和防御能力。

    一款基于python开发的webshell检测工具+源代码+文档说明

    findWebshell是一款基于python开发的webshell检查工具,可以通过配置脚本,方便得检测webshell后门。 ## 使用说明 Usage: main.py [options] Options: -h, --help show this help message and exit -p PATH, -...

    2011版php webshell 国外版

    总结来说,这个"2011版php webshell 国外版"是一个功能强大的、小型且难以检测的Webshell工具,适用于PHP环境,特别适合黑客进行远程控制和渗透测试。不过,需要注意的是,使用这样的工具必须遵守法律法规,不得用于...

    基于机器学习的webshell检测算法.zip

    在当前的数字化时代,网络安全是至关重要的议题,而Webshell检测是网络安全中一个关键的环节。Webshell,也称为Web后门,是攻击者在Web服务器上植入的恶意脚本,用于远程控制受感染的系统。这个项目"基于机器学习的...

    基于python开发的webshell检测工具

    基于python开发的webshell检查工具,可以通过配置脚本,方便得检测webshell后门。 字典添加 directory目录下的sensitiveWord.py定义的是后门中的敏感关键字,可以手动添加,格式为{"关键字":"类型"} ...

    基于深度学习的Webshell恶意代码检测方法研究.docx

    Webshell可以根据脚本类型和功能进行分类,如PHP、ASP、JSP和CGI木马,以及大马、小马和一句话木马。这些Webshell能执行恶意操作,对网站安全构成严重威胁,甚至影响到国家安全层面。因此,开发更有效的检测方法至关...

    webshell,包含asp,php,aspx,jsp

    2. PHP(Hypertext Preprocessor)Webshell:PHP是一种广泛使用的开源脚本语言,尤其适用于Web开发。常见的PHP Webshell如"Phpad"和"ChinaZ",它们允许攻击者执行任意PHP代码。防范PHP Webshell的关键在于保持PHP...

    webshell首页权限检测.zip

    常见的检测方法包括但不限于文件异常监控(对比正常文件与疑似被篡改的文件)、日志分析(查看可疑的HTTP请求和响应)、代码审计(检查是否有可疑的PHP、ASP、JSP等脚本)、使用专用的Webshell查杀工具等。...

    wazuh-webshell检测规则

    在网络安全领域,Webshell是一个非常重要的概念,它是指攻击者在目标服务器上植入的恶意脚本,用于远程控制或窃取数据。Wazuh是一款开源的安全监控平台,能够帮助用户检测和预防各种安全威胁,其中包括Webshell。...

    Linux WebShell

    在Linux系统中,我们通常会遇到PHP类型的WebShell,因为PHP是广泛用于Web开发的语言,许多Linux服务器都配置了PHP环境来支持动态网站。 Linux WebShell的工作原理是利用Web服务器(如Apache或Nginx)处理PHP脚本的...

    第06篇:10款Webshell查杀工具1

    9. findWebshell:基于Python的Webshell检查工具,通过特征码匹配检查不同类型的Webshell后门,项目地址:https://github.com/he1m4n6a/findWebshell。 10. 在线Webshell查杀工具:提供一个在线平台进行Webshell...

    良精南方网站系统拿webshell的教程

    Webshell通常是一段能够执行系统命令的脚本,如PHP、ASP或JSP等。攻击者需要将webshell伪装成合法的文件格式,例如图片、文档等,以绕过系统对文件类型的检查。 在"南方后台爆oday拿webshell.lxe"这个文件中,很...

    第10篇: WebShell高级样本收集1

    除了上述项目,还有其他一些值得探索的GitHub仓库,如`ysrc/webshell-sample`、`xl7dev/WebShell`、`tanjiti/webshellSample`等,它们涵盖了更多的Webshell示例,包括PHP绕过集合、Webshell检测绕过策略等。...

    2016最新php免杀webshell过安全狗

    【标题】"2016最新php免杀webshell过安全狗" 描述了这个压缩包文件中的PHP脚本能够避开安全狗等Web安全防护软件的检测,从而在2016年时被认为是可以成功上传并执行的Webshell。Webshell通常是指攻击者通过SQL注入、...

    Webshell后门查杀

    3. **代码审计**:对网站源代码进行全面审计,查找可疑的PHP、ASP、JSP等脚本,尤其是那些没有正常业务逻辑,或者使用了加密、混淆技术的代码。 4. **文件哈希对比**:收集系统中所有合法文件的哈希值,并定期进行...

    基于文件和行为特征的WebShell检测方法研究.pdf

    WebShell是一种恶意脚本,通常以ASP、PHP、JSP、CGI等形式存在,攻击者利用Web服务器的漏洞(如SQL注入和文件上传)将其上传,以此作为远程控制和执行命令的通道。WebShell允许攻击者持续访问受感染的Web应用程序,...

    强大的webshell管理工具-哥斯拉

    1. **扫描与检测**:能够对目标网站进行全面的Webshell扫描,查找可能存在的恶意代码,这包括常见的PHP后门脚本以及其他编程语言编写的后门。 2. **分类与分析**:将检测到的Webshell按照类型、危险级别进行分类,...

Global site tag (gtag.js) - Google Analytics