findWebshell是一款基于python开发的webshell检查工具,可以通过配置脚本,方便得检测webshell后门。
Usage: main.py [options]
Options:
-h, --help show this help message and exit
-p PATH, --path=PATH input web directory filepath
-o OUTPUT, --output=OUTPUT
create a html report
-e php|asp|aspx|jsp|all, --ext=php|asp|aspx|jsp|all
define what's file format to scan
python main.py -e php -p /var/www/test -o output
-e 网页格式
-p 扫描的路径
-o 生成的html文件名,默认生成report.html
- directory目录下的sensitiveWord.py定义的是后门中的敏感关键字,可以手动添加,格式为{"关键字":"类型"}
php_sensitive_words = {
"www.phpdp.org":"PHP神盾加密后门",
"www.phpjm.net":"PHP加密后门"
}
- directory目录下的webshell.py定义的是webshell列表,直接添加webshell到列表里
php_webshell = [
"后门.php",
"xxoo.php",
"一句话.php"
]
- 命令规范
插件命名格式:网页类型_后门类型-plugin.py
示例
php_eval_assert-plugin.py
php_preg_replace-plugin.py
asp_execute-plugin.py
- 函数规范和返回值
def judgeBackdoor(fileCtent)
成功返回后门类型,失败返回None
示例
def judgeBackdoor(fileCtent):
if keyword in fileCtent:
result = re.compile(rule).findall(fileCtent)
if len(result) > 0:
return backdoorType
else:
return None