Blogroll: 11

[x] Agregar a 84kur10

punker2bot punker2bot
hkm hkm
painboy painboy
refused refused
alverid alverid
zero-bits zero-bits
r0dr1 r0dr1
murder murder
thepase thepase
knet knet
ricota ricota

... Ver todos

Perfil de 84kur10

[x]Nick: 84kur10
Rango: Newbie
País: co
Visitas: 9723
Votos: 24
En Blogrolls: 24
Status: PM

Patrocinadores:


Anuncia aquí

[x] PHP Upload [In]Security by n3t-datagrams.net

Publicado el 01/01/2010 12:01:00 en Hacking Web. Total de votos: 2  Votar

Bueno, me encontre esto,explica como bypassear uploaders y como protegerse. recomendado.

el autor ps a ver, el tutorial hace racopilacion de varios autores, este post se lo vi a Shell Root, pero en el transcurso del tuto se mencionan otras personas que aportaron.



Índice

0.- Breves consideraciones
1.- Aplicación básica
2.- Verificación por Content-Type
2.1 - Bypassing Content-Type
3.- Verificación por getimagesize() ó exif_imagetype()
3.1- Bypassing getimagesize() y exif_imagetype()
4.- Verificación por extensión
5.- Solución



0.- Breves consideraciones:

Cuando utilizamos una aplicación PHP para subir un archivo, se crea un array superglobal que se almacena en la variable global _FILES. Antíguamente se utilizaba HTTP_POST_VARS, que aunque sigue estando disponible, ha ha caído para muchos programadores en el desuso en pro de la anterior. El array que se crea es similar a este:


    

    Array
    (
        [attachment] => Array
            (
                [name] => imagen.jpeg //Nombre del archivo
                [type] => image/jpeg //Tipo de archivo
                [tmp_name] => /tmp //Directorio temporal en el que se almacenará el archivo
                [error] => 0 //tipo de error
                [size] => 1234 //tamaño del archivo
            )
    )

Y es que cuando subimos un archivo a un servidor, primero se almacena en un directorio temporal y posteriormente la aplicación lo mueve al directorio que había previsto el programador para ser almacenado. De todos estos valores, tenemos que tener cuidado con name y type porque son los únicos que tienen como origen el propio usuario ya que los demás son asignados por el servidor. Estos valores son por tanto variables de entrada que deben ser atendidas con especial atención si no queremos que nos cuelen una shell.php.


1.- Aplicación básica:


Vamos a ver una aplicación muy elemental que carece de medidas de seguridad. A partir de ahora, todas estas pruebas las puedes hacer tú en tu servidor local. Tan sólo crea una carpeta llamada "images" en el directorio raíz del servidor y asignale permisos necesarios para el usuario Nobody, que es el ocupado por Apache.

    chmod -R 777


Veréis que utilizo la función is_uploaded_fi le() para verificar si el archivo ha sido subido. La explicación es que es necesario saber si se ha subido el archivo antes de moverlo a su directorio final porque si no se verifica y el archivo ha sido subido, podría engañarse a la aplicación spoofeando el formulario y cambiando el name='button' por name='foo' por ejemplo. Esto no movería el archivo de su directorio temporal a su direc...

Continúa aquí...


Comentarios: 7 | Leer comentarios

[x] De artificios y otros cuentos en Sql inyeccion by _84kur10_

Publicado el 01/01/2010 12:01:00 en Hacking Web. Total de votos: 3  Votar


De artificios y otros cuentos en Sql inyeccion by _84kur10_



0x01 Sql Inyeccion


Primero que nada, pues conocer a que se le denomina inyeccion: es aquel codigo malicioso que es mezclado con una setencia sql normal, con el fin de alterar la intencion  normal de la setencia sql, y lograr un efecto diferente. dicho efecto pues simplemente consultar algun dato especial, o insertar algun dato especial, inyectar un archivo etc.

0x02 Introduccion

Para este articulo voy a suponer que quien lo lea tiene un concepto basico de lo que es inyeccion sql, y que al menos sabe inyectar en una situacion normal. Bueno la idea es contar alguna experiencias creando inyecciones sql, en diferentes contextos, y analizando dichas situaciones para verificar algunas posibles variantes.


Cierto dia, necesitaba entrar a un sitio web, ya que en ese servidor se encontraba una web objetivo, no necesariamente para defacear, simplemente objetivo. Bueno pues haciendo un reverse di con una web que tenia el tipico sql inyeccion, construi la inyeccion
resulto ser algo como :
+union+select+1,user,password,4,5,6,7,8,9,10+from+usuario+limit+5,1


bueno y me tiro un el user y el hash asi
edwinc:13dd3a9725dba7a9


