View
12
Download
0
Category
Preview:
Citation preview
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”
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
Recommended