Buenas a todos, tengo una duda sobre la codificacion y decodificacion que sufren los datos enviados desde un formulario web hasta un servidor sql. Si yo tengo 4 digamos sujetos (perdon a los que saben por mi metafora):
Sujeto A: navegador (mozilla, etc)
Sujeto B: apache (http server)
Sujeto C: interprete de PHP
Sujeto D: mysql (sql server)
Cuando A le da submit a un formulario sucede que:
(A) --datos post o get--> (B)
(B) --datos $_POST o $_GET---> (C)
(C) --datos Query---> (D)
Mi duda central es, que codificacion tienen los datos que Recibe cada sujeto (ASCII, URL, HEX, BASE64, etc,etc)
Saludos
Pues depende, hay inyecciones que tiene que ser enviadas con base64 hay otras normales que es en texto plano.
Creo que se codifican en unescape, por ej: -1+union+all+select+1--
-1%20union%20all%20select%201--
Hay algunos ASCII por ej: SELECT CONCAT(CHAR(75),CHAR(76),CHAR(77))
Hal otros HEX por ej: SELECT 0x457578
En la etapa:
(A) --datos post o get--> (B)
Estuve sniffeando, y a (B) le llegan los datos codificados en "url" (hola' a todos = hola%27%20a%20todos).
Ahora solo me faltan las otras 2 etapas.
Pues asi los interpreta, no se a que quieres llegar.
Es para comprender como es el tipo de codificacion por default que usan en cada etapa (obviamente que sin encriptacion). estuve esnifando y en la etapa
(C) --datos Query---> (D) = a D le llegan en ASCII puro.
Ya llevo 2 de 3, y falta uno.