Ho due domande.
Nota che ho una comprensione molto basilare di come funziona BOF, ma non conosco il meccanismo esatto o qualcosa di diverso da quello che sa un normale utente di computer.
La mia comprensione di BOF è che per ogni programma c'è un secchio che può contenere ricordi. Ad esempio, diciamo che c'è un input A, e può contenere 16 lettere.
E se metti 16 A in là e poi metti un comando dopo come: A = AAAAAAAAAAAAAAAAsso poweroff e il computer dovrebbe spegnersi se viene trovato vulnerabile. (o qualcosa di simile, non cercare di andare troppo in profondità dato che non capisco)
Tuttavia, non sai quanto può contenere il secchio. Dovresti essere in grado di conoscere la dimensione del bucket se hai visto il codice sorgente, ma se intendi attaccare un server remoto sconosciuto, non dovresti sapere nulla a riguardo, o anche nulla su quali programmi il server usa.
Come scopri come dovresti BOF senza conoscere il codice sorgente o alcuna conoscenza del server?
E un'altra domanda. Come trovi gli input e gli input da inviare ai PC remoti? Ho sentito parlare di famosi worm come sasser o conficker, e apparentemente invia qualche tipo di codice ad altri PC, ma i normali PC non dovrebbero avere nessun server in esecuzione. Se eseguono server, potrebbero esserci alcuni input che possono essere vulnerabili a BOF, ma come fa il normale PC a prendere i codici maliziosi da online e ottenere pwned?
Voglio solo capire come funzionano le cose.