Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - electronik_0

#11
Desarrollo Web / Re: Sacar IP con javascript
18 Abril 2011, 17:17 PM
<html>
<body>
<!-- Copiar dentro del tag BODY -->
<script language="javascript">
var ip = java.net.InetAddress.getLocalHost().getHostAddress();
document.writeln('Tu IP es: "' + ip + '"')
</script>
</body>
</html>
#12
que tipo de maquina virtual se usara para lo bichos :D
#13
la clase phpmailer  te ayuda al envio con un smtp es facil de usar
#14
Gracias, tio tu class esta muy buena :D  :rolleyes: :rolleyes:
#15
PHP / Re: Ide Para PHP
11 Enero 2010, 05:50 AM
netbeans, notepad o gedit :D
#16
busca sobre .htaccess para cambiar el tipo de url en tu web
siempre y cuando dispongas del modulo mod_rewrite
#17
ta muerto :(
#18
Desafíos - Wargames / Re: Acertijo prisión
6 Enero 2010, 04:48 AM
como existen 2 interruptores uno en on y otro en off

creo que lo ideal seria que si un prisiones es interrogado por segunda vez, baje el interruptor de on a off y asi el que sigue veria ambos en off y sabria que ya hubo alguien interrogado mas de 1 vez :xD:
#19
Criptografía / criptografia RSA
29 Diciembre 2009, 20:36 PM
Dejo aqui un manual de criptografia que me ha ayudado mucho :P sobre el tema

MANUAL....

http://master.informatik.googlepages.com/criptografia.rar



El RSA es un sistema de encriptacion muy usado en los sistema informatico :xD: consisten en el cifrado de informacion atravez de llaves publicas y privada.

Para eso existe un canal de comunicacion en donde los 2 usuario sea A y B.

A: genera 2 clave 1 publica y 1 privada.
B: genera 2 clave 1 publica y 1 privada.

La funciones de encriptacion y desenciptacion en RSA funciona de la siguiente manera :D

1.Escoger dos grandes números primos, p y q (secretos), y calcular el numero n (publico) correspondiente a su producto,
                  n = p*q.

2. Se calcula fi: Φ (n)=(p-1)*(q-1)

3. Se calcula un número natural e de manera que MCD(e,fi(n))=1, es decir e debe ser primo relativo de fi(n).
Calcular el entero e (publico) tal que 1=<e<=Φ(n).

4.- Mediante el algoritmo extendido de Euclides se calcula d:
E*d mod fi(n)=1

También puede calcularse con:    d=((Y*fi(n))+1)/e Para todo Y=1,2,3,... hasta encontrar un d entero que satisfaga la ecuacion :D.

5.- El par de números (e,n) son la clave pública.

6.- El par de números (d,n) son la clave privada.


EJEMPLO Explicado...

1. Si alguien quiere mandar un mensaje m a algún usuario, entonces la clave pública n y e del receptor para generar el cifrado C.
                    C = m^e MOD n

           n y e = son las claves publicas :D

2. Entonces el mensaje C puede viajar sin problema por cualquier canal inseguro.

3. Cuando la información cifrada llega a su destino el receptor procede a descifrar el mensaje con la siguiente fórmula.

                        m = C^d MOD n

4. Se puede mostrar que estas formulas son inversas y por lo tanto dan el resultado deseado. m y e son públicos y se pueden considerar como la clave pública, la clave privada es la pareja (p y q) o equivalentemente el número d.


Ejemplo con numeros asi se entiende mas facil :D


Código (cristografia) [Seleccionar]

Ejemplo
1.- p=3 y q=11.  //numeros primos
2.- n = 3 * 11 = 33.
3.- fi(n) = (3-1) * (11-1) = 20.
4.- Buscamos e=3, tal que MCD(e,fi(n))=1
5.- d = ((Y * fi(n)) + 1) / e = ( Y * 20 + 1) / 3 = 21 / 3 = 7
6.- e=3 y n=33 son la clave pública.
7.- d=7 y n=33 son la clave privada.
Cifrado: Mensaje = 5,
C = M^e mod n => 5^3 mod 33 = 26
Descifrado: C = 26
M = C^d mod n = 26^7 mod 33 => 8031810176 mod 33 = 5



Cualquier duda consulten :D

y agradescan igual ¬¬

xD






saludos aqui dejo un codigo en java que cifra y decifra con RSA :D


Aqui dejo un codigo en java para usar RSA :D, permite pasarle como parametro el tamaño de los numeros primero que se generan para cifrar :D

Main.java
Código (java) [Seleccionar]

import java.io.*;
import java.math.BigInteger;

public class Main {

/**
* @param argumentos de la linea de comandos
*/
public static void main(String[] args) throws IOException {
if(args.length != 1) {
System.out.println("Sintaxis: java RSA [tamaño de los primos]");
System.out.println("por ejemplo: java RSA 512");
args = new String[1];
args[0]="1024";
}
int tamPrimo = Integer.parseInt(args[0]);
RSA rsa = new RSA(tamPrimo);

System.out.println("Texto a cifrar: ");
String textoPlano = (new BufferedReader(new InputStreamReader(System.in))).readLine();

BigInteger[] textoCifrado = rsa.cifra(textoPlano);

System.out.println("\nTexto cifrado: [");
for(int i=0; i<textoCifrado.length; i++) {
System.out.print(textoCifrado[i].toString(16).toUpperCase());
if(i != textoCifrado.length-1)
System.out.println("");
}
System.out.println("]\n");

String recuperarTextoPlano = rsa.descifra(textoCifrado);
System.out.println("Texto desencritado: ["+ recuperarTextoPlano +"]");
}

}


RSA.java
Código (java) [Seleccionar]

/*
* RSA.java
*
*
*/
import java.math.BigInteger;
import java.util.*;

/**
*
* @author
*/
public class RSA {

int tamPrimo;
BigInteger n, q, p;
BigInteger totient;
BigInteger e, d;

/** Constructor de la clase RSA */
public RSA(int tamPrimo) {
this.tamPrimo = tamPrimo;
generaPrimos(); //Genera p y q
generaClaves(); //Genera e y d
}

public void generaPrimos()
{
p = new BigInteger(tamPrimo, 10, new Random());
do q = new BigInteger(tamPrimo, 10, new Random());
while(q.compareTo(p)==0);
}

public void generaClaves()
{
// n = p * q
n = p.multiply(q);
// toltient = (p-1)*(q-1)
totient = p.subtract(BigInteger.valueOf(1));
totient = totient.multiply(q.subtract(BigInteger.valueOf(1)));
// Elegimos un e coprimo de y menor que n
do e = new BigInteger(2 * tamPrimo, new Random());
while((e.compareTo(totient) != -1) || (e.gcd(totient).compareTo(BigInteger.valueOf(1)) != 0));
// d = e^1 mod totient
d = e.modInverse(totient);
}

/**
* cifra el texto usando la clave publica
*
* @param   mensaje Ristra que contiene el mensaje a cifrar
* @return   El mensaje cifrado como un vector de BigIntegers
*/
public BigInteger[] cifra(String mensaje)
{
int i;
byte[] temp = new byte[1];
byte[] digitos = mensaje.getBytes();
BigInteger[] bigdigitos = new BigInteger[digitos.length];

for(i=0; i<bigdigitos.length;i++){
temp[0] = digitos[i];
bigdigitos[i] = new BigInteger(temp);
}

BigInteger[] cifrado = new BigInteger[bigdigitos.length];

for(i=0; i<bigdigitos.length; i++)
cifrado[i] = bigdigitos[i].modPow(e,n);

return(cifrado);
}

/**
* descifra el texto cifrado usando la clave privada
*
* @param   cifrado    Array de objetos BigInteger que contiene el texto cifrado que seraoct descifrado
* @return  The decrypted plaintext
*/
public String descifra(BigInteger[] cifrado) {
BigInteger[] descifrado = new BigInteger[cifrado.length];

for(int i=0; i<descifrado.length; i++)
descifrado[i] = cifrado[i].modPow(d,n);

char[] charArray = new char[descifrado.length];

for(int i=0; i<charArray.length; i++)
charArray[i] = (char) (descifrado[i].intValue());

return(new String(charArray));
}

public BigInteger damep() {return(p);}
public BigInteger dameq() {return(q);}
public BigInteger dametotient() {return(totient);}
public BigInteger damen() {return(n);}
public BigInteger damee() {return(e);}
public BigInteger damed() {return(d);}
}


aqui las cap :D




#20
tal vez te refieres al ip spoofing pero esto es a nivel de http no de tcp ip...








ip spoofing http

consiste principalmente en suplantar la ip de nuestra maquina con la cual esta navegando por internet atravez del protocolo http

existe dos tipo de ip spoofing conocidos

1- suplantacion de ip via http
2- siplantacion de ip via tcp/ip

en este caso solo haremos la prueba con la primera
ya que para la segunda es necesario conocer mas de redes de como se comporta el envio de paquetes SYN y ACK con su ISN especifico entre otras cosas


manos a la obra

para demostra que funciona ingresare a un sitio que verifica la ip en cual elegi el siguiente

http://ip.h8red.cl


en esta ocacion para burlar la ip por http usare tambien tamper data

el cual es un complemento de firefox y lo pueden descargar desde aqui

https://addons.mozilla.org/es-ES/firefox/ad...icy/0/966/33806


lo que hacemos es abrir tamper data una vez que ya hicimos el analizis como muestro aqui




hay esta nuestra ip normal con todos los datos

ahora proceso a apretar comenzar modificacion y actualizo la web

http://ip.h8red.cl


nos saldra un cuadro de dialogo que para la carga de la web ante de enviar la cabecera http


le damos click al boton modificar...

y nos saldra el siguiente dialogo




lo que hacemos es apretar el segundo boton en la parte blanca del cuadro izquiero


y seleccionamos añadir nuevo elementro y se despriegara la siguiente ventana de dialogo





X-Forwarded-For <------- este es la "variable" que lleva la ip de nuestro pc al servidor por el protocolo http lo que devemos hacer es ingresar en el cuadro de dialogo lo siguiente...


X-Forwarded-For=ip_spoofing <<--- en donde ip_spoofing es la ip a suplantar por ejemplo yo puse


X-Forwarded-For=1.1.1.1


y aceptamos




no saldra lo siguiente la "variable" y el valor a suplantar se agrego


aceptamos la ventana y nos aparecera la siguiente ventana...

y la pagina cargara por completo pero con la ip spoofing aceptada como muestra la siguiente imagen





eso saludos