La realizzazione di exploit è uno dei pilastri dell’hacking, un programma si compone di un complesso insieme di regole che seguono un flusso
d’esecuzione prestabilito, il quale determina il comportamento del computer. L'exploit è essenzialmente sfruttare la vulnerabilità di quel programma, per farsì che il computer si comporti come vogliamo noi.
Trovare le falle e correggerle richiede molta esperienza e creatività, però bisogna tenere in considerazione che molte volte il programmatore non sempre scrive quello che intendeva realmente fare... Le cause sono di vario tipo, come:
Cambiamenti di sintassi, cambio di idee oppure semplicemente distrazioni.
Ora ne elencheremo i varii tipi:
Fuori-di-uno:Come ad'esempio una falla di una vecchia versione di OpenSSH:
if (id < 0 || id > channels_alloc) {
che invece si sarebbe dovuta scrivere:
if (id < 0 || id >= channels_alloc) {
Buffer Overflow:Un exploit che riguarda la corruzione della memoria, ovvero quando per errore o per malizia, vengono inviati più dati della capienza del buffer destinato a contenerli, i dati extra vanno a sovrascrivere le variabili interne del programma, o il suo stesso stack; come conseguenza di ciò, a seconda di cosa è stato sovrascritto e con quali valori, il programma può dare risultati errati o imprevedibili, bloccarsi, o (se è un driver di sistema o lo stesso sistema operativo) bloccare il computer.
Execution of arbitrary code:l’exploit dei formati delle stringhe.
Con queste tecniche, lo scopo ultimo è quello di assumere il controllo del flusso di esecuzione del
programma target, facendolo saltare a un punto in memoria nel quale è stato posizionato un frammento
di codice malevolo.
Code injection:Iniettare codice all'interno di un programma per cambiare il corso d'esecuzione.
Tra i più famosi stanno:
-SQL-Injection
-SSI-Injection
-XSS (cross-site scripting)
-HTML-Injection
____________________________________________________________
Ora che sappiamo la differenza tra gli exploit, nei prossimi articoli ci sarà la parte tecnica e pratica, e non solo dal punto di vista dell'uso! Ma anche dal punto di vista della programmazione.
____________________________________________________________
Articolo: You are not allowed to view links.
Register or
Login