Pessoal,
Quem faz SQL INJECTION pelo metodo BLIND ja deve ter ficado horas tentando achar uma tabela com o nome LOGIN ou
ADM ou USUARIOS buscando uma por uma assim:
http://www.site.com.br/pag.php?id=288 and ascii ( (select substr (table_name,1,1 ) from information_schema.tables limit 0,1)>90
E no exemplo acima vc teria que percorrer todas as tabelas do banco retornando caracter por caracter até achar a
tabela que guarda o nome de usuarios.
Ficaria muito mais facil se vc pudesse colocar um (Where table_name like ‘%login%’) no
select né? Mas tem um problema, o site acima nao aceita q vc coloque aspas simples no browser e passe isso como
parametro de consulta. Acho q o site esta usando uma funcao php que que adiciona uma barra invertida antes das aspas
simples, fazendo assim q as aspas simples sejam ignoradas, e consequentemente dando erro na consulta sql.
Intão se vc quiser buscar o nome da tabela mais facilmente vc podera fazer a consuta utilizando o “LIKE” mas
,substituindo a consulta com aspas simples por uma funcao de que busca o caracter ASCII passando como parametro o
codigo decimal dele, como no exemplo abaixo:
table_name like ‘%login%’
é igual a
table_name like concat (char (37 ),char (108 ),char (111 ), char (103 ), char(105), char(110), char (37 ) )
Com isso vc nao precisa digitar aspas simples no browser e assim vc conseguirá buscar o nome que vc quiser no banco
de dados.
o site abaixo converte pra voce a palavra que voce precisar em codigos decimais.
http://jdstiles.com/java/cct.html
Espero ter ajudado.
One Response to Blind SQL Injection