È una vittoria per un utente malintenzionato, se il buffer è più recente del malloc'd sull'heap?

1

Se chiamo malloc e poi overflow il buffer che ho creato, scrivo quindi alla memoria inutilizzata. C'è qualche impatto sulla sicurezza dal fatto che io sia in grado di farlo? Penso che dovresti chiamare malloc due volte, quindi sovrascrivere il primo buffer che hai assegnato. In questo modo puoi sovrascrivere i metadati di gestione dell'heap nel secondo buffer o altri dati nel secondo buffer.

EDIT: Supponiamo che io possa solo overflow di un kilobyte e questo è su Debian Wheezy. L'heap e lo stack sono molto distanti.

    
posta returneax 24.07.2017 - 19:24
fonte

1 risposta

1

Una vittoria per un attaccante è un termine un po 'vago.

A seconda di altre misure di salvaguardia, è possibile riempire la memoria e sovraccaricare la pila. Oppure è possibile inizializzare la memoria che potrebbe essere utilizzata in seguito con determinati valori. Oppure puoi semplicemente rendere qualsiasi voce in questo punto troppo grande e far fallire un altro codice che si basa sulle sue dimensioni.

Solitamente lo sfruttamento si basa su un'attenta combinazione di molte cose e le persone trovano modi molto creativi per utilizzare anche gli errori più innocui.

Sono stati sfruttati anche gli overflow di un singolo byte.

È una vittoria? Dipende dalle circostanze È un problema? Sicuramente.

    
risposta data 24.07.2017 - 19:57
fonte

Leggi altre domande sui tag