Dove posso trovare una dimostrazione di un buffer overflow?


1

Esiste un sito o esiste un modo semplice per crearne uno, che dimostra cosa può accadere con un sovraccarico del buffer? Questo è nel contesto di un'app Web.

(L'ho già chiesto, a proposito, su ServerFault, nel caso in cui pensi che sarebbe meglio chiedere lì)


Cosa c'è esattamente da dimostrare? Come si blocca il tuo browser quando visiti una pagina web?
Sasha Chedygov,

Le persone su ServerFault hanno migrato la domanda su StackOverflow. Ci ho ottenuto alcune buone risposte: stackoverflow.com/questions/2871913/...
bugmagnet

Risposte:


2

Gli overflow del buffer di stack e heap sono essenzialmente causati dalla scrittura di molti dati in un'area di memoria troppo piccola per contenere tutti i dati, causando la scrittura dei dati oltre l'entità dell'allocazione e la cancellazione di qualsiasi cosa si trovi dopo di essa logicamente memoria. Nel caso di un overflow dello stack, questo potrebbe essere un indirizzo di ritorno per la funzione e nel caso di un overflow dell'heap questo può includere puntatori di funzione virtuale da altri oggetti C ++ sull'heap. In entrambi i casi, un utente malintenzionato può essere in grado di utilizzare la vulnerabilità per assumere il controllo del processo quando ritorna la funzione sovrascritta o viene utilizzato l'oggetto heap sovrascritto.

Le applicazioni Web scritte in PHP, C #, VB, VB.NET, ASP.NET, Ruby-on-rails, javascript e JSP sul lato server sono applicazioni gestite e non sono accettabili per vulnerabilità di corruzione della memoria come overflow del buffer dello stack o overflow del buffer dell'heap causato da un codice dell'applicazione Web errato. Gli overflow del buffer tendono a essere la riserva delle applicazioni C / C ++, sebbene siano sensibili anche altri linguaggi "nativi" meno comuni come Dephi e Fortran.

Se sei uno sviluppatore web, la classe più importante di vulnerabilità che devi esaminare sono iniezioni di SQL e problemi causati da scritture di file / eval / nel codice del server non appropriate che potrebbero consentire una stringa o un file passato da un l'utente verrà eventualmente trattato come codice sul server. Sfortunatamente per gli sviluppatori web, questi tipi di attacchi tendono ad essere molto più efficaci e sono molto più facili da eseguire rispetto agli attacchi buffer-overflow sul codice nativo, e di conseguenza l'impatto della non piena comprensione della sicurezza in quanto sviluppatore web può essere molto più doloroso di non capire la sicurezza come sviluppatore nativo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.