larga escala atravÉs de falhas de ...confraria0day.com.br/wp-content/uploads/2016/09/c0d_12...sql...

Post on 16-Jul-2020

12 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

IDENTIFICANDO VULNERABILIDADES EM LARGA ESCALA ATRAVÉS DE FALHAS DE

DESENVOLVIMENTO

Quem sou eu:Desenvolvedor PHP?-Sim

Entusiasta da área de segurança? -Sim

Então trabalha com segurança? -Não, se trabalhar é ganhar dinheiro, resposta é não.

Evangelizador PHP? -É alguém que ajuda a comunidade de alguma forma, seja divulgando ou repassando conhecimento ou de alguma outra forma.

Padrão

“qualquer objeto que serve de modelo para a elaboração de outro”

google

Parte 1

Estudo de uma falha

Estudo de uma falha de segurança● Estudo de falha● Identificar o padrão● Forçar o erro● Trabalhar injeção● Eliminar falsos positivos● Validar retorno

Padrão

Padrão

Padrão

Padrão

Padrão / Desenvolvimento X Vulnerabilidade

XSSCross-Site Scripting (XSS) attacks are a type of injection, in which malicious

scripts are injected into otherwise benign and trusted web sites.

Padrão / Desenvolvimento X Vulnerabilidade

XSS

Padrão / Desenvolvimento X Vulnerabilidade

XSSPadrão => Texto na requisição GET/POST se repete no corpo do texto.

Forçar Erro => Alterar parâmetro GET/POST.

Trabalhar injeção => Alterar tags html e verificar se existe filtros na impressão.

Eliminar falso positivo => Checar se esta realmente esta visível.

Validar retorno => se as tags foram realmente impressas com o texto.

Padrão / Desenvolvimento X Vulnerabilidade

Sql InjectionAttack consists of insertion or "injection" of a SQL query via the input data from the

client to the application.

Padrão / Desenvolvimento X Vulnerabilidade

Sql Injection

Padrão / Desenvolvimento X Vulnerabilidade

Sql InjectionPadrão => É utilizado número ou texto no GET/POST para retorno de informação.

Forçar erro => Inserindo aspas.

Trabalhar injeção => Inserção das aspas.

Eliminar falso positivo => Validar se erro já existe antes das aspas inseridas.

Padrão / Desenvolvimento X Vulnerabilidade

Sql InjectionValidar retorno => Se tiver error de query devido a entrada de parâmetro. Já era! Exemplo:

Warning: mysql_

PostgreSql Error:

Microsoft OLE DB Provider for Oracle

Padrão / Desenvolvimento X Vulnerabilidade

Local File Download / Path Traversal

A path traversal attack (also known as directory traversal) aims to access files and directories that are stored outside the web root folder.

Padrão / Desenvolvimento X Vulnerabilidade

Local File Download / Path Traversal

Padrão / Desenvolvimento X Vulnerabilidade

Local File Download / Path TraversalPadrão => É utilizado caminho do arquivo no GET/POST para escolha de arquivo para download.

Forçar Erro => Alterando parâmetro GET/POST, referente ao arquivo.

Trabalhar injeção => Navegar pelas pastas encontrando arquivos utilizando ../ procurando pelo arquivo de origem ou index. Exemplo:

site.com.br/index.php?file=../../index.php

Padrão / Desenvolvimento X Vulnerabilidade

Local File Download / Path TraversalEliminar falso positivo => Caso venha arquivo vazio ou arquivo de erro.

Validar retorno => Verificar no retorno se aquele é realmente um arquivo de sistema. O arquivo deve iniciar com:

<? / <?php / <% / <%@

Padrão / Desenvolvimento X Vulnerabilidade

Local File Inclusion

The File Inclusion vulnerability allows an attacker to include a file, usually exploiting a "dynamic file inclusion" mechanisms implemented in the target

application.

Padrão / Desenvolvimento X Vulnerabilidade

Local File Inclusion

Padrão / Desenvolvimento X Vulnerabilidade

Local File InclusionPadrão => É utilizado caminho do arquivo no GET/POST para escolha de arquivo para leitura.

Forçar Erro => Alterando parâmetro GET/POST.

Trabalhar injeção => Navegar pelas pastas encontrando arquivos utilizando ../

site.com.br/index.php?page=../../etc/passwd

Eliminar falso positivo => Caso venha arquivo vazio.

Padrão / Desenvolvimento X Vulnerabilidade

Local File InclusionValida retorno => Verificar no retorno se aquele é realmente um arquivo de sistema. Ira mostrar linhas padrões para sistemas linux como etc/passwd.

Parte 2

Localizando alvos

Localizando alvos● Utilização de buscadores

○ Quais?■ Google■ Bing■ Yandex■ DukeDukeGo■ Yahoo■ Outros

○ Problemas■ Sensibilidade a automação■ Paginação■ Diversificação de tecnologia

Localizando alvos● Identificações de padrões das vulnerabilidades

○ Via url○ Estrutura○ Via Conteúdo da página

■ Título■ Formulários■ Corpo

○ Via extensão○ Outros

Localizando alvos● Utilização de dorks baseadas em na identificação dos padrões

○ Exploitdb○ 0day.today

● Extração dos dados.● Gerenciar requisições.● Eliminação falsos positivos.

Padrão de dorksXSS site:com.ar inurl:index.php?titulo=

Padrão de dorksSQL INJECTION site:com.ar inurl:index.asp?id=

Padrão de dorksLOCAL FILE DOWNLOAD site:com.ar inurl:descarga.php?file=

Padrão de dorksLOCAL FILE INCLUSION site:com.ar inurl:index.php?pagina=

FAIL

Extração de dadosPHP Avenger - php avenger sh --dork=”index.php?titulo” --check=”xss”

Baseado no script o inrul do Cleiton Pinheiro

ResultadosXSS

ResultadosSql Injection

ResultadosLocal File Download / Path Traversal

ResultadosLocal File Inclusion

EM BREVE...

Bibliotecas

Bibliotecas

Bibliotecas

Fim / Contatohttps://github.com/aszone/

https://github.com/lenonleite/

https://packagist.org/packages/aszone/

http://lenonleite.com.br

http://php.lenonleite.com.br/

http://www.aszone.com.br/

@lenonleite

top related