Skip to content

chech-php v0.1

Choose a tag to compare

@bertinstephane42 bertinstephane42 released this 05 Dec 10:21
· 7 commits to main since this release
79d26e4

check-php v0.1 – Première version publique

Description

check-php est un scanner PHP orienté sécurité, basé sur les standards OWASP 2021.
Cette première version propose une analyse statique des fichiers PHP afin de détecter des vulnérabilités courantes et des pratiques à risque dans le code.

Le scanner inclut :

  • La détection de risques d'injection (RCE, SQLi, Command Injection, XSS).
  • L'analyse des sessions et cookies pour identifier les mauvaises pratiques.
  • La vérification des fonctions obsolètes ou dangereuses (eval, assert, create_function, md5, sha1, mcrypt, etc.).
  • La détection d’inclusions dangereuses (LFI, RFI, flux php://, URLs distantes, fichiers temporaires).
  • La détection des données sensibles exposées (mot de passe, token, clés API).
  • Des heuristiques supplémentaires pour repérer :
    • les eval indirects,
    • les constructions SQL dynamiques,
    • les die() ou echo potentiellement sensibles.

Le scanner parcourt récursivement le projet et fournit un rapport détaillé pour chaque fichier PHP analysé, incluant :

  • le fichier et la ligne concernée,
  • un extrait de code,
  • la gravité (info, low, medium, high, critical),
  • le message explicatif,
  • l'identifiant de la règle OWASP correspondante.

Limitations

  • Scanner uniquement les fichiers .php.
  • Les heuristiques peuvent générer des faux positifs.
  • Ne détecte pas les vulnérabilités côté base de données ou framework spécifique sans analyse manuelle.
  • Les inclusions distantes et certaines constructions dynamiques nécessitent un examen manuel.

Objectif

Cette version vise à fournir un outil pédagogique et pratique pour la revue de code PHP orientée sécurité, basé sur OWASP 2021.
Elle sert de base pour des améliorations futures : support des frameworks, export HTML/JSON, règles personnalisées, et analyse plus fine des flux utilisateurs.


Auteur : Stéphane Bertin
Version : 0.1