Ir al contenido principal

Entradas

Mostrando entradas de agosto, 2015

¿Dónde se instalan las aplicaciones en Windows 10?

Si necesitas saber donde se instalan las aplicaciones en Windows 10, tan solo debes dirigirte al siguiente directorio/carpeta y ahí las encontrarás:


C:\Program Files\windowsapps ó


C:\Archivos de Programa\windowsapps


Recuerda que al igual que en Windows 8 (como ya comenté aquí), esta carpeta está protegida y necesitarás los permisos adecuados para poder acceder a ella.



RAII (Resource Adquisition is Initialization)

Todo programador de C/C++ sabe que un handicap extra a la hora de diseñar software e implementarlo correctamente, es la gestión de recursos/memoria. En este lenguajete de programación es bien conocido el trabajo de punteros y reservas/liberación de memoria y los riesgos que ello conlleva si no se realiza correctamente. Encontrarse con problemas de "fugas de memoria", "saturación de recursos", "buffer overflows", UaF, además de propiciar el mal funcionamiento del software o su comportamiento no controlado, pueden dar pie a graves problemas de seguridad.
Con esta idea en mente, un buen día Bjarse Stroustrup, inventor del lenguaje de programación C++, ideó una técnica de programación conocida como RAII (Resource Adquisition Is Initialization). Traducido al español, significaría algo así como que la adquisición de recursos es inicialización. La idea general consiste en dejar que sea el propio destructor del objeto el que se encargue de liberar los recursos q…

Android Stagefright Exploit / POC (III)

En la anterior entrada del blog comentaba que podíamos seguir principalmente dos vectores de búsqueda a la hora de localizar código vulnerable en el caso que nos ocupa (Android Stagefright).
Pues bien, en esta nueva entrada me voy a centrar en el vector de búsqueda por código fuente. Dado que tenemos acceso al código fuente, la manera más sencilla de localizar alguna vulnerabilidad, sin lugar a dudas será esta.
Son muchos los tipos de vulnerabilidades que puede tener un software y, una de ellas bien conocida y documentada son los "Integer Overflows" y los "Integer Underflows".
Parece bastante lógico pensar, que dada la complejidad del código de un sistema operativo (Android en este caso), no será difícil que algún programador cometa determinados tipos de errores y los desbordamientos de números, enteros en este caso, no son una excepción.
Como sabemos a día de hoy, desde la versión Android 2.2 hasta Android 5.1.1.r4 se han encontrado diversos fallos relacionados c…