
Outil d'exploitation d'inclusion de fichiers locaux

Un puissant outil Python pour l'exploitation d'inclusion locale de fichiers (LFI) avec des fonctionnalités avancées incluant le contournement WAF, les techniques d'encodage et la détection complète de vulnérabilités.
Liffy v2.0 est la version considérablement améliorée de liffy qui a été créé à l'origine par rotlogix/liffy. Cette version inclut des fonctionnalités modernes comme la sortie terminale Rich, la configuration YAML, le multithreading amélioré et de multiples techniques d'exploitation avancées.
⚠️ Beaucoup de nouveaux changements ont été codés à la volée.
Assurez-vous d'utiliser Python 3. Liffy ne supporte pas Python 2. Les exemples ci-dessous utilisent uv run python pour exécuter les commandes dans l'environnement du projet.
# Installez uv si ce n'est pas déjà fait
curl -LsSf https://astral.sh/uv/install.sh | sh
# Clonez le dépôt
git clone https://github.com/mzfr/liffy
cd liffy
# Créez un environnement virtuel avec uv
uv venv
# Installez les dépendances depuis pyproject.toml
uv sync
# Lancez liffy
uv run python liffy.py --help
uv run python liffy.py <URL> [OPTIONS]
usage: liffy.py [-h] [-d] [-i] [-e] [-f] [-p] [-a] [-ns] [-r] [--ssh]
[-l LOCATION] [--cookies COOKIES] [-dt] [-t THREADS]
[--detection] [--null-byte] [--zip] [--encoding]
[--waf-bypass] [--method {GET,POST}] [--post-data POST_DATA]
[--headers HEADERS] [--lhost LHOST] [--lport LPORT]
[--read-file READ_FILE] [-y] [--timeout TIMEOUT]
[--proxy PROXY] [--verify-tls] [--user-agent USER_AGENT]
[--oob] [--oob-url OOB_URL] [--blind] [--auto]
[--delay DELAY] [--retries RETRIES] [--json] [--output OUTPUT]
[--quiet] [--no-color] [--no-banner] [--config]
[url]
arguments positionnels:
url URL à tester pour LFI
Techniques de base:
-d, --data Utiliser la technique data://
-i, --input Utiliser la technique input://
-e, --expect Utiliser la technique expect://
-f, --filter Utiliser la technique filter://
-p, --proc Utiliser la technique /proc/self/environ
-a, --access Technique des logs Apache
--ssh Empoisonnement du journal d'authentification SSH
-dt, --directorytraverse Tester le parcours de répertoire
--null-byte Tester l'empoisonnement par octet nul
--zip Tester l'exploitation du wrapper ZIP
--wrappers, --wrapper Détecter les wrappers de flux LFI courants
--wrapper-list WRAPPER_LIST
Chemin vers une liste personnalisée de sondes de wrappers
--oob Envoyer des sondes de rappel hors bande
--oob-url OOB_URL URL de base pour le rappel hors bande
--blind Effectuer des vérifications LFI aveugles par différence de réponse
--blind-list BLIND_LIST
Chemin vers une liste personnalisée de sondes LFI aveugles
--auto Exécuter un plan de scan automatique et sûr
Options avancées:
--encoding Utiliser des techniques d'encodage/contournement avancées
--waf-bypass Utiliser des techniques de contournement WAF
--method {GET,POST} Méthode HTTP à utiliser (par défaut : GET)
--post-data POST_DATA Données POST (format : clé=valeur&clé2=valeur2)
--headers HEADERS En-têtes personnalisés (format : En-tête1:Valeur1,En-tête2:Valeur2)
--detection Effectuer uniquement la détection LFI, pas d'exploitation
Options de requête:
--timeout TIMEOUT Délai d'expiration de la requête HTTP en secondes
--proxy PROXY URL du proxy HTTP(S), ex. http://127.0.0.1:8080
--verify-tls Vérifier les certificats TLS au lieu d'utiliser des requêtes non sécurisées
--user-agent UA En-tête User-Agent personnalisé
--delay DELAY Délai entre les requêtes en secondes
--retries RETRIES Nombre de tentatives HTTP par requête