OWASP Floripa - Web Spiders: Automação para Web Hacking by Antonio Costa aka Cooler_
-
Upload
magno-logan -
Category
Technology
-
view
65 -
download
12
description
Transcript of OWASP Floripa - Web Spiders: Automação para Web Hacking by Antonio Costa aka Cooler_
Web Spiders Automação
para web Hacking
Coolers-lab $ whoami
• Quem sou ?• Antonio Costa “Cooler_”
• Experiência de 4 anos com desenvolvimento de sistemas web e web spiders em geral,soluções para problemas em unix...
• Desenvolvedor e pesquisador
• Faço parte do grupo de pesquisa BugSec
• Fundador da E-zine Cogumelo Binario
• Programador em ASM,C,C++,Common Lisp,Perl,PHP...
• Trabalho atualmente na CONVISO
https://github.com/CoolerVoid/
Http://www.bugsec.com.br
@Cooler_freenode
• O que é um Web Spider ?• Casos de uso
• Minerando dados
• APIs para ajudar no desenvolvimento
• Trabalhando com formulários e cookies
• Spoofing de user agent
• Autenticação,captcha e OAUTH
• Passando certificados com SSL
• Uso de proxys
• Automação no web browser (imacros,selenium...)
• Scanners,fuzzers e GPS Hacks...
Agenda
• Trabalha nos protocolos HTTP e HTTPs
• Bots, web spiders, Web robot,crawler...
O que é um Web Spider ?
• E agora como fazer abstração do conteúdo ?
O que é um Web Spider ?
• Exemplo em
linguagem C
usando sockets
simples
• arquivo ex1.c
• Leia
rfc2616
O que é um Web Spider ?
• ./ex1
O que é um Web Spider ?
• E o Servidor HTTP ?
• O que ele recebe ?
• Como é o seu funcionamento ?
O que é um Web Spider ?
• Exemplo foi feito
em linguagem C
• Arquivo ex2.c
O que é um Web Spider ?
• O que é um Web Spider ?
• Casos de uso• Minerando dados
• APIs para ajudar no desenvolvimento
• Trabalhando com formulários e cookies
• Spoofing de user agent
• Autenticação,captcha e OAUTH
• Passando certificados com SSL
• Uso de proxys
• Automação no web browser (imacros,selenium...)
• Scanners,fuzzers e GPS Hacks...
Agenda
• Casos de uso
• Onde podemos ver web spiders,crawlers ?
Casos de uso
• Plugins para uso do twitter e facebook
• Sistemas de controle de RSS
• Sistemas de geo localização
• Na sua TV moderna
• No android e no iOS
• Contabilidade
• Sistemas de pagamento digital em gateways de pagamento...
• Spiders,crawlers são usados no mundo todo
Casos de uso
• Muitos...
Casos de uso
• Em ferramentas...
Casos de uso
• O que é um Web Spider ?
• Casos de uso
• Minerando dados
• APIs para ajudar no desenvolvimento
• Trabalhando com formulários e cookies
• Spoofing de user agent
• Autenticação,captcha e OAUTH
• Passando certificados com SSL
• Uso de proxys
• Automação no web browser (imacros,selenium...)
• Scanners,fuzzers e GPS Hacks...
Agenda
• Parsers !!!
• <p>rand(x)</p>
• /<p>(.*?)<\/p>/
• split(),strtok(),strcmp...
• Comparar letra por letra, ou em cadeias...
• re2c,flex+bison,pcre,posix regex,sed...
• Assembly !? o.O
Minerando dados
Minerando dados
• Exemplo:
Minando dados
• Seu spider tem permissões para minar os dados ?
• Restringir o “robots.txt” pode ser bom e ruim !
Minerando dados
• O que é um Web Spider ?
• Casos de uso
• Minerando dados
• APIs para ajudar no desenvolvimento• Trabalhando com formulários e cookies
• Spoofing de user agent
• Autenticação,captcha e OAUTH
• Passando certificados com SSL
• Uso de proxys
• Automação no web browser (imacros,selenium...)
• Scanners,fuzzers e GPS Hacks...
Agenda
•
APIs para ajudar no desenvolvimento
•
APIs para ajudar no desenvolvimento
• Tem muitas APIs para ajudar no trabalho pesado
• Perl por exemplo podemos usar LWP,WWW::Mechanize...
• Python,Java,PHP,Chicken Scheme Lisp,C++... todas tem alguma API para fazer seus web spiders
• Não precisa criar a roda com sockets!
• Ajudam a manipular COOKIES,POST,GET...
APIs para ajudar no desenvolvimento
• O que é um Web Spider ?
• Casos de uso
• Minerando dados
• APIs para ajudar no desenvolvimento
• Trabalhando com formulários e cookies• Spoofing de user agent
• Autenticação,captcha e OAUTH
• Passando certificados com SSL
• Uso de proxys
• Automação no web browser (imacros,selenium...)
• Scanners,fuzzers e GPS Hacks...
Agenda
• Sempre que temos input no protocolo HTTP temos como os mais populares métodos POST,GET,COOKIE.
• Em RestFul temos outros como Delete,Put...
• Outras entradas também “User Agent”
• Outras informações bem como IP...
Trabalhando com formulários e cookies
• Achando um formulário e analisando o código fonte
Trabalhando com formulários e cookies
• Usando plugin do Firefox “Web Developer”
Trabalhando com formulários e cookies
Trabalhando com formulários e cookies
• O que é um Web Spider ?
• Casos de uso
• Minerando dados
• APIs para ajudar no desenvolvimento
• Trabalhando com formulários e cookies
• Spoofing de user agent• Autenticação,captcha e OAUTH
• Passando certificados com SSL
• Uso de proxys
• Automação no web browser (imacros,selenium...)
• Scanners,fuzzers e GPS Hacks...
Agenda
• Como usar um User Agent ?
• curl_setopt (curl, CURLOPT_USERAGENT, "Mozilla/5.0 NetBSD 4.1");
• Evitar que seu Spider fique na black list
• Talvez deixando aleatório a partir de um array de User Agent, diminuindo ainda mais o risco.
• Ver outras formas do alvo, como por exemplo
analisar a source para versão android ou iOS
Spoofing de User Agent
• O que é um Web Spider ?
• Casos de uso
• Minerando dados
• APIs para ajudar no desenvolvimento
• Trabalhando com formulários e cookies
• Spoofing de user agent
• Autenticação,captcha e OAUTH• Passando certificados com SSL
• Uso de proxys
• Automação no web browser (imacros,selenium...)
• Scanners,fuzzers e GPS Hacks...
Agenda
• Autenticação POST ou GET, malabarismos com COOKIE bem como armazenar em um arquivo e recuperar na hora pedida...
• Brute Force ? Sim, por que não ?
• Uma lista de senha , um cookie jar e tempo para deixar rolar... exemplo duas ferramentas...
• Wp-brute = brute force para wordpress
• Fairy = brute force para auth http
Autenticação,captcha e OAUTH
•
Autenticação,captcha e OAUTH
•
Autenticação,captcha e OAUTH
•
Autenticação,captcha e OAUTH
• HTTP AUTH , o mais fácil de brutar :-)
Autenticação,captcha e OAUTH
• Green Fairy – Programa para brute force de HTTP
• https://github.com/CoolerVoid/Fairy
• Fácil para entender
• Código simples
• Usa libCurl
Autenticação,captcha e OAUTH
•
Autenticação,captcha e OAUTH
• Captcha o que é ?
• Como quebrar um captcha ?
Autenticação,captcha e OAUTH
• OAUTH o que é ?
• APIs
• Tokens
• libCurl
Autenticação,captcha e OAUTH
• O que é um Web Spider ?
• Casos de uso
• Minerando dados
• APIs para ajudar no desenvolvimento
• Trabalhando com formulários e cookies
• Spoofing de user agent
• Autenticação,captcha e OAUTH
• Passando certificados com SSL• Uso de proxys
• Automação no web browser (imacros,selenium...)
• Scanners,fuzzers e GPS Hacks...
Agenda