
Scanner LFI Proof-of-concept: Rilevamento automatico di esposizioni di /etc/passwd tramite attraversamento di directory e corrispondenza tramite regex.
# Scanner LFI
Un proof-of-concept Python leggero per scansionare host target per vulnerabilità di Local File Inclusion (LFI) tentando di recuperare `/etc/passwd` e rilevarne la presenza con un controllo regex. :contentReference[oaicite:0]{index=0}
## Funzionalità
- **Scansione batch** di hostname o target host:porta da un file di input
- **Payload di directory traversal** per raggiungere `/etc/passwd`
- **Rilevamento regex** dell'entry `root` per confermare LFI
- **Barra di progresso** alimentata da `tqdm` per feedback in tempo reale
- **Report strutturato**: produce risultati e anteprime in un file di risultati
## Prerequisiti
- Python 3.6 o più recente
- [`tqdm`](https://pypi.org/project/tqdm/) (`pip install tqdm`)
- CLI `curl` disponibile nel tuo PATH
## Installazione
```bash
git clone https://github.com/yourusername/lfi-scanner.git
cd lfi-scanner
pip install tqdm
```
## Utilizzo
```bash
python poc.py <input_file> [-o OUTPUT_FILE]
```
* `<input_file>`: Percorso di un file contenente un target per riga (`hostname` o `hostname:porta`).
* `-o, --output`: (Opzionale) Percorso in cui scrivere i risultati (default: `results.txt`).
### Esempio
Dato `targets.txt`:
```
example.com
192.168.0.1:8443
```
Esegui lo scanner:
```bash
python poc.py targets.txt -o scan_results.txt
```
Vedrai un output come:
```
[+] https://example.com:443/... → /etc/passwd TROVATO
[-] https://192.168.0.1:8443/... → Risposta ricevuta, nessuna corrispondenza
```
E `scan_results.txt` conterrà un riepilogo e anteprime.
## Dettaglio dello script
* **`poc.py`**:
* Usa `argparse` per analizzare `--input` e `--output`.
* Itera i target e costruisce l'URL con un payload di traversal profondo.
* Chiama `curl --insecure -s` per ogni target.
* Cerca `root:.*?:0:0:` per confermare l'esposizione di `/etc/passwd`.
* Stampa lo stato per host e scrive risultati dettagliati nel file di output.
## Dichiarazione di non responsabilità
Usa questo strumento **responsabilmente** e **solo** su risorse di tua proprietà o per cui hai esplicita autorizzazione al test. La scansione non autorizzata potrebbe violare leggi e termini di servizio.
## Licenza
Rilasciato sotto [Licenza MIT](https://github.com/abrewer251/cve-2017-12637_sap-netweaver-url-traversal/blob/main/LICENSE).
```
```