Tempo fa, dopo un contest mirato alle Sql injection, ci siamo imbattuti in un piccolo trucco per eseguire ricerca binaria sfruttando una vulnerabilità di tipo “Blind Sql Injection“. Cercando sul web, non ci è sembrato di vedere nulla di simile, quindi abbiamo deciso di fare un piccolo paper di introduzione e uno script in PHP per far vedere come risulterà più veloce eseguire un attacco di questo tipo. La tecnica che andremo ad utilizzare, come da titolo, sfrutterà le funzionalità delle Regular Expression.
Hash Found.
Hash: 5f4dcc3b5aa765d61d8327deb882cf99
Number of request: 183
Number of request with bruteforce ( 0-9 a-f ): 320
Questo che vedete qua sopra, è l’output finale del codice PHP, una volta che ha trovato l’hash. Si può notare subito che le richieste fatte, sono nettamente inferiori ( 183 a 320 ) rispetto ad un attacco di forza bruta.
Ovviamente le critiche sono accettate, e qualsiasi tipo di errore è presente nel documento, siamo ben lieti di correggerlo.
Paper: https://www.ihteam.net/papers/blind-sqli-regexp-attack.pdf
PHP code: https://www.ihteam.net/papers/regexp_bsqli.php.tar.gz
10 replies on “Blind Sql Injection with Regular Expressions”
Bravi ragazzi mi ha super ispirato questo articolo 😀
Grazie clshack
Complimenti, davvero molto interessante 😀
Felice di aver fatto qualcosa di utile
ottima intuizione usare la ricerca binaria e le regex, si abbatte il tempo di esecuzione di un bel pò !
keep it up ! 🙂
Si… e di parecchio anche! 😉
also published here last year:
https://websec.wordpress.com/2010/05/07/exploiting-hard-filtered-sql-injections-2-conditional-errors/
http://websec.wordpress.com/2010/03/19/exploiting-hard-filtered-sql-injections/
Hi Reiners!
Thank you for posting this. However we never saw your past posts.
We’re happy to share with someone else your articles that are very helpful.
Carina la tecnica, ho scoperto qualcosa di nuovo 😀
Ho il vago sospetto che la maggior parte dei tools per sql injection blind siano obsoleti… Forse daro’ un occhiatina a quello che abbiamo in BackTrack al momento.
Magari si potrebbe anche inviare una patch per abilitare il supporto alle regexp di qualche tool. Dalla mia esperienza di solito gli sviluppatori ne sono contenti e magari citano l’articolo 🙂
Comunque ciao, alla prossima 😉
Grazie mille Cross, sempre gentilissimo! A presto!