
Uma extensão de navegador Chrome/Firefox para exibir alertas para parâmetros de consulta refletidos, mostrar links do arquivo Wayback para o caminho atual, exibir elementos ocultos e habilitar elementos desativados.
Esta é uma Extensão para Chrome/Firefox que pode fazer o seguinte:
', " e < são refletidos sem serem codificados.Xnl Reveal do DevTools do navegador.Xnl Reveal do DevTools do navegador).A capacidade de mostrar um alerta para parâmetros refletidos foi inspirada por um comentário de @renniepak no Episódio 42 do Critical Thinking - Bug Bounty Podcast, onde ele mencionou que tinha sua própria extensão de navegador que o avisava sobre quaisquer reflexões.
O número de parâmetros refletidos encontrados é mostrado por um badge verde no ícone da extensão. No entanto, se algum dos nomes dos parâmetros refletidos estiver em uma das categorias descritas na pesquisa de parâmetros "sus" por @Jhaddix e @G0LDEN_infosec, o badge ficará vermelho. Se houver quaisquer parâmetros "sus", as categorias também serão mostradas na saída para a aba Xnl Reveal do DevTools, caixa de alerta e área de transferência, por exemplo, boringParameter, query [XSS], path [LFI/RFI | SSRF | XSS] (isto é o mesmo que a identificação de parâmetros "sus" na minha Extensão GAP Burp).
A capacidade de mostrar elementos ocultos e habilitar elementos desabilitados foi inspirada por este Tweet do Critical Thinking - Bug Bounty Podcast e eu inicialmente a criei como favoritos do navegador.
O ícone da extensão normalmente é exibido com um fundo preto
, mas se o ícone aparecer com um fundo vermelho
, isso indica que a API do Wayback CDX Server provavelmente está indisponível. Mesmo que os recursos principais estejam desabilitados, a extensão verificará o status da API a cada 10 minutos.
IMPORTANTE: Ao usar ferramentas como waymore, waybackurls ou gau para obter URLs do arquivo do Wayback, elas usam a API do CDX Server. Se a API estiver fora do ar, você não receberá nenhum dado do Wayback Machine, apenas de outras fontes. Além disso, apenas o waymore informaria que houve um problema.
Clone este repositório para sua máquina e siga as instruções abaixo, dependendo se você deseja instalar em um navegador Chrome ou Firefox:
Abra o Gerenciador de Extensões no Chrome seguindo: Menu kebab (três pontos verticais) -> Extensões -> Gerenciar extensões
Se o modo de desenvolvedor não estiver ativado, ative-o clicando no alternador no canto superior direito.
Agora clique no botão Carregar sem compactação no canto superior esquerdo
Vá até o diretório onde você tem a pasta Xnl Reveal e selecione-a.
A extensão agora está carregada. Você pode clicar no ícone da extensão na barra de ferramentas e, em seguida, no ícone de pino para fixar o Xnl Reveal na sua barra de ferramentas.
IMPORTANTE: Com extensões do Firefox, você precisará carregá-la toda vez que abrir o Firefox. Infelizmente, não posso adicioná-la à loja do Firefox para evitar isso, porque ela precisaria ser Manifest v3 para isso. O Xnl Reveal precisa usar Manifest v2 (a menos que outra pessoa consiga descobrir como fazer, porque eu não consegui), que tem menos restrições de segurança, permitindo que funcione.
Vá para about:debugging em uma nova aba do navegador.
Clique no título Este Firefox no lado esquerdo da página.
Clique no botão Carregar complemento temporário... sob o título Extensões temporárias.
Navegue até a pasta Firefox do repositório baixado, selecione qualquer arquivo e clique em Abrir.
A extensão agora está carregada. Você pode clicar no ícone da extensão na barra de ferramentas, depois no ícone de engrenagem de Configurações e selecionar Fixar na barra de ferramentas.
Xnl Reveal na barra de ferramentas e selecionar Opções, você será levado à página de Opções.Xnl Reveal na barra de ferramentas e selecionar Gerenciar extensão, depois clique na aba Opções para ver a página de Opções.
Você tem as seguintes opções:
Canary token - Quando solicitações são feitas para testar a reflexão de parâmetros de consulta, este é o valor do parâmetro que é usado e verificado.Check for reflection of ' " < - Quando solicitações são feitas para testar a reflexão de parâmetros de consulta, a string '",xnl é anexada ao final do Canary token. Se algum desses caracteres for refletido sem ser codificado, isso também será relatado. Se o envio desses caracteres fizer com que o Canary token não seja refletido de forma alguma (talvez um WAF bloqueie o <), outra solicitação será feita apenas com o Canary token.Show alert box for reflections - Se esta opção estiver selecionada e Show query parameter reflections estiver selecionado no menu Popup (veja abaixo), uma caixa de alerta do navegador será exibida com detalhes de quaisquer parâmetros de consulta que reflitam.Copy reflection text to clipboard - Se esta opção estiver selecionada e Show query parameter reflections estiver selecionado no menu Popup (veja abaixo), quando reflexões de parâmetros forem encontradas, os detalhes serão colocados na área de transferência do usuário, além de serem gravados na aba do DevTools (e em uma caixa de alerta, se solicitado). Isso significa que, assim que você vir uma caixa de alerta ou detalhes na aba do DevTools, você pode ir às suas anotações e colar os detalhes imediatamente. Se você clicar no logotipo do Xnl Reveal na barra de ferramentas, verá um menu popup.
Você tem as seguintes configurações:
ENABLE REVEAL - Se esta opção não estiver marcada, a extensão não fará nada. Se estiver marcada, ela tomará certas ações nas páginas da web visitadas (se estiverem no escopo), dependendo das outras opções definidas.Show query parameter reflections - Se esta opção estiver marcada, quando uma página da web com quaisquer parâmetros de consulta for visitada, uma solicitação em segundo plano é feita para cada parâmetro, substituindo cada um, por vez, pelo Canary token da página de Opções. Se o token for encontrado para qualquer um dos parâmetros na resposta, uma mensagem é gravada na aba Xnl Reveal do DevTools informando a URL e todos os parâmetros dessa página que foram refletidos. Se as opções estiverem selecionadas, esses detalhes também podem ser mostrados em uma caixa de alerta do navegador e copiados para a área de transferência do usuário. A extensão também mostrará um badge com o número de reflexões encontradas.CHARSET IS NOT SPECIFIED IN RESPONSE! se o charset não estiver definido explicitamente para uma página HTML. Isso pode significar que o XSS pode ser mais fácil com um truque explicado neste blog.Write Wayback endpoints to DevTools - Se esta opção estiver marcada, para cada local/caminho visitado no navegador, até 1000 endpoints serão recuperados do arquivo do Wayback e gravados na aba Xnl Reveal do DevTools. Uma vez que um local/caminho tenha sido enviado para a API do Wayback, ele não será enviado novamente, a menos que tenha sido clicado.Se você clicar com o botão direito em uma página da web, verá o menu de contexto do navegador. Por exemplo, se você estiver em example.com e tiver Whitelist selecionada nas Opções, verá o seguinte:
Estas opções estão disponíveis mesmo que a opção ENABLE REVEAL no Menu Popup não esteja selecionada. Há 3 opções que você pode escolher:
Get wayback endpoints - Se clicado, uma nova aba será aberta contendo os endpoints do arquivo do Wayback para o domínio da janela em que foi clicado. Isso não é afetado por outras configurações e pode ser executado mesmo que a extensão não esteja habilitada.Show hidden elements - Isto mostrará todos os elementos ocultos na página atual, da mesma forma que Show hidden elements faz, mas a extensão não precisa estar habilitada.Enable disabled elements - Isto habilitará todos os elementos desabilitados na página atual, da mesma forma que Enable disabled elements faz, mas a extensão não precisa estar habilitada.Show Google cache version - Se clicado, uma nova aba será aberta com a versão em cache do Google da página atual. Mesmo que um site não esteja mais disponível, o Google terá uma cópia armazenada em seus arquivos, e você ainda poderá acessar a página em cache.Show FOFA domain search - Se clicado, uma nova aba será aberta com FOFA mostrando os resultados de pesquisa para domain="{TARGET}", onde {TARGET} é o domínio da aba ativa.Create word list - Se clicado, uma lista de palavras será criada a partir do conteúdo da página e exibida em uma nova aba.As mensagens sobre reflexões de parâmetros e endpoints do Wayback eram anteriormente gravadas no console, mas agora serão gravadas em uma aba separada no DevTools do navegador. A partir daqui, você pode:
Filter messages... - Digite qualquer texto para fazer filtragem em tempo real das mensagens, facilitando encontrar reflexões específicas ou resultados do Wayback entre as mensagens armazenadas.Copy All Messages - Copie todas as mensagens para a área de transferência para colar em suas anotações!Copy All URLs - Extraia todas as URLs exclusivas das mensagens atualmente visíveis (respeitando qualquer filtro ativo) e copie-as para a área de transferência, uma por linha. Isso é útil para reunir rapidamente todas as URLs de reflexões e resultados do Wayback para teste adicional.Clear Messages and Cache - Limpe todas as mensagens da aba e do armazenamento local. Também limpará quaisquer endpoints do Wayback que foram pesquisados anteriormente.
Esta extensão de navegador não vai ser perfeita!
Às vezes, a alteração de código pode quebrar uma página. Se você tiver um problema, desmarcar uma determinada configuração no menu popup recarregará a página e pode estar tudo bem novamente, e você simplesmente não poderá verificar.
Também pode haver alguns erros que são mostrados na página Gerenciar extensão em determinadas situações.
Se você executar manualmente uma opção do menu de contexto e nada acontecer, talvez seja necessário atualizar a página na qual está tentando executar a opção e tentar novamente.
Create word list à versão Firefox.Error copying to clipboard (NotAllowedError: Document is not focused.)true,false,1, etc., pois haverá muitos falsos positivos.Se você encontrar qualquer problema, ou tiver ideias para melhorias, sinta-se à vontade para abrir uma issue no Github. Se houver um problema, será útil se você puder fornecer a URL exata em que estava e quaisquer erros de console.
Boa sorte e boa caçada!
Se você realmente ama a ferramenta (ou outras), ou se elas ajudaram você a encontrar uma recompensa incrível, considere ME PAGAR UM CAFÉ! ☕ (Eu preciso de cafeína!)
🤘 /XNL-h4ck3r
Xnl RevealParam blacklist - Esta é uma lista separada por vírgulas de nomes de parâmetros (por exemplo, param1,param2) que você não deseja substituir pelo canary token para verificar se ele reflete. Isso pode ser usado quando testar determinados parâmetros causa problemas, por exemplo, encerrar sua sessão.Check delay - Quando uma página é carregada, dependendo das configurações, a extensão tentará mostrar elementos ocultos e habilitar elementos desabilitados. No entanto, às vezes partes da página são carregadas dinamicamente e não estão na resposta original. A extensão tentará mostrar e habilitar novamente após esse atraso (em segundos) após o carregamento inicial da página.Wayback RegEx - Se a configuração para escrever endpoints do arquivo do Wayback estiver selecionada, apenas os endpoints do Wayback que corresponderem à RegEx inserida serão exibidos na aba do DevTools. Se o campo for deixado em branco, até 1000 endpoints do Wayback serão retornados. IMPORTANTE: Qualquer RegEx inserida será tratada como sem distinção entre maiúsculas e minúsculasKNOXSS API Key - Insira sua chave de API do KNOXSS. Se uma chave for salva e Show query parameter reflections estiver habilitado no menu Popup, quando uma reflexão for encontrada, a URL será enviada automaticamente para a API do KNOXSS. O cabeçalho X-API-KEY é definido com a chave salva, e os cookies da página atual são passados como cabeçalhos de autenticação. A resposta da API do KNOXSS é gravada na aba Xnl Reveal do DevTools. A chamada à API é feita de forma assíncrona, portanto não bloqueia a interação com a página.Extension Scope:
Whitelist ou Blacklist - Isso determina quais sites resultarão em verificações de reflexão de parâmetros e/ou recuperação de endpoints do Wayback. Dependendo da opção escolhida, um host deve conter ou não conter a palavra inserida para ser processado.Host match word to add - Digite uma palavra que exista no nome do host (ou um nome de host completo) que você deseja adicionar à lista de permissões ou à lista de bloqueio e clique no botão Add para adicioná-la à lista de escopo. Por exemplo, se você quiser executar apenas em páginas da Redbull, basta adicionar redbull e definir como lista de permissões.Add - Adiciona uma palavra inserida à lista de escopo.Remove selected - Remove a(s) palavra(s) selecionada(s) da lista de escopo.Clear all - Remove todas as palavras da lista de escopo.Save - Se alguma opção for alterada, clique neste botão para salvá-la para uso futuro.Clear Saved URLs/Params - Se a extensão estiver procurando por parâmetros de consulta refletidos, você não vai querer continuar sendo alertado para as mesmas combinações de URL/Parâmetro, então aquelas que foram reportadas são armazenadas para evitar isso. No entanto, se você quiser remover a memória delas, pode clicar neste botão para removê-las. Da mesma forma, não queremos continuar enviando as mesmas solicitações ao arquivo do Wayback, então elas também são armazenadas, mas podem ser limpas se este botão for pressionado.Clear Saved URLs/ParamsShow hidden elements - Se esta opção estiver marcada, quaisquer elementos (excluindo img, span e div) que estiverem ocultos serão mostrados. Eles serão exibidos com uma borda vermelha e um rótulo em vermelho que fornece alguns detalhes. Às vezes, se a página for dinâmica, os elementos podem não ser mostrados.Enable disabled elements - Se esta opção estiver marcada, quaisquer elementos (excluindo img, span e div) que estiverem ocultos serão mostrados. Eles serão exibidos com uma borda vermelha e um rótulo em vermelho que fornece alguns detalhes. Às vezes, se a página for dinâmica, os elementos podem não ser mostrados. Você sempre pode clicar no botão Run Now para alterar a página atualmente carregada.{Add|Remove} {HOST} {from|to} {whitelist|blacklist} - Dependendo se o nome do host da aba atual já está na lista de escopo e se a opção de lista de permissões ou lista de bloqueio está selecionada, você verá um item de menu para adicionar/remover. Por exemplo, se você estiver em https://www.redbull.com/gb-en/ e tiver Blacklist selecionada na página Opções, e redbull.com não estiver na lista de escopo, você verá o item de menu de contexto Add redbull.com to blacklist. IMPORTANTE: Se o item de menu não mostrar o host correto, talvez seja necessário atualizar a aba.