扫描目录下的php文件,是不是含有木马特征
扫描目录下的php文件,是否含有木马特征
shell_checkl
#!/usr/bin/python#-*- encoding:UTF-8 -*-##### @package## @desc 扫描目录下的php文件,是否含有木马特征,注意,不是“木马扫描”## @useage python shell_check.py /your/web/path/ 1=是否递归###import osimport sysimport reimport timedef listdir(dirs,liston='0'): flog = open(os.getcwd()+"/check_php_shell.log","a+") if not os.path.isdir(dirs): print "directory %s is not exist"% (dirs) return lists = os.listdir(dirs) for list in lists: filepath = os.path.join(dirs,list) if os.path.isdir(filepath): if liston == '1': listdir(filepath,'1') elif os.path.isfile(filepath): filename = os.path.basename(filepath) if re.search(r"\.(?:php|inc|html?)$", filename, re.IGNORECASE): i = 0 iname = 0 f = open(filepath) while f: file_contents = f.readline() if not file_contents: break i += 1 match = re.search(r'''(?P<function>\b(?:include|require)(?:_once)?\b)\s*\(?\s*["'](?P<filename>.*?(?eval|proc_open|popen|shell_exec|exec|passthru|system)\b\s*\(', file_contents, re.IGNORECASE| re.MULTILINE) if match: function = match.group("function") if iname == 0: info = '\n[%s] :\n'% (filepath) else: info = '' info += '\t|-- [%s] line [%d] \n'% (function,i) flog.write(info) print info iname += 1 match = re.findall(r'(\$[a-z0-9_]*?\s*?\(.*?\))', file_contents, re.IGNORECASE) if match: if iname == 0: info = '\n[%s] :\n'% (filepath) else: info = '' info += '\t|-- [%s] line [%d] \n'% (match[0],i) flog.write(info) print info iname += 1 f.close() flog.close()if '__main__' == __name__: argvnum = len(sys.argv) liston = '0' if argvnum == 1: action = os.path.basename(sys.argv[0]) print "Command is like:\n %s D:\wwwroot\ \n %s D:\wwwroot\ 1 -- recurse subfolders"% (action,action) quit() elif argvnum == 2: path = os.path.realpath(sys.argv[1]) listdir(path,liston) else: liston = sys.argv[2] path = os.path.realpath(sys.argv[1]) listdir(path,liston) flog = open(os.getcwd()+"/check_php_shell.log","a+") ISOTIMEFORMAT='%Y-%m-%d %X' now_time = time.strftime(ISOTIMEFORMAT,time.localtime()) flog.write("\n----------------------%s checked ---------------------\n"% (now_time)) flog.close()</filename></function>

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds



Comment définir la variable d'environnement PATH dans les systèmes Linux Dans les systèmes Linux, la variable d'environnement PATH est utilisée pour spécifier le chemin où le système recherche les fichiers exécutables sur la ligne de commande. Définir correctement la variable d'environnement PATH nous permet d'exécuter des commandes système et des commandes personnalisées à n'importe quel endroit. Cet article explique comment définir la variable d'environnement PATH dans un système Linux et fournit des exemples de code détaillés. Afficher la variable d'environnement PATH actuelle Exécutez la commande suivante dans le terminal pour afficher la variable d'environnement PATH actuelle : echo$P.

Fonction signifie fonction. Il s'agit d'un bloc de code réutilisable avec des fonctions spécifiques. C'est l'un des composants de base d'un programme. Il peut accepter des paramètres d'entrée, effectuer des opérations spécifiques et renvoyer des résultats. code pour améliorer la réutilisabilité et la maintenabilité du code.

Méthode pour définir la variable d'environnement de chemin : 1. Système Windows, ouvrez "Propriétés système", cliquez sur l'option "Propriétés", cliquez sur "Paramètres système avancés", dans la fenêtre "Propriétés système", sélectionnez l'onglet "Avancé", puis cliquez sur le bouton "Variables d'environnement", recherchez et cliquez sur "Chemin" pour modifier et enregistrer ; 2. Pour les systèmes Linux, ouvrez le terminal, ouvrez votre fichier de configuration bash, ajoutez "export PATH=$PATH: chemin du fichier" à la fin de le fichier et enregistrez-le ; 3. Pour le système MacOS, l'opération est la même que ci-dessus.

Dans cet article, nous découvrirons la fonction enumerate() et le but de la fonction « enumerate() » en Python. Qu'est-ce que la fonction enumerate() ? La fonction enumerate() de Python accepte une collection de données comme paramètre et renvoie un objet d'énumération. Les objets d'énumération sont renvoyés sous forme de paires clé-valeur. La clé est l'index correspondant à chaque élément, et la valeur est les éléments. Syntaxe enumerate(iterable,start) Paramètres iterable - Les données transmises dans la collection peuvent être renvoyées sous forme d'objet d'énumération, appelé iterablestart - Comme son nom l'indique, l'index de départ de l'objet d'énumération est défini par start. si nous ignorons

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

En golang, filepath.Abs est une bibliothèque très couramment utilisée. Sa fonction est d'obtenir le chemin absolu d'un chemin relatif. Cependant, dans certains cas, nous constaterons que nous rencontrerons une erreur « non défini : filepath.Abs » lors de l'utilisation de filepath.Abs, ce qui signifie que nous n'avons pas introduit correctement la bibliothèque filepath ou que nous avons écrit la mauvaise syntaxe. Cet article explique comment résoudre cette erreur. Premièrement, nous devons comprendre

Explication détaillée du rôle et de la fonction de la table MySQL.proc MySQL est un système de gestion de bases de données relationnelles populaire. Lorsque les développeurs utilisent MySQL, ils impliquent souvent la création et la gestion de procédures stockées (StoredProcedure). La table MySQL.proc est une table système très importante. Elle stocke les informations relatives à toutes les procédures stockées dans la base de données, y compris le nom, la définition, les paramètres, etc. Dans cet article, nous expliquerons en détail le rôle et les fonctionnalités de la table MySQL.proc

Comment définir correctement la variable d'environnement PATH sous Linux Dans le système d'exploitation Linux, les variables d'environnement sont l'un des mécanismes importants utilisés pour stocker les informations de configuration au niveau du système. Parmi elles, la variable d'environnement PATH est utilisée pour spécifier les répertoires dans lesquels le système recherche les fichiers exécutables. Définir correctement la variable d'environnement PATH est une étape clé pour garantir le fonctionnement normal du système. Cet article explique comment définir correctement la variable d'environnement PATH sous Linux et fournit des exemples de code spécifiques. 1. Vérifiez la variable d'environnement PATH actuelle et entrez la commande suivante dans le terminal