hasta ahi, todo normal, lo malo era que no tenia un crackeador ni el dic a mano para crackear ese tipo de hash, asi que fui al panel del administrador
ensaye un usuario slkdjfljdsf, y el resultado fue decia que el usuario no existia.

bien despues meti el usuario edwinc, y me decia que el pass no era el correcto, por lo cual, era muy probable que la consulta del logueo estubiera en sentencias sql diferentes, intente sin analizar el tipico ' or 1=1 --, pero no funciono, sinembargo me arrojo algunos errores de sql.

entre las cosas que vi en el error, se veia que la consulta que intentaban hacer internamente era:
select password('passdigitado') as cryptado 


osea que posteriormente me supuse que el parametro crytado esta consultado, y comparado posiblemente con lo arrojado en la primera consulta que solo verificaba el usuarios. Como asi? pues bien meti una ' en el login para que me arrojara el error de la primera consulta y efectivamente hacian algo como

select * from usuarios where user ='usuariodigitado'


con lo que mi hipotesis, se volvio mas probable

asi que simplemente lo que debia hacer era colocar en el parametro crytado el valor del hash del usuario que puse en el logueo: asi que el bypass me vino quedando asi

login:
edwinc

password:
aku'),'13dd3a9725dba7a9' as cryptado /*



tambien es importante aclarar el conocer cual comentario es el q realmente funciona para el bypass, para mi es parte fundamental, lo que yo regularmente hago para darme cuenta de esto es, primero meter un ' para verificar que tire er...

Continúa aquí...


Comentarios: 4 | Leer comentarios

[x] Atacando sistemas informacion webs basados en Cookies by _84kur10_

Publicado el 01/01/2010 12:01:00 en Hacking Web. Total de votos: 2  Votar

bueno, las bestialidades... espero me las informen, para que mejore el tutorial.

Atacando sistemas informacion webs basados en Cookies by _84kur10_




0x01 Introduccion
0x02 Que son las cookies
0x03 Arquetectura
0x03 Tecnicas para robo de cookies
0x04 Inyeccion de Cookie (cross domain cookie spoofing)
0x05 Bruetando Cookies con pocos componentes
0x06 Cookie Handling
0x07 Conclusione
0x08 Agradecimientos



0x01 Introduccion

La mayoria de los sistemas de informacion a nivel web, actuales, utilizan metodos de autenticacion basados en sistemas de cookies, sinembargo a veces no nos detemos a pensar que una mala gestion de cookies puede ser motivo para exponer la informacion de nuestro sistemas. Inclusive podria decir que muchos website basan su sistema se seguridad en cookies.

Bueno antes que nada la idea del tutorial es plantear algunos metodos de atacar sistemas de informacion que basen su seguridad en cookies. Asi que empecemos con saber que es una cookie.

0x02 Que son las cookies

Las cookies es a la final un conjunto de datos que permite a un servidor identificar de cierta forma un visitante. E inclusive decidir apartir de esta informacion que se trata de un usuario del sistema, las cookies son almacenadas en nuestro disco duro; en el caso de un sistema web el navegador administra las cookies y garantiza "En teoria ciertas reglas", por ejemplo, un navegador debe garantizar que el dominio al que pertenecen unas cookies es el unico que puede manipularlas como tal. bueno de esto ya hablaremos...
debemos tener encuenta que las cookies tienen varios parametro como lo son:

[ ] Nombre de la cookie
[ ] valor de la cookie
[ ] fecha de expiracion de la cookie
[ ] dominio a la que pertenece
[ ] path donde se encuentra activa la cookie






Ya que vamos a manipular cookies, personalmente uso opera para administrar las cookies manualmente, o simplemente por el navegador.

para crear una cookie pueden colocar en el navegador
javascript:document.cookie ='nombreCookie=valor expires=Thu, 30 Aug 2009 20:47:11 UTC; path=/'



0x03 ArquItectura



Seteo de cookies:


Esta es la idea que dejo planteada, que es sobre la que se basa el tutorial.


0x04 Tecnicas para robo de cookies

Una de las tecnicas mas conocida para el robo de cookies es aprovechar un XSS , que consist...

Continúa aquí...


Comentarios: 4 | Leer comentarios

[x] PLSQL ORACLE MD5 Brute Force (Very Speed) by _84kur10_

Publicado el 24/11/2009 12:11:00 en Hacking Tools. Total de votos: 5  Votar

Aun estoy desarrollandolo, el hecho de hacerlo en plsql Oracle, y de que oracle use tabla hash automaticas en los algoritmos de busqueda y recorrido, hace esta tool pueda llegar a ser veloz en un buen servidor Oracle.

DECLARE ::)
l_hash   VARCHAR2 (2000);


