esta vulneravel ao SQLi.Alguns retornos, dependendo do desenvolvedor (e os mais comuns) sao com erros de retornos do Mysql onde, provavelmente, o desenvolvedor utilizou um TRY CATCH com EXCEMPTION do MYSQL. Outro conceito para esta tecnica e o Blind SQLi que em outro hora veremos.O mais temido de todos esta logo abaixo, no item 3.2.3.2. IDENTIFICANDO VULNERABILIDADE EM CREDENCIAISInsira as linhas de codigo na index.php:Inserimos um formulario onde o action e enviado para a mesma pagina. Se o $_Post do envio existir, faremos uma busca pelo usuario e senha no banco de dados. Caso encontrado, retornara boas vindas. Caso nao, sera enviado um erro.Para voce visualizar o campo pwd (senha), basta inserir o type como text.Note que no banco de dados inserimos uma flag do tipo varchar (string) com 255 caracteres. Ou seja, e um campo de texto, o armazenamento e por string pois as senhas podem conter diversos caracteres.Nas entradas dos valores por parametro or 1=1 pode variar de inteiro para string.Neste contexto, considere a possibilidade o nome de algum usuario (por padrao) seja admin (como acontece na maioria das vezes) insira os campos " or "1"="1 em senha e veja o que vai acontecer:Sim, voce estara logado como administrador.Mesmo se nao soubermos o nome de algum usuario, faca o teste:Vamos visualizar por niveis, para voce entender melhor.Adicione o campo level na tabela user. Adicione outro usuario e de leveis diferentes a eles: Na classe cDBO, acrescente o metodo de busca por campo. O anterior retorna um array, por isso trabalharmos com print_r e var_dump. Agora vc ira retornar apenas um campo, este caso o level da credencial que estara logando no sistema.Agora, adicione o level na index.php.:Agora teste os usuarios e visualize o level:Agora teste com o parametro " or "1"="1. E agora? Voce entendeu o conteudo? Consegue explicar agora o que esta acontecendo?A consulta SQL e trabalhada de tal forma que tanto o nome de usuario quanto a senha nao sao validados.Note que conseguimos entrar no sistema sem ser necessario entrar (diretamente) com o usuario cadastrado 9admin ou usuario), mas utilizamos um conceito (digamos boleano) o qual foi possivel obter a entrada no sistema no sistema.Outras possibilidades, sem a necessidade de entrar em conceito sao as opcoes default, como admin admin vc ja esta no sistema. O que geralmente acontece, AINDA, em muitos deles.Em outros ataques, como o brutal force, por exemplo, as credenciais iniciais do dicionario de palavras sempre correspondem a default como admin admin, admin root, root toor, etc. Sao senhas padroes que por boas praticas em seguranca, incluindo controles que podem ser implementados nas desenvolvedoras, devem ser trocadas. Como exemplo muito comum, e a senha default dos roteadores. Basta uma pesquisa no fabricante para obter a senha padrao de login no radio. E muitos deles os usuarios nao mudam.Vamos testar com o campo senha criptografado.Entre neste site http://www.agenciamestre.com/ferramentas-seo/md5/ e escolha root como senha para ser criptografada. Obs: Existem outras criptografias alem do md5. Ha artigos que dizem que e possivel obter uma assinatura em md5 de um arquivo. Alterar este arquivo e gerar a mesma assinatura.