Bug de seguridad en mi API xml


#1

Hola gente.

En uno de los pet-proyects en los que ando he intentado construir todo
un poco académicamente rollo RESTfull (o casi full :slight_smile: ) y tal.

Pero lo más importante es que he intentado soportar en todas las
acciones de controlador en formato .xml… para qué?.. pues no sé…
pero ahí que lo he dejado… sin testear ni nada, por si acaso.

Resulta que el otro día me levanté inquieto por la mañana con el
pensamiento de que las si se hacía una petición a una acción con el
formato .xml la respuesta que le iba a llegar al cliente no me iba a
gustar nada… pero luego se me pasaba y me olvidaba.

Bueno pues la acabo de hacer, acabo de hacer la petición con el
formato .xml y confirmando mis miedos, la respuesta no me ha gustado
nada.

http://127.0.0.1:3000/people/101-administrator.xml

En la respuesta están todos los datos del usuario 101… todos hasta la
password, aunque está cifrada… y el email!!.. y si hacemos:

http://127.0.0.1:3000/people.xml

Entonces es cuando casi me desmayo…

Alguien podría descargarse toda la base de datos de mi aplicación a
base de peticiones .xml o usando ActiveResource…

Antes de liarme en mi blog con un post alarmista sin solución alguna
quisiera comentar esto con vostros y que me digáis que se supone que
se debe hacer en estos casos:

¿Eliminar por completo el soporte .xml?
¿Crear vistas .xml para sólo devolver los atributos públicos?
¿Hay alguna manera de decirle al modelo o al controlador qué atributos
quieres que aparezcan en el formato .xml?

Comentarios… sugerencias… todos bienvenidos

Saludos
f.


#2

Hombre, yo no lo llamaría bug, pero sí que es peligrosete sí, y más de
uno se ha llevado un susto, y no voy a dar nombres :smiley:

Lo puedes personalizar al gusto:

http://ryandaigle.com/articles/2007/4/13/what-s-new-in-edge-rails-a-more-flexible-to_xml
http://afreshcup.com/2008/11/05/customizing-to_xml-and-to_json-in-rails/

2009/2/4 Fernando G. removed_email_address@domain.invalid:


#3

Hola Fernando

puedes sobre escribir el to_xml en cada objeto con los campos que
quieres que muestre,
yo lo tuve que hacer en un proyecto, para modificar “la forma” en la
que se traducían los
datos para su consumo.

otra opción como comentas es la de la vista.

Saludos.


#4

El día 4 de febrero de 2009 22:33, Fernando B. removed_email_address@domain.invalid
escribió:> Hombre, yo no lo llamaría bug, pero sí que es peligrosete sí, y más de

uno se ha llevado un susto, y no voy a dar nombres :smiley:

Lo puedes personalizar al gusto:

http://ryandaigle.com/articles/2007/4/13/what-s-new-in-edge-rails-a-more-flexible-to_xml
http://afreshcup.com/2008/11/05/customizing-to_xml-and-to_json-in-rails/

Gracias Blat… muy buenos los links… era precisamente lo que me
esperaba

f.


#5

2009/2/4 Pablo Formoso E. removed_email_address@domain.invalid:

Hola Fernando

puedes sobre escribir el to_xml en cada objeto con los campos que quieres
que muestre,

Gracias Pablo… sipi… ya lo he visto en los links de Blat.

otra opción como comentas es la de la vista.

Uff… o lo de la vista no me apetecía nada… mola mucho más lo del .to_xml

Saludos
f.