Así que estoy probando una aplicación web. Al enviar ciertos datos, los envía en una solicitud POST
que contiene los datos en un objeto JSON. Así que mientras lo hacía estaba probando el manejo incorrecto de la codificación. Efectivamente, al enviar un carácter Unicode en el formato \u2030
, recibo una respuesta del servidor quejándose de los datos falsos.
Sin embargo, cuando me dice lo que le envié en lugar de tener el carácter por millar ‰
, que es lo que \u2030
es, obtengo este objeto JSON que contiene tres caracteres separados para el carácter Unicode que ingresé:
{"success": false, "errorcode": 1,
"errormessage": "Section 'init' or action 'ȃ0' is invalid"}
La parte ȃ0' is invalid
es la parte de interés. Tengo curiosidad por saber si esto puede o no revelar un riesgo potencial de seguridad en la forma de un desbordamiento de búfer porque uno de los 3 bytes que comprende el carácter Unicode podría interpretarse como un byte nulo y luego tener más datos después de eso que sobrescribirán otros memoria.
Cualquier información, consejo, etc. sería genial. Gracias.
EDITAR: Se me acaba de ocurrir que Burp, que estoy usando para interceptar la respuesta, puede estar mostrando incorrectamente el carácter Unicode cuando el servidor responde. ¿Es este un error conocido?