Compartilhe
- Gerar link
- X
- Outros aplicativos
Executando comandos shell para buscar resultados
Executando comandos shell para buscar resultados
Anteriormente, com o search você podia pesquisar na Internet nos computadores de outras pessoas. Agora é possível buscar resultados de sua máquina local sem se conectar a nenhuma rede da mesma interface gráfica do usuário.
Mecanismos de linha de comando
No PR 2128 foi introduzido um novo tipo de motor chamado command. Esse mecanismo permite que os administradores adicionem mecanismos que executam comandos shell arbitrários e mostram sua saída na interface do usuário da web do searchx.
Ao criar e habilitar um commandmecanismo em uma instância de pesquisa pública, você deve ter cuidado para evitar o vazamento de dados privados. A solução mais fácil é adicionar tokens ao mecanismo. Assim, somente aqueles que possuem o token apropriado podem obter resultados dele.
A base do motor é flexível. Apenas a sua imaginação pode limitar a potência deste motor. (E talvez preocupações de segurança.) As seguintes opções estão disponíveis:
command: Uma lista separada por vírgulas dos elementos do comando. Um token especial {{QUERY}} informa ao searchx onde colocar os termos de pesquisa do usuário. Exemplo:['ls', '-l', '-h', '{{QUERY}}']
delimiter: Um dict contendo um caractere delimitador e os “títulos” de cada elemento em keys.
parse_regex: Um dict contendo as expressões regulares para cada chave de resultado.
query_type: o tipo esperado de termos de pesquisa do usuário. Valores possíveis: pathe enum. pathverifica se o caminho fornecido pelo uesr está dentro do diretório de trabalho. Caso contrário, a consulta não é executada. enumé uma lista de termos de pesquisa permitidos. Se o usuário enviar algo que não está incluído na lista, a consulta retornará um erro.
query_enum: Uma lista contendo termos de pesquisa permitidos se query_typeestiver definido como enum.
working_dir: O diretório onde o comando deve ser executado. Predefinição:.
result_separator: O caractere que separa os resultados. Predefinição:\n
O mecanismo de exemplo abaixo pode ser usado para localizar arquivos com um nome específico no diretório de trabalho configurado.
- name: find
engine: command
command: ['find', '.', '-name', '{{QUERY}}']
query_type: path
shortcut: fnd
delimiter:
chars: ' '
keys: ['line']
Próximos passos
No próximo marco, será adicionado suporte para mecanismos de pesquisa e indexadores locais (por exemplo, Elasticsearch). Dessa forma, você poderá consultar seus próprios bancos de dados/indexadores.
Agradecimento
Este desenvolvimento foi patrocinado pelo Search and Discovery Fund da NLnet Foundation .
Feliz hack.
kvch // 2020.09.28 21:26
Logotipo
Links do projeto
Blogue
Fonte
Wiki
Instâncias públicas
Rastreador de problemas
Navegação
Visão geral
Blogue
Anterior: Consulte seus mecanismos de pesquisa locais
Próximo: Desenvolvendo em contêineres Linux [202006]
Pesquisa rápida
© Copyright 2015-2021, Adam Tauber, Noémi Ványi. Criado usando Sphinx 4.4.0.
- Gerar link
- X
- Outros aplicativos
Manual de Fontes Abertas
Postagens mais visitadas
47988618255 Investigação Defensiva
- Gerar link
- X
- Outros aplicativos
Investigação Digital | OSINT
- Gerar link
- X
- Outros aplicativos

Comentários
Postar um comentário