Web - autenticação javascript, ofuscação e código nativo. Solução de problemas com o r0ot-mi Web - Client. Parte 1

imagem

Este artigo contém soluções de trabalho que cobrem a autenticação javascript, ofuscação javascript e código nativo javascript.

Informações Organizacionais
Especialmente para aqueles que desejam aprender algo novo e se desenvolver em qualquer uma das áreas de segurança da informação e da informática, escreverei e falarei sobre as seguintes categorias:

  • PWN;
  • criptografia (criptografia);
  • tecnologias de rede (rede);
  • reverso (engenharia reversa);
  • esteganografia (estegano);
  • pesquisa e exploração de vulnerabilidades na WEB.

Além disso, compartilharei minha experiência em análise forense de computadores, análise de malware e firmware, ataques a redes sem fio e redes locais, realização de protestos e explorações por escrito.

Para que você possa descobrir sobre novos artigos, software e outras informações, criei um canal no Telegram e um grupo para discutir quaisquer questões no campo da CID. Além disso, considerarei pessoalmente seus pedidos, perguntas, sugestões e recomendações pessoais e responderei a todos .

Todas as informações são fornecidas apenas para fins educacionais. O autor deste documento não se responsabiliza por nenhum dano causado a alguém como resultado do uso dos conhecimentos e métodos obtidos como resultado do estudo deste documento.

Elementos desativados em HTML


imagem

Na página, vemos um formulário bloqueado.

imagem

Precisamos desbloquear e usá-lo. Para fazer isso, abra o painel do desenvolvedor (no meu caso, no navegador Firefox).

imagem

Observamos dois elementos de formulário nos quais o parâmetro desativado está presente. Você só precisa excluí-lo.

imagem

Agora enviamos algum texto no formulário e obtemos uma bandeira.

imagem

Autenticação Javascript


imagem

Vamos para a página, observamos o formulário em que você precisa inserir o login e a senha.

imagem

Quando você tenta enviar qualquer linha, um alerta exibe uma mensagem sobre dados incorretos.

imagem

Vamos abrir o código fonte. Quando você clica no botão de login, js chama a função Login ().

imagem

Vamos para o painel do desenvolvedor, guia Debugger. Na janela esquerda do Source, selecione nosso site e consulte o código-fonte no arquivo login.js. Existem detalhes de login.

imagem

Prosseguimos para a próxima tarefa.

imagem

Abrimos a página, somos recebidos pela janela de entrada de senha familiar.

imagem

Abra o código fonte, pegue a senha.

imagem

Vá em frente.

imagem

Por analogia com as tarefas anteriores, abra o painel do desenvolvedor, a guia Depurador. Uma string é extraída da lista, dois pontos são divididos em partes. A primeira parte é o login, a segunda é a senha.

imagem

Ofuscação Javascript


imagem

Abra o código fonte, lá encontramos a variável pass.

imagem

Nossa senha é codificada em URL. Vamos para o painel do desenvolvedor, a guia Console. Decodifique usando a função js decodeURI ().

imagem

Vá em frente ...

imagem

Mais uma vez, olhe a fonte. A passagem variável é mencionada.

imagem

Vá para o console e exiba a variável de passe.

imagem

Parece código js. Para executá-lo, passe pass como argumento para a função eval ().

imagem

Código repetidamente eval ().

imagem

Código nativo Javascript


imagem

Abrimos a página. Somos novamente recebidos pela janela de entrada de senha.

imagem

Abra o arquivo e veja o código nativo javascript.

imagem

Existem dois métodos genéricos em js: toString () e toSource (), aplicáveis ​​aos objetos. No final do código, observamos “()”, ou seja, é precedido por uma função. No console, exclua “()” e acrescente “.toSource ()”.

imagem

Temos a função de verificação de senha, onde podemos ver a própria senha.

imagem

Abra a fonte, obtenha js.

imagem

Uma cadeia é passada para a função pelo tipo de variável - códigos de caracteres de passe separados por vírgula. No final, uma função com alguma string é chamada. Vamos decodificar a string e traduzir os números em caracteres.

imagem

Nós obtemos a senha.

Mais e mais complicado ... Você pode se juntar a nós no Telegram . Lá, você pode propor seus próprios tópicos e votar na escolha de tópicos para os seguintes artigos.

Source: https://habr.com/ru/post/pt471662/


All Articles