Entradas etiquetadas con xss
Informe Flu – 57
5 feb
Holas a todos, os dejamos con el resumen de la semana:
Lunes 30 de Enero
- El lunes finalizamos el quinto reto de flu project, centrado en la temática de la intrusión, ¿lo habéis finalizado? Solución al #FPR5: ¡Jackmi Amijo!
Martes 31 de Enero
- El martes tocó el turno de que German nos trajese otro de sus juguetes, en este caso para solventar una vulnerabilidad de XSS en UniGuiFramework. No os lo podéis perder: De fiesta con UniGUI Framework
Miércoles 1 de Febrero
- El miércoles volvimos con las viñetas de Flu Project, tras muchos meses sin publicar ninguna, volvemos con una divertida viñeta sobre hackers y el trabajo 1kea: Las viñetas de Flu Project – 6
Jueves 2 de Febrero
- El jueves Marc nos hablaba sobre SSL y la seguridad de su configuración en el post: SSLYZE comprueba la configuración de tu SSL.
Viernes 3 de Febrero
- Kari_243 regresa con el artículo Inyección SQL, a pesar del tiempo aún sigue vigente, donde repasa los tipos de inyecciones básicos con numerosos ejemplos prácticos.
Sábado 4 de Febrero
- Ayer os trajimos tres nuevas pantallas públicas en Pantalla Pública IV. Pocos errores se escapan a vuestras cámaras }:-)
De fiesta con UniGUI Framework
31 ene
Esta que vengo a contar, es una de esas historias que me llenan de ganas de publicar, junto al pequeño hilo que se escapa de felicidad, después de lograr algo que nos parece interesante, no cuanto menos de mostrar. Para deleite de programadores en Delphi tirando a ser muy curiosos, va más bien encaminada la entrada. Esta vez tocaremos un poco de todo, seguridad web, desde Cross Site Scripting hasta Full Path Disclosure, pasando por edición de binarios en hexadecimal, acortadores URL y un par de softwares de regalo en mi querido Visual Basic 6 y ensamblador.Hasta hace bien poco, un nuevo concepto de desarrollo web se cruzó por mi camino, gracias a un compañero de trabajo, era el llamado UniGUI Framework. Destinado en exclusiva, para dar opción a desarrolladores que trabajan con Delphi, de poder diseñar proyectos destinados a aplicaciones web. El Framework entre otras funciones de publicación, trae la de exportar el proyecto a librerías DLL para su integración en ISS o Apache mediante Mod ISAPI.
¿Y como no? ¡Tenía que reventarlo!
Así que cargando mis jeringuillas de sustancias psicotrópicas, me topé con un Cross Site Scripting, en el control de errores que trae de forma interna la aplicación y aunque no vean el típico mensaje de alert, observen bien la imagen, pues podemos llamarle Blind-XSS.
Cualquier URL agregada de forma externa por un atacante, o interna por el propio programador en el código de la librería, se adjunta a la ruta actual y prescinde del protocolo, en el cual se realizan las peticiones. ¿Por qué ocurre esto? ¡Muy simple! La librería se encarga de filtrar los slashes modificándolos por barras invertidas. Esto quiere decir que el Cross Site Scripting existe y es explotable, pero su margen de acción, se ve reducido para ataques externos, a no ser que logremos bypassearlo.Detrás de “Access denied”, encontramos ese Full Path Disclosure tan llamativo, que muestra la letra de la unidad y el tipo de servidor que utilizo ¡Genial más datos para realizar un ataque!
Después de hacer pruebas con diferentes navegadores y ver su eficiencia
, lo que más asombro me causó, es lo que os muestro en la siguiente captura.
¡Google Chrome se lleva la palma! Así que él solito, fuerza la petición y muestra el enlace corregido. Por si alguno no se había dado cuenta, el servidor de Bit.ly trabaja con un certificado firmado por una autoridad certificadora, con lo que podremos explotar la vulnerabilidad mediante protocolo seguro, pudiendo así, visitar cualquier página sin restricciones. Podremos incluir un IFRAME sin ningún tipo de problema, gracias al Bypass de Google Chrome y el certificado de Bit.ly, para no sé… ¿visitar enelpc?
O echarle imaginación, y tirar de onMouseOver para jugar en Firefox a ser hackers malos.
Pero nosotros somos buenos ¿verdad? Y queremos corregir vulnerabilidades a toda costa, así que como ya reporté con anterioridad el fallo al foro de UniGUI y no me hicieron ni p*** caso, decidí armarme de valor y buscar entre las strings en hexadecimal del binario, para ver de que forma podría contrarrestar el dichoso ataque.

Ya que dependiendo de la versión de UniGUI y del proyecto, la ubicación del valor vulnerable puede cambiar, me armé una opción más simple programada en ensamblador y compilada con MASM. Gracias a un código similar de diablo2oo2, que modifica ambos Offsets y corrige la vulnerabilidad para todas sus versiones, buscando una cadena exclusiva de este tipo de binarios, logré modificarlo.
.png)
