/*
*******************************
* MD5 BRUTE FORCE             *
* c0dex by _84kur10_		  *
* www.ilegalintrusion.net     *
* greetz to:                  *
* M@ndrake Black Team         *
* Safety Last Group           *
* DDLR                        *
* Pandorax Box Team           *
* E-r00t                      *
* hackxcrack                  *
* Remote Execution            *
*******************************
*/
  vaArchivo       utl_file.file_type:='NOMBREDELARCHIVO';
  vaLinea         varchar2(1000);
  vaDir           varchar2(10):='directorio de oracle donde esta el archivo';
  vaMd5  		  varchar2(100):='md5 a crackear';;
  nuCont          NUMBER := 0;
  contDic		  NUMBER := 1;
/*
	Tabla Pl donde se almanecara el archivo cargado
*/
TYPE tyLinea IS TABLE OF VARCHAR2(1000) INDEX BY BINARY_INTEGER;
     linea tyLinea;
BEGIN
 vaArchivo := utl_file.fopen( vaDir, ivaarchivo, 'r');
     dbms_output.put_line('Cargando archivo');
       begin
        linea.delete;
          while (utl_file.is_open (vaArchivo) = true) LOOP
         utl_file.get_line (vaArchivo, vaLinea);
         nuCont  := nuCont + 1;
         linea(nuCont) := vaLinea;
      END LOOP;
     exception 
     when no_data_found then
          utl_file.fclose (vaArchivo);
          dbms_output.put_line('Cierro el archivo');
          
     end;
 EXCEPTION
  When utl_file.INVALID_PATH Then
  dbms_output.put_line('Ubicacion o nombre archivo invalido. '||SQLERRM);
  utl_file.fclose (vaArchivo);
  When utl_file.INVALID_MODE Then
  dbms_output.put_line('Modo invalido '||SQLERRM);
  utl_file.fclose (vaArchivo);
  When utl_file.INVALID_OPERATION Then
  dbms_output.put_line('Operacion invalida abriendo archivo '||SQLERRM);
  utl_file.fclose (vaArchivo);
  WHEN no_data_found THEN
   utl_file.fclose (vaArchivo);
  When Others Then
  utl_file.fclose (vaArchivo);
   FOR contDic ...


Continúa aquí...


Comentarios: 3 | Leer comentarios

[x] Cookie Stealing en SMF by _84kur10_

Publicado el 24/11/2009 12:11:00 en Hacking Web. Total de votos: 2  Votar

es para una version antigua del smf, pero es bueno tenerlo en cuenta...

Cookie Stealing en SMF by _84kur10_



Bueno para este tuto es necesario que conozcan la teoria basica sobre los xss, y sobre cookies.

definicion:http://es.wikipedia.org/wiki/Cross_Site_Scripting
XSS

XSS, del inglés Cross-site scripting es un tipo de inseguridad informática o agujero de seguridad basado en la explotación de vulnerabilidades del sistema de validación de HTML incrustado.

que permitiera ejecutar código de "scripting", como VBScript o JavaScript, en el contexto de otro dominio.

Recientemente se acostumbra a llamar a los ataques de XSS "HTML Injection", sin embargo el término correcto es XSS. Estos errores se pueden encontrar en cualquier aplicación HTML, no se limita a sitios web, ya que puede haber aplicaciones locales vulnerables a XSS, o incluso el navegador web en sí. El problema está en que normalmente no se validan correctamente los datos de entrada que son usados en cierta aplicación. Esta vulnerabilidad puede estar presente de forma directa (también llamada persistente) o indirecta (también llamada reflejada). Cada una se trata de forma diferente.
Directa (Persistente): este tipo de XSS es el que normalmente es censurado; así que es muy poco común que puedas usar tags como <script> o <iframe>
Indirecta (Reflejada): esta es un tipo de vulnerabilidad muy común. Consiste en modificar valores que la aplicación web utiliza para pasar variables entre dos páginas, sin usar sesiones y sucede cuando hay un mensaje o una ruta en la URL del navegador o en una cookie.

Cookie
Una cookie (pronunciado ['ku.ki]; literalmente galleta) es un fragmento de información que se almacena en el disco duro del visitante de una página web a través de su navegador, a petición del servidor de la página. Esta información puede ser luego recuperada por el servidor en posteriores visitas. En ocasiones también se le llama "huella".

fuente:http://es.wikipedia.org/wiki/Cookie

Mini explicacion por mi

Teniendo en cuenta como primera medida de que las cookies son alojadas en los clientes, y administradas por nuestros navegadores, las cookies son las encargadas en la mayoria de los casos de conservar nuestra identidad, frente a determinado autenticacion, es decir que una vez logueados nos son asignadas unas cookies, con las cuales el sistema mantendra nuestra seccion activa., esto a grandes rasgos.


partiendo de ahi, cabe suponer que si nos logramos hacer con las cookies de otro user, pod...

Continúa aquí...


Comentarios: 2 | Leer comentarios