Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

mysqli_real_escape_string NO SELECT

Olá pessoal, como vimos durante o curso, o professor nos indicou a gravar no banco de dados mysql utilizando a função do php mysqli_real_escape_string().

Esta função ajuda no SQL injection, mas como vimos no curso de OWASP, não evita ataques XSS, etc ( nem vou entrar nestes detalhes, pois não é o objetivo deste curso aqui ).

A questão é: utilizar mysqli_real_escape_string() para 'filtrar' também as buscas no select ? Se tenho uma página de login com post e uso esta função, através do software SQLMAP ( também visto no curso de owasp ) podemos observar que ele consegue fazer uma série de injeções no banco e retornar os valores.

Alguém possui alguma outra forma segura e que não seja através de Prepared Statements? Obs: estou usando linguagem de php estrutural.

2 respostas
solução!

Diego, me diz: Por que procurar solução alternativa ao Prepared Statments? Note que o prepared statments já funciona como um conjunto de filtros que funcionam e resolvem bem o problema.

Outra solução diferente dessa seria utilizar um conjunto de funções a fim de espacar e transformar conjuntos de caracteres, sendo isso um trabalho de alta complexidade de se fazer.

Pois é, eu estava só testando algumas outras opções para forçar o inject local aqui e ver se funcionava..

mas blza, vou tocar com o prepared statement msm. Abraço