El otro día, jugando un rato con Xen me encontré con el problema de querer redimenzionar el tamaño de disco virtual de las máquinas virtuales y, cabezeandome un rato, lo logré.
En teoría, aumentar el tamaño de un disco es fácil, creamos un fichero del tamaño que queramos usando dd y luego concatenamos con el que ya tenemos, creamos el sistema de ficheros y listo. Pero el disminuirlo me pareció más complejo, pero no fue así.
Página 38 de 51
Hay veces que los programas (especialmente FF) ocupan mucha memoria y la memoria cacheada aumenta hasta quedarnos sin memoria (o con menos de lo que deberíamos tener), esta memoria se puede liberar para que quede utilizable nuevamente, basta con que le tiremos un echo al fichero /proc/sys/vm/drop_caches con los valores 1, 2 o 3 para liberar el pagecache, inodos y dentries, o los tres, respectivamente.
Esta funcionalidad fue implementada en la version 2.6.16 del kernel de linux.
¿Qué es el pagecache, inodos y dentries?
Los ficheros y directorios se representan, en la memoria, como inodos, de esta misma forma, los dentries corresponden a la representación de la información del path, directorios, etc.
Pueden leer una definición de pagecache más completa en: https://en.wikipedia.org/wiki/Pagecache.
Ejemplo:
echo -n 1 > /proc/sys/vm/drop_caches; # Libera el pagecache
echo -n 2 > /proc/sys/vm/drop_caches; # Liberamos inodos y dentries
echo -n 3 > /proc/sys/vm/drop_caches; # Libera pagecache, inodos y dentries.
Pueden ejecutar el comando free -m para ver la memoria antes y despues de liberar el caché.
Más que enseñar a explotar esta vulnerabilidad para provocar un ataque de denegación de servicio, lo que busco es que los desarrolladores sepan la magnitud que puede tener una falla de este tipo (hay que encontrarle el lado white a las cosa :). Un ataque de denegación de servicio (DoS), como su nombre lo dice y en palabras simples, consiste en denegar un servicio para que éste deje de responder y se caiga. Este tipo de ataque se puede realizar de forma distribuida para que tenga mejor efecto, es decir, sincronizando y distribuyendo la carga y el ataque en distintas máquinas con el mismo objetivo.
(Imágen: https://nsl.cs.columbia.edu)
Una vulnerabilidad LFI o Directory Transversal puede comprometer todo un servidor, no solo la cuenta del sitio que tiene la vulnerabilidad. Estas vulnerabilidades ocurren cuando se parsea una variable y el contenido de ésta es incluido o leído directamente, ya sea usando una función “include”, “fread”, “file”, etc.
Son vulnerabilidades muy comunes y comprometen a todo el servidor, si un atacante con las capacidades necesarias puede obtener acceso al servidor hatsa ganar root.
Les voy a mostrar cómo hacerlo y el impacto que puede llegar a tener.
El sitio elegido es el de la “Ilustre Municipalidad de Castro”, sitio hecho en ASP puaj.
Antes de publicar todo esto, me di el trabajo de comunicarlo a los encagrados del sitio web sin obtener respuesta, por lo que asumo que no les interesa la seguridad y asi como yo, cualquier persona podría hacerle algo al sitio web o al servidor, asi que me di la libertad de tomar este sitio como ejemplo didactico.
Los sitios vulnerables de esta semana correspnden a 5, lo inaceptable es que 3 de ellos pertenecen a la Universidad San Sebastián. Esta semana semana expondré sitios con vulnerabilidades de SQL Injection, XSS y Path Disclosure, los sitios afectados son:
- rmm.cl
- eduvic.cl
- cronica.cl
- uss.cl (www.uss.cl y enred.uss.cl)
Cómo dice en el título, algo completamente useless, le mostraré un tip de cómo aumentar las vistas de tus imágenes (o de otros) subidas a TwitPic (un servicio de hosting de imágenes sincronziado con twitter [un sistema de microbloggin’]).
Aunque está falla no implica ningún riesgo de seguridad, yo lo considero un bug y se los reporté a los encargados de TwitPic, pero no lo han solucionado ni me han respuesto el correo.
Este bug lo podemos comprobar al hacer varias veces F5 (recargar la página) y vemos como las visitas aumentan.
El comando para aprovecharse de este bug:
while /bin/true; do wget -O /dev/null -o /dev/null; done
© 2024 El rincón de Zerial
Tema por Anders Norén — Subir ↑
Comentarios recientes