martes, 26 de julio de 2011

¡Logo para el blog!

Saludos,

Pues sí, por fin tenemos un logotipo. ¡Todo gracias a 5475UK1!:

5 0verl0ad Labs: julio 2011 Saludos, Pues sí, por fin tenemos un logotipo. ¡Todo gracias a 5475UK1!:

sábado, 23 de julio de 2011

HTML5: Nuevos vectores XSS (Bypass)

Saludos,

Estoy hechando un vistazo a esta web para documentarme sobre HTML5 cuando me he topado con algunas cuestiones bastante interesantes puesto que pueden llegar a ser útiles para el bypass de algunos filtros contra XSS.

Al navegar por la mencionada web me he encontrado con los nuevos elementos "<video>" y "<audio>, cuyo funcionamiento es similar al clásico <image> (con un atributo SRC que es donde se encuentra el video/audio a reproducir). Dudo mucho que actualmente se filtren dichos elementos en los mensajes, por lo que se puede recurrir al mismo truco que se hacía con image: colocar como src del video algo inexistente y después usar el evento onerror para ejecutar nuestro XSS. Algo así:


<video src=. onerror=alert(/XSSed/)>
<audio src=. onerror=alert(/XSSed/)>



Por otra parte también me ha llamado la atención un nuevo atributo para input llamado autofocus (http://www.html5tutorial.info/html5-autofocus.php) que permitiría la ejecución de código javascript sin necesidad de la interacción con el usuario (mejor que onclick y onmouseover). El código sería algo tipo:


<input name="XSS" onfocus=alert(/XSSed/) autofocus>
5 0verl0ad Labs: julio 2011 Saludos, Estoy hechando un vistazo a esta web para documentarme sobre HTML5 cuando me he topado con algunas cuestiones bastante interesa...

jueves, 21 de julio de 2011

HPC: HTTP Parameter Contamination

Saludos,

Estos días ha estado rulando por la red un pequeño paper (firmado por RSnake, j0rgan y lightos) llamado "HTTP Parameter Contamination", en el que exponen sus investigaciones sobre la intoxicación de los parámetros enviados al servidor (peticiones GET, POST...). La semilla de todo esto fue otra presentación en 2009 que trataba también de malformar los parámetros enviados, en este caso haciendo que, por ejemplo, se enviasen dos variables con el mismo nombre pero distinto valor ( /index.php?var1=A&var1=B ). Al tratarse de algo inesperado los servidores manejan esta situación de distintas formas (algunos dejan la variable con el primer valor asignado, otras con el segundo, o las concatenaban).


Este primer paper ( que linkearé al final de este post) llamaba a la técnica de setear una misma variable dos veces "HPP, HTTP Parameter Polluting", y de ella se podían extraer dos posibles vertientes de trabajo. Por un lado implícitamente el hecho de que en cada servidor ante esta técnica la respuesta era diferente implica su posible utilización para realizar fingerprinting. Por el otro lado también habría una nueva puerta para el bypass de WAFs (por ejemplo, en el caso en el que se producía concatenación se podría aprovechar ésta para realizar inyecciones SQL).


La "nueva" técnica (HPC) intoxica los parámetros malformando las variables (y sus valores asignados) con caracteres reservados, provocando igualmente respuestas /in/esperadas por parte del servidor. Nuevamente estas respuestas han sido recogidas en una tabla, permitiendo la identificación de un servidor a través del tipo de respuesta que obtengamos al malformar la petición (dicho cuadro, junto con el obtenido al aplicar HPP aparecen en los respectivos papers que están más abajo). Además al igual que el anterior caso también permite el bypass de WAFs.


[1] HTTP Parameter Pollution

[2] HTTP Parameter Contamination
5 0verl0ad Labs: julio 2011 Saludos, Estos días ha estado rulando por la red un pequeño paper (firmado por RSnake, j0rgan y lightos) llamado "HTTP Parameter Co...

martes, 19 de julio de 2011

Localizar panel de control

Saludos,

Hago esta pequeña guía rápida porque ya son bastantes personas las que preguntan como encontrar el panel de administración (imagino que la mayoría de estas personas simplemente a lanzar alguna tool para encontrar SQLi sin preocuparse por nada más).


Para encontrar la zona de login normalmente basta con sólo navegar por el sitio web y estar atentos. Cuando ya has auditado algunas webs sabes más o menos por donde van los tiros, y puedes deducir de forma habitualmente exacta, donde se encuentra el panel de administración. La experiencia adquirida es un grado en esto.


1) Aplicaciones pre-fabricadas

Por otra parte cuando una web utiliza aplicaciones pre-fabricadas no suelen variar las rutas de sus archivos, por lo que si es este el caso podeis instalaros dicha aplicación y comprobar donde se encuentran los archivos que buscais, o si no podeis leer la documentación oficial.

2) Robots.txt

Es bastante común que los webmaster incluyan en el archivo robots.txt las rutas y los archivos que no quieren que queden indexados por los motores de búsqueda, por lo que se pueden encontrar allí a veces información sensible sobre donde buscar, o incluso la propia ruta del login del admin.



3) Fuerza bruta

Si de ninguna forma se consigue localizar también se puede recurrir a la fuerza bruta, utilizando aplicaciones muy sencillas que lancen cientos de peticiones GET a directorios y archivos que nosotros tenemos guardados en un diccionario. Las ventajas de esto es que si tenemos un buen diccionario seguro que damos en el clavo, pero esta ventaja es contrarrestada por los aspectos negativos que tiene esta técnica: mucho ruido. Cuando el webmaster analice los logs se va a dar cuenta de una ingente cantidad de errores 404 procedentes de una misma IP en un lapso de tiempo muy corto, por lo que es fácil de detectar.


4) Web Crawlers

Se trata de herramientas que guardan todos los links de un sitio web y continúan navegando a través de ellos, añadiendo a la lista los nuevos links encontrados en la URL que han seguido. De esta forma se puede establecer un mapa de la web de todos los archivos linkeados. Codear una herramienta de este estilo es sencillo (por lo menos en perl simplemente necesitamos WWW::Mechanize y un algortimo de un par de líneas), por lo que puede ser útil si nosotros no hemos encontrado algún link que lleve a la zona de login a simple vista.


Por otra parte también tiene sus inconvenientes, el más lógico es que puede que el panel de administración no esté linkeado en ninguna parte de la web, además de que si la web es de gran tamaño va a ser un intento inútil, puesto que vamos a obtener gran cantidad de resultados y vamos a consumir una gran cantidad de recursos.




Si quereis añadir alguna forma más que soleis usar para este cometido posteadla.
5 0verl0ad Labs: julio 2011 Saludos, Hago esta pequeña guía rápida porque ya son bastantes personas las que preguntan como encontrar el panel de administración (ima...
< >