php网站webshell检查脚本

这是一个用Python编写的简单实用的WebShell检测脚本,能够检查PHP文件是否包含恶意代码,并支持多种文件类型的扫描,适用于网站安全检测。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

#!/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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值