Duda standard xD

Iniciado por Debci, 14 Noviembre 2009, 16:02 PM

0 Miembros y 1 Visitante están viendo este tema.

Debci

Hola amigos, me gustaria preguntarles que método usan para localizar XSS y SQLi en paginas web, yo personalmente uso scanners, pero no creo que sea la mejor manera.
Como lo hacen uds.?

Saludos

braulio--


fede_cp

exactamente, probando yo tambien.

es lo mejor que podes hacer  :)

saludos!
somos lo que hacemos para cambiar lo que somos

http://elhackerblog.blogspot.com el blog de elhacker.net!!

Castg!

probando, pero no siempre en un mismo link de la pagina, sino en distintos. ej: www.victima.com/ver_noticia.php?id_noticia=0+order+by+1, despues, www.victima.com/ver_noticia.php?id_noticia=0+order+by+10000000

o sino

www.victima.com/ver_actividad.php?sección=0+order+by+1

puede que sea distinto, en una puede andar pero en la otra tal vez no, si queres entrar a una pagina te conviene revisarla por completo. y si entras no borres nada, que te quede claro lo que es hackin, llegar a otro extremo, superarse a uno mismo german!

Debci

Tengo clara la diferencia entre un Hacker y un Cracker.

Saludos

Castg!

pensa que al foro entra mucha gentey lo leen todos, de vos me queda seguro que sabes el término de hacker, pero talvez otros se creen hackers por hacer un bucle infinito en batch, eso no es hacking si un buen comienzo.

WHK

#6
Si es un sistema prefabricado lo primero que hago es descargarme el código fuente e instalarlo en local y despues comienzo a testear.

Yo no veo el codigo fuente al instante sino que comienzo a probar cosas primero y si no va funcionando bien entonces voy comprobando con el codigo fuente y comienzo a debugear.

En el caso de que no sea un sistema publico entonces no queda otra que testear asi nomas.

Yo no uso scanners, antes si los usaba porque no sabia mucho del tema pero los escaneadores muchas veces dan falsos positivos y nunca encuentran todo.

Por ejemplo si el sistema tiene blind inyeccion sql entonces no lo va a encontrar o si tiene una inyección por lo menos un poco fabricada entonces tampoco, por ejemplo el escaneador siempre prueba con comillas y espacios diciendo and 1=1 o or 1=1 etc pero en el caso de que la inyección esté entre parentesis entonces no lo va a encontrar )) and 1=(1
Lo mismo pasa con las xss, si este afecta solamente a una sección que no ves entonces no lo va a encontrar, si hay csrf entonces el escaneador puede que no lo localize.

Un escaneador con suerte te puede encontrar el 15% de las vulnerabilidades aproximadas de un sistema WEB.

Por ejemplo si la web tiene index.php?sección=contacto entonces si no tienes el codigo fuente puedes suponer que se hace haciendo una query a la base de datos, seleccionando una variable del mismo php o si no haciendo un include y eso se puede deducir porque uno ya sabe como programar ese tipo de cosas y por eso siempre digo que para aprender de vulnerabilidades WEBs primero tienes que saber programar en ese lenguaje, entonces pruebas index.php?sección=contacto' or 1='2 y si no resulta pruebas con index.php?sección=contacto' or 1='1 y si tampoco funciona ahi puedes deducir que puede estar utilizando otra forma aunque puede que tenga una inyeccion mas avanzada pero lo dejas para despues y pruebas index.php?sección=index y si ves que te aparece la portada duplicada es porque es LFI, entonces ya sabes que hace un include terminado en .php asi que lo explotas con un null bite index.php?sección=../../../../../../etc/passwd%00 y si funciona entonces despues te pones a buscar de cabeza como poder subir un archivo cualquiera y muchas veces te encuentras con que puedes subir imagenes, le inyectas una shell a la imagen y lo incluyes y ya tienes acceso al servidor.

Despues ves si tiene un panel de adm,in en sitio.com/admin adm robots.txt etc y en lasgunas ocasiones te toparas con varios fallos que te permiten entrar.

Despues vas buscando en algunas variables del sitio, ves el codigo fuente de la web desde firefox y ves si hay alguna variable sospechosa que contenga solo numeros o un archivo con extension, etc y vas testeandolos.

Por ejemplo en una web me toco ver que hacias un index.php?sec=api&tipo=funcionx entonces te mostraba un código en ‭‬javascript que era incluido desde ajax y que contenia la funcion funcionx entonces lo reemplazas y le pones funcionx({}))}alert(documen.cookie) y ves que se ejecuta pero lanza un header de texto plano asi que buscas en el sistema de alguna forma en que pueda llamar a esa función con tu xss inyectado y listo.

