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
gf — Un wrapper attorno a grep, per aiutarti a cercare cose. | Kitploit
Strumenti/GitHubGitHub/tomnomnom/gf
Utilità GenericheRicognizioneAnalisi del CodiceRaccolta InformazioniRilevamento Segreti
GitHubtomnomnom/gf

gf

Un wrapper attorno a grep, per aiutarti a cercare cose.

Vedi Repository
2.1k3422 anni 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

gf

Un wrapper attorno a grep per evitare di digitare pattern comuni.

Cosa? Perché?

Uso grep un sacco. Quando faccio audit di codebase, guardo l'output di meg, o più in generale quando ho a che fare con grandi quantità di dati. Spesso finisco per usare pattern piuttosto complessi come questo:

root@kitploit:~
▶ grep -HnrE '(\$_(POST|GET|COOKIE|REQUEST|SERVER|FILES)|php://(input|stdin))' *

È davvero facile sbagliare quando si digita tutto questo, e può essere difficile sapere se non hai ottenuto risultati perché non ce ne sono da trovare, o perché hai sbagliato a scrivere il pattern o hai scelto le flag sbagliate.

Ho scritto gf per dare un nome alle combinazioni di pattern e flag che uso continuamente. Quindi il comando sopra diventa semplicemente:

root@kitploit:~
▶ gf php-sources

File dei pattern

Le definizioni dei pattern sono salvate in ~/.gf come piccoli file JSON che possono essere tenuti sotto controllo di versione:

root@kitploit:~
▶ cat ~/.gf/php-sources.json
{
    "flags": "-HnrE",
    "pattern": "(\\$_(POST|GET|COOKIE|REQUEST|SERVER|FILES)|php://(input|stdin))"
}

Per aiutare a ridurre un po' lunghezza e complessità dei pattern, puoi specificare anche una lista di più pattern:

root@kitploit:~
▶ cat ~/.gf/php-sources-multiple.json
{
    "flags": "-HnrE",
    "patterns": [
        "\\$_(POST|GET|COOKIE|REQUEST|SERVER|FILES)",
        "php://(input|stdin)"
    ]
}

Ci sono altri esempi di file di pattern nella directory examples.

Puoi usare la flag -save per creare file di pattern dalla riga di comando:

root@kitploit:~
▶ gf -save php-serialized -HnrE '(a:[0-9]+:{|O:[0-9]+:"|s:[0-9]+:")'

Auto completamento

C'è incluso uno script di auto-completamento, così puoi premere 'tab' per vedere quali sono le tue opzioni:

root@kitploit:~
▶ gf <tab>
base64       debug-pages  fw           php-curl     php-errors   php-sinks    php-sources  sec          takeovers    urls

Bash

Per far funzionare l'auto-completamento devi fare source del file gf-completion.bash nel tuo .bashrc o simili:

root@kitploit:~
source ~/path/to/gf-completion.bash

Zsh

Per far funzionare l'auto-completamento devi abilitare l'autocompletamento (non necessario se hai oh-my-zsh) usando autoload -U compaudit && compinit oppure inserendolo nel .zshrc

Poi fai source del file gf-completion.zsh nel tuo .zshrc o simili:

root@kitploit:~
source ~/path/to/gf-completion.zsh

Nota: se stai usando oh-my-zsh o simili potresti scoprire che gf è un alias per git fetch. Puoi creare un alias del binario gf per qualcos'altro, oppure unalias gf per rimuovere l'alias git fetch.

Usare motori personalizzati

Ci sono alcuni fantastici motori di ricerca del codice là fuori che possono essere una valida alternativa a grep. Un buon esempio è the silver searcher. È più veloce (come molto più veloce) e presenta i risultati in un modo visivamente più digeribile. Per utilizzare un motore diverso, aggiungi engine: <altro strumento> al file di pattern pertinente:

root@kitploit:~
# Usando the silver searcher invece di grep per il pattern aws-keys:
# 1. Aggiungendo il motore "ag"
# 2. Rimuovendo la flag E che non è rilevante per ag
{
  "engine": "ag",
  "flags": "-Hanr",
  "pattern": "([^A-Z0-9]|^)(AKIA|A3T|AGPA|AIDA|AROA|AIPA|ANPA|ANVA|ASIA)[A-Z0-9]{12,}"
}
  • Nota: motori diversi usano flag diverse, quindi nell'esempio sopra, la flag E deve essere rimossa dal file aws-keys.json affinché ag possa funzionare correttamente.

Installazione

Se hai Go installato e configurato puoi installare gf con:

root@kitploit:~
▶ go get -u github.com/tomnomnom/gf

Se hai installato usando go get, puoi abilitare l'auto-completamento nel tuo .bashrc in questo modo:

root@kitploit:~
▶ echo 'source $GOPATH/src/github.com/tomnomnom/gf/gf-completion.bash' >> ~/.bashrc

Nota che dovrai riavviare il terminale, oppure eseguire source ~/.bashrc, affinché le modifiche abbiano effetto.

Per iniziare rapidamente, puoi copiare i file di esempio nella cartella ~/.gf in questo modo:

root@kitploit:~
▶ cp -r $GOPATH/src/github.com/tomnomnom/gf/examples ~/.gf

I miei pattern personali inclusi come esempi potrebbero non esserti molto utili, ma spero siano comunque un ragionevole punto di riferimento.

Contribuire

In realtà sarei molto interessato a nuovi file di pattern! Se hai qualcosa che cerchi regolarmente con grep, sentiti libero di aprire una PR per aggiungere nuovi file di pattern alla directory examples.

Anche le correzioni di bug sono benvenute, come sempre :)

Scarica lo strumento