Com base em uma discussão sobre PaulDotCom sobre a criação de listas de palavras personalizada por spidering um site metas e coleta palavras únicas, decidi escrever CeWL, o gerador de lista personalizada de palavras. CeWL é um app ruby que aranhas um determinado url a uma profundidade especificado, opcionalmente, seguindo os links externos, e retorna uma lista de palavras que podem ser usadas para crackers de senhas, como John the Ripper .
CeWL também tem um aplicativo de linha de comando associado, FAB (arquivos já ensacado), que usa as mesmas técnicas de extração de dados de meta para criar listas de autor / criador, já baixou.
Change Log
Versão 5.1
Adicionado a licença GPL-3 + para permitir a inclusão no Debian.
Adicionado um Gemfile para fazer a instalação de pedras preciosas mais fácil.
Versão 5.0
Adiciona suporte a proxy a partir da linha de comando e a capacidade de passar credenciais para tanto básica e autenticação Digest. O uso é simples, veja a ajuda ( help ) para mais informações.
Algumas outras correções de bugs menores também.
Versão 4.3
CeWL agora classifica as palavras encontradas pela contagem e, opcionalmente, (novo argumento --count) inclui a contagem de palavras na saída. Eu deixei as palavras, no caso eles estão nas páginas de forma "Produto" é diferente de "produto" Eu acho que, se ele está sendo usado para geração de senha, em seguida, o caso pode ser significativo assim que deixe o usuário tira-lo se quiserem a. Há também mais improvments para a estabilidade da aranha nesta versão.
Por padrão, CeWL gruda apenas o site que você tenha especificado e vai para uma profundidade de 2 links, este comportamento pode ser alterado passando argumentos. Tenha cuidado se definindo uma grande profundidade e permitir que ele vá offsite, você pode acabar à deriva em um monte de outros domínios. Todas as palavras de três personagens e mais são a saída para stdout. Este comprimento pode ser aumentado e as palavras podem ser gravados em um arquivo em vez de tela para que o aplicativo pode ser automatizado.
Versão 4.2
A versão 4.2 corrige um bug muito importante que eu encontrei enquanto corrigir um bug menor parayorikv. O bug foi relacionado a um hack eu tive que colocar no lugar por causa de um problema que eu estava tendo com a aranha, enquanto eu estava olhando para ele avistei esta linha, que é o que a aranha usa para encontrar novos links em páginas de download :web_page.scan (/ href = "(*).?" / i) .flatten.map fazer | ligação |
Isso é bom se todos os links parecido com este:<a ligação href="test.php"> </a>
Mas se o link parece com qualquer um destes:<a ligação href='test.php'> </a> <a ligação href=test.php> </a>
o regex falhará assim as ligações serão ignorados.
Para corrigir isso até que eu tive que substituir a função que analisa a página para encontrar todos os links, ao invés de usar um regex que eu mudei-lo para usar Nokogiri que é projetado para analisar uma página à procura de ligações em vez de apenas correndo por -lo com um regex personalizado. Isso traz uma nova dependência, mas acho que vale a pena para a correção para a funcionalidade. Eu também encontrei um outro bug onde um link como este:<a href='#name'> </a> locais
que deve ser ignorado, pois apenas links para um nome interno estava sendo traduzido para 'nome / # ", que pode significar involuntariamente referenciando a página de índice. Eu consertei um presente também depois de um monte de depuração para encontrar a melhor forma de fazê-lo.
A adição final é permitir que um usuário especificar uma profundidade de 0 que permite CeWL à aranha uma única página.
Eu só estou colocando isso como um ponto de libertação, como eu gostaria de reescrever a spidering usar uma aranha melhor, que vai sair como o próximo grande lançamento.
Versão 4.1
Versão 4.1 é principalmente correções de bugs, mas uma mudança importante característica é a adição de dois novos parâmetros, meta_file e email_file. Anteriormente você especificou o nome do arquivo para o email e saída de metadados campos como opcionais para o e-mail e parâmetros meta, mas eu achei que se você usou os parâmetros em uma ordem específica, você pode acabar com isso:./cewl.rb --email http://www.digininja.org
Isso levaria a URL como o nome do arquivo de saída para o parâmetro de e-mail que não é o que se entende, portanto, remover o nome do arquivo opcional a partir do parâmetro de e-mail e adicionando o parâmetro email_file vez.
A principal mudança na versão 4 é a atualização para executar com Ruby 1.9.x, este foi testado em vários tipos de máquinas e em BT5 como que é uma plataforma popular para executá-lo e parece correr bem. Outra pequena mudança é que até a versão 4 todas as tags HTML foram retirados antes que a página foi analisado por palavras, isso significava que o texto em alt e title marcas foram perdidas. Agora eu pegar o texto de essas tags HTML antes de descascar a dar a esses poucos trabalhos extras.
Versão 3.0
Versão 3 do CeWL aborda um problema descoberto por Josh Wright. A gema Aranha não manipula JavaScript URLs de redirecionamento, para exmaple uma página de índice contendo apenas o seguinte:<Script language = "JavaScript"> self.location.href = 'Http://www.FOO.com/FOO/connect/FOONet/Top+Navigator/Home'; </ Script>
não foi spidered porque o redirecionamento não foi levantado. Eu agora digitalizar através de uma página à procura de todas as linhas que contêm "location.href =" e, em seguida, adicionar o URL fornecido à lista de páginas a aranha.
Versão 2.0
A versão 2 do CeWL também pode criar duas novas listas, uma lista de endereços de e-mail encontrados em links mailto e uma lista de nomes de autor / criador coletados de meta dados encontrados em documentos sobre o site.Pode actualmente documentos do processo no escritório pre 2007, Office 2007 e PDF. Estes dados de utilizador pode, então, ser utilizado para criar a lista de nomes de utilizador para ser utilizado em associação com a lista de senha.
Pronúncia
Vendo como eu estava perguntou, CeWL é pronunciado "cool".
Instalação
CeWL precisa do pacote rubygems para ser instalado juntamente com os seguintes jóias:
nokogiri
mime-types
mini_exiftool
rubyzip
aranha
Estes podem ser instalados executandobundle install
do diretório cewl. A gema mini_exiftool também requer a aplicação exiftool a ser instalado.
Em BT5 há um problema com a versão do Ruby instalado por padrão. Para contornar esta situação que eu encontrei os seguintes funciona bem em um novo BT5 instalar:source gem -c gem install --user-install http_configuration aranha mini_exiftool zip mime-types
Para usar as jóias também pode ser necessário para definir a seguinte variável de ambiente:RUBYOPT = "rubygems"
Depois é só salvar CeWL para um diretório e torná-lo executável.
Uso
cewl [opção] ... URL--help, -hMostrar ajuda--depth x, -dxA profundidade de aranha para, padrão 2--min_word_length, -mO comprimento mínimo palavra, este retira todas as palavras sob o comprimento especificado, o padrão 3--offsite, -oPor padrão, a aranha só vai visitar o local especificado. Com esta opção, ele também vai visitar sites externos--write arquivo, -wFaça o ouput para o arquivo em vez de stdout--ua, -u user-agentAlterar o agente de usuário-vDetalhado, mostra debug e produção extra--no-palavras, -nNão saída a lista de palavras--meta, arquivo -aIncluir meta dados, arquivo de saída opcional--email, arquivo -eInclua o endereço de e-mail, arquivo de saída opcionalarquivo --meta_fileMatrícula para a saída de metadadosarquivo --email_fileNome do arquivo para saída de e-mail---meta-temp dir diretórioO diretório usado usado por exiftool ao analisar ficheiros, o padrão é / tmp--count, -c:Mostrar a contagem, para cada uma das palavras encontradas--auth_typeDigest ou básica--auth_userNome de usuário Authentication--auth_passSenha de autenticação--proxy_hostHospedeiro Proxy--proxy_portPorta Proxy, padrão 8080--proxy_usernameNome de usuário para proxy, se necessário--proxy_passwordSenha para proxy, se necessário--verbose, -vVerbosoURLO site de aranha.
Problemas comuns
Aqui estão alguns dos problemas comuns que as pessoas têm visto ao tentar usar CeWL e FAB.
Faltando exiftool
Se você ver este erro ao tentar executar qualquer CeWL ou FAB /usr/lib/ruby/gems/1.8/gems/mini_exiftool-1.0.1/lib/mini_exiftool.rb:246:in `exiftool_version ': Command' exiftool 'não encontrado (MiniExiftool :: Erro) de /usr/lib/ruby/gems/1.8/gems/mini_exiftool-1.0.1/lib/mini_exiftool.rb:265 de /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require ' de /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:36:in `require ' de ./cewl_lib.rb:1 de /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require ' de /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `require ' de ./cewl.rb:58
em seguida, o aplicativo não pode acessar exiftool. Instale-o ou certifique-se que está em seu caminho.
HTTPS Problema
Tem sido relatado que, se você ver esse problema/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require ': não existe tal arquivo para carregar - net / https (LoadError) de /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `require ' de /usr/lib/ruby/gems/1.8/gems/spider-0.4.4/lib/spider/spider_instance.rb:30 de /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require ' de /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `require ' de /usr/lib/ruby/gems/1.8/gems/spider-0.4.4/lib/spider.rb:26 de /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require ' de /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:36:in `require ' de ./cewl.rb:56
Então você precisa do pacote libopenssl Ruby. Em Debian o pacote é chamado libopenssl-rubi.
Aranha Faltando Pages
Alguém informou que a aranha perde algumas páginas que são têm querystrings sobre eles. Eu não tenho sido capaz de reproduzir isso em meus testes. Se alguém tem esse problema e pode reproduzi-lo, por favor deixe-me saber e eu vou investigá-lo ainda mais.
Comentários
Postar um comentário