IAH Solución de vulnerabilidad del iAH

De ABCDWIKI Español
Saltar a: navegación, buscar

Estas instrucciones están orientadas a mejorar la seguridad del iAH impidiendo que los usuarios ingresen como términos de búsqueda comandos JavaScript que puedan actuar sobre el servidor.

El objeto de esta solución es agregar una funcionalidad de limpieza de strings previo al envío al motor de búsqueda. Para ello se introducen algunas validaciones después de haberse presionado el botón buscar; si los términos suministrados en las casillas de búsqueda superan ls prueba entonces se procede al envío de los datos al motor de búsqueda.

En este paso de validaciones, que altera el flujo normal aunque resulta imperceptible para el usuario normal, se invoca a una función JavaScript con el objetivo de limpiar el string con el que se efectuará la búsqueda. Una vez "limpio", se continúa el flujo normal de la acción, es decir, se continúa con la búsqueda que se hará con el string "limpio".

Para implementar la solución se modificaron los siguientes archivos (todos bajo el directorio /ABCD/www/htdocs/iah/scripts/es)

  • ahform.html
  • ahhead.pft
  • ahbtop.htm

ahform.html

En este archivo se define el formulario de búsqueda. Los cambios realizados son:

  • modificar la tag de HTML con la que se presenta el botón de Search para que, en lugar de enviarse el string al motor de búsqueda se llame a la función javascript que implementa las validaciones; y
  • se agrega un id al tag form, para poder identificarlo desde la función

ahhead.pft

Se define una función JavaScript llamada cleanMainInput que opera usando expresiones regulares para "limpiar" el string de búsqueda. Una vez terminada la limpieza, se envía el string "limpio" al motor de búsqueda"

ahbtop.htm

En este archivo se define el formulario mostrado en la página de resultados cercano al pie de página (abajo de los resultados devueltos por el motor). Se efectúan los mismos cambios realizados ahform.html para lograr un comporte idéntico, es decir, "limpiar" el string de búsqueda antes de que llegue al motor de búsqueda.