Un outil d'analyse statique pour PHP.
Pseudo-exécute le code PHP pour détecter les vulnérabilités.
Il a les fonctionnalités suivantes:
Les vulnérabilités suivantes peuvent être vérifiées:
Les résultats des tests sont sortis comme les rapports HTML.
Le rapport d'inspection décrit l'itinéraire de l'appel du point où la valeur d'entrée de l'utilisateur est d'abord affectée au point où elle est utilisée dans une fonction dangereuse.
Il a été confirmé pour fonctionner dans les environnements suivants:
La course gradlew build crée le répertoire PHPSCAN-1.0-Snapshot.
Cet exemple explique comment inspecter un plug-in CMS.
phpscan-1.0-SNAPSHOT/bin/phpscan est exécuté, il inspectera les fichiers PHP dans le répertoire du plugin.Les paramètres de fonctionnement sont fabriqués à l'aide de paramètres.properties.
Spécifie le chemin d'accès au répertoire où se trouvent les fichiers PHP à inspecter.
Vous devez saisir soit entrée_point_path ou entrée_point_parent_path.
Utilisé lorsque plusieurs entrées_point_paths existent.
Vous pouvez inspecter le groupe Entry_Point_Path en plaçant le groupe Entry_Point_Path dans un répertoire et en spécifiant le chemin du répertoire dans cette entrée.
Par exemple, si vous souhaitez inspecter plusieurs plugins en même temps, spécifiez le chemin d'accès au répertoire où se trouvent les répertoires de plugin.
Vous devez saisir soit entrée_point_path ou entrée_point_parent_path.
Spécifiez le chemin d'accès au répertoire où les fichiers PHP requis pour exécuter le fichier PHP à inspecter sont localisés.
Les fichiers PHP dans ce répertoire ne sont pas soumis à l'inspection.
Par exemple, si vous inspectez un plug-in CMS, spécifiez le chemin d'accès au répertoire sur le CMS lui-même dans cet élément.
Si elle n'est pas spécifiée, l'une des valeurs entrée_point_path et entrée_point_parent_path est utilisée.
Spécifiez le chemin d'accès au fichier php.ini.
Ce sont des champs nécessaires.
Spécifiez le chemin d'accès du fichier texte contenant le chemin du fichier PHP à exclure de l'inspection.
Spécifiez les chemins à exclure de la vérification à l'aide d'expressions régulières.
Plusieurs éléments peuvent être spécifiés séparés par des virgules.
Spécifiez le nom de la fonction si votre application implémente sa propre fonction qui échappe à une chaîne dans une instruction SQL.
Plusieurs éléments peuvent être spécifiés séparés par des virgules.
Spécifiez le nom de la fonction si votre application implémente sa propre fonction qui échappe aux chaînes HTML.
Plusieurs éléments peuvent être spécifiés séparés par des virgules.
Spécifie les catégories de vulnérabilités à exclure de l'inspection.
La catégorie spécifiée ne sera pas affichée dans le rapport d'inspection.
Les valeurs possibles sont les suivantes:
Plusieurs éléments peuvent être spécifiés séparés par des virgules.
Cela répertorie l'extension reconnue comme un fichier PHP.
Plusieurs éléments peuvent être spécifiés séparés par des virgules.
S'il n'est pas spécifié, deux extensions, PHP et Inc, seront reconnues comme des fichiers PHP.
Spécifie le cadre, CMS que l'application utilise.
En spécifiant cela, vous pouvez améliorer l'exhaustivité du test.
Les valeurs possibles sont les suivantes:
Plusieurs éléments peuvent être spécifiés séparés par des virgules.
Toutes les vulnérabilités énumérées sur les sites suivants, des éléments liés à PHP ont été découverts sur PHPSCAN.
http://jvndb.jvn.jp/search/index.php?mode=_vulnerabilité_search_ia_vulnsearch&lang=ja&usesynonym=1&keyword=%90%F3%88%E4%81%40%8C%92
Il n'est pas compatible avec les fonctionnalités PHP7.
Ce logiciel est publié sous la licence MIT, voir Licence.txt.