Come dici se l'input non è validato, quindi aggiungere quello che ti piace come ID sarebbe banale.
Per quanto riguarda il 'select * from' prima della query principale allora sì, questo potrebbe essere possibile.
Dì ad esempio che hai
http://domain.com?column=foo&id=6
E stavi usando $ _GET ['column'] (supposto PHP qui ma simile per altri linguaggi) per accertare quale colonna hai richiesto quindi tutta la persona dovrebbe fare è adattare l'url ad essere qualcosa di simile:
http://domain.com?column=*%20from%20select%20foo&id=6
Se hai utilizzato quanto segue per creare l'SQL:
$sql = 'select ' . $_GET['column'] . ' from bar where id = ' . $_GET['id'];
SQL equivarrebbe quindi alla seguente stringa:
select * from select foo from bar where id = 6
Ovviamente questo sarebbe un grosso errore da parte del programmatore, ma ho visto molto peggio in passato. Per mitigare questo il programmatore dovrebbe controllare se il nome della colonna è contenuto in una lista bianca. Se è poi grandioso, se non lo è, non onorare la richiesta o restituire la colonna standard.
Per quanto riguarda qualsiasi classe di applicazione che sarebbe suscettibile di un simile attacco. La tua migliore scommessa sarebbe quella di guardare in giro alcuni dei siti di divulgazione delle vulnerabilità. Mi aspetterei comunque che i principali colpevoli fossero pagine di ricerca all'interno delle applicazioni.