Solo es cosa de tener imaginación y saber el lenguaje sobre el que estas auditando. y nunca te apoyes en un scanner porque asi uno nunca aprende y despues vienen al foro diciendo... "el SSS me dijo que x web tiene xss en una variable, que hago ahora?" y ese es el problema.

Actualmente hay una vulnerabilidad en SMF que ningún escaneador pudiera haberlo encontrado y otros mas donde solo puedes ejecutarlos si tienes sesion activa y tebndrias que darle la cookie al escaneador y aun asi faltarian  muchas cosas.

Frikipedia tenía inyeccion sql en el referer y no lo encontré con un escanner.

Hay que tener paciencia, gustarte lo que haces y saber programar por lo menos en html, ‭‬javascript y como secundario puedes aprender el lenguaje que se ejecuta en el servidor que puede ser php, aspx, etc. porque si ves algo que funciona de una forma y no tienes acceso a ver el codigo fuente real puedes deducir como se puede hacer esa función y ves sus posibles puntos debiles y si el programador es precabido se habrá dado cuenta y lo solucionó con algunas lineas extras de código que no puedes ver y eso es lo que vas testeando cosa por cosa.

Yo aprendí bastante de fallas que ni si quiera habia leido en internet tan solo haciendo mis propios sistemas CMS, no es facil pero la gracia es que vas aprendiendo... derrepende dices.... "aah y si alguien hace esto y esto? de seguro va a entrar" y despues te das cuenta que hay sitios webs que funcionan de la misma forma que tu sistema y vas a probar y si funcionan :P

Yo utilizo el netcat, firefox con los complementos de live headers, ncookies edit, noscript, firebug y un editor de texto que en win es el block de notas y en linux el gedit, nada mas y si se pone dificil uso google.

fede_cp

realmente genial tu explicacion WHK.

cada dia aprendemos mas de vos.


saludos!
somos lo que hacemos para cambiar lo que somos

http://elhackerblog.blogspot.com el blog de elhacker.net!!

Castg!

#8
fede_cpchupamedia mir whk, con fede estubimos alla muy lejos!! hace mucho, con un proyecto no, una web con sqli y teniamos todas las ganas, todas las putas ganas de entrarle. en la base de datos, nada, nbingun dato interesante, revisamos y revisamos y nada. probando descubri que tenia un admin/index.php el cual logicamente pedia un login. y nos uedamos ahi nunca mas pudimos pasar de ese login, pensamos en load_file() pero no prestamos atencion. ahora si le quiero prestar atencion xD!!!

me paso a explicar, estmos consultando la base de datos (sqlinjectando) en www.pagina.com/esp/ver_noticia.php?id=...........

ahora queremos cargar el archivo: www.pagina.com/admin/index.php

como seria ese directorio? hay que pasarlo a hex? seria ../admin/index.php? un saludo grande


respecto a tu firma ,.-~*´¨¯¨`*·~-.¸..::| D3Bć1 |::.,.-~*´¨¯¨`*·~-.¸ un hacker no se molestaria en cifrar esa estupides!

fede_cp

el problema principal de esa web, era que en la base de datos, no habia ningun dato que se refiriera al admin.

el sistema de logeo era el tipico de http. nada de logeo "armado", sino el tipico

la pregunta seria, como seria posible, si la BD no nos brinda la info, sacarle info

saludos!
somos lo que hacemos para cambiar lo que somos

http://elhackerblog.blogspot.com el blog de elhacker.net!!