Un mio amico ha creato un'applicazione web che sto testando per divertimento. Ho notato che consente a un utente di impostare il limite di una determinata query e tale limite non è sterilizzato.
Ad esempio, posso scegliere come limite qualsiasi numero o stringa che mi piace. Mi rendo conto che questa è Iniezione SQL , e posso facilmente inserire comandi SQL, ma è davvero possibile estrarre qualsiasi dato o fai qualche danno con un LIMIT
?
Esempio della query:
SELECT * FROM messages WHERE unread = 1 LIMIT **USER INPUT HERE**
Capisco che se l'iniezione fosse nella clausola WHERE
avrei potuto facilmente fare un UNION SELECT
per estrarre qualsiasi informazione, ma è davvero possibile se l'input dell'utente fosse dopo il limite?
Per ulteriori informazioni, il mio amico utilizza il MySQL DBMS, quindi non è possibile eseguire due query come :
SELECT * FROM messages WHERE unread = 1 LIMIT 10;DROP TABLE messages--
Non è possibile.