Todas as injeções de javascript que nós fizemos até agora nós costumávamos injetá-las assim ou nós
costumávamos realmente injetá-las no código apressado e nós costumávamos ter que colocar o script de exercício de alerta descript ou colocar qualquer
coisa aqui dependendo da folha de dicas que você compartilhou com você.
Agora, eu disse anteriormente que com as injeções de habilidade, a carga útil ou a exploração podem variar de um site para
outro, dependendo da maneira como o site está programado ou da página programada.
E o exercício é o mesmo, então você sempre precisa se aproximar dos sites e pensar sobre isso
em uma idéia geral e tentar explorá-lo, dependendo da própria página.
E nem sempre copie e cole os exploits ou os payloads e, para isso, vou
mostrar outro exemplo hoje.
E vamos fazer isso no dia de Matel e vamos para a injeção e vou
para a injeção de javascript e para o gerador de senhas.
Agora o que esta página faz basicamente você clica no gerar e apenas gera uma senha aleatória.
Portanto, há muitos sites na Internet que fazem isso para você.
Olhando para este site é quase esta senha é para anônimo olhando para o seu elk, podemos ver que é dado um nome
de usuário e o nome do usuário é dado e eles estão todos no parâmetro username e
é dado anônimo para que possamos apenas mudar esse nome para um nome que queremos.
Então, por exemplo, se mudarmos isso
é um Esselmont que a senha está sendo gerada para o zayd.
E se nós gerarmos, isso será gerado.
Agora note que o que você escrever aqui está sendo exibido aqui e isso deve lhe
dizer imediatamente que talvez isso possa ser vulnerável a uma vulnerabilidade do Access, porque qualquer que seja o seu tipo está sendo exibido.
Então vamos tentar usar o mesmo exploit que sempre
usamos e tentar injetar no código e na página.
Agora, como você pode ver, o exploit não foi executado, por isso não conseguimos uma caixa pop-up nos
dizendo que há um excesso na página, mas algo deu errado.
Como você pode ver agora, alguns dos códigos sendo lançados na página não devem ser mostrados aqui.
Você viu no caso básico, quando você acabou de colocar um nome normal, você realmente não vê esse código.
Então isso significa que algo está acontecendo, algo está errado nesta página.
Então vamos tentar
inspecionar o elemento e eu vou aumentar isso.
Agora, o que eles querem focar é a parte do código que foi lançada aqui na
tela, então eu vou clicar com o botão direito e inspecionar novamente o elemento apenas para que possamos navegar
automaticamente para ela que está no código e eu vou descer e
posso ver que esta parte do código está sendo quebrada.
Nós geralmente adicionamos as tags de script quando tentamos injetar como você gostaria de ver aqui.
Mas o que está acontecendo nesta página é automaticamente tentar colocar o que importamos dentro de nossa entrada
de usuário para roteirizar este e este.
Então, primeiro de tudo, sabemos que não precisamos
disso porque já estão lá.
Observe também que nosso código está sendo injetado aqui, então este é o meu exercício de alerta de script de código.
Isto é o que eu digitei para o nome de usuário e você pode ver que isso está sendo colocado dentro de uma única cotação.
Então, para sair dessa aspa, adicionarei uma no meu exploit.
OK, então isso vai fechar isso para mim e então eu removo o script para que ele se torne um alerta de acesso
que parece realmente bom.
E então nós temos o final do script aqui.
Então, vamos dar uma olhada novamente no código para que você tenha a primeira linha dizendo o documento que obtém
o elemento get por ID.
Agora eu realmente não sei programar em javascript, então você não precisa ser um programador de javascript,
mas você só precisa ter uma idéia geral de como isso vai funcionar.
Assim, podemos ver que esta é a primeira linha do código e está dizendo isso em nossa pressa M-L é
igual a esta senha e o que importa entre as duas citações.
Então o que fizemos nós fechamos isso.
E então a próxima linha vai se tornar nosso exercício de alerta.
Então, em javascript para terminar uma linha você realmente tem que adicionar um ponto e vírgula.
Então, vamos fechar e adicionar um ponto e vírgula aqui e nossa exploração.
E o que isso vai fazer vai fechar o código aqui e vai executar isso como outra
linha como a próxima linha do ponto-e-vírgula aqui no final apenas no caso.
E nós vamos copiar isso.
Vou injetar e mostrarei como é o código.
Depois que injetamos, ficará ainda mais claro.
Então vou injetar aqui.
Agora, como você pode ver, não há nada, mas se clicarmos na geração, agora parece que ainda há
algo errado.
Então, nós ainda não injetamos corretamente.
Vamos dar uma olhada no código novamente.
Então, novamente clique com o botão direito do mouse para inspecionar elemento e vamos descer para onde os códigos
para o usuário estão aqui.
E é assim que nosso código se parece agora.
Então está dizendo que tente a Documenta novamente pegar o elemento por ID.
E isso é TELL e isso é igual a essa senha é para.
Nós fechamos isso.
Então isso é muito bom.
Adicionamos um purrfect de ponto-e-vírgula e então dissemos acesso de alerta.
Muito bom ponto e vírgula.
Perfeito, mas depois temos esta cota simples e este ponto-e-vírgula.
E estes estão vindo do código original.
Então, esses são usados ​​para fechar essa declaração originalmente.
Então eles estão realmente sendo codificados ou inseridos pelo código na página.
Então tudo o que temos a fazer é fazer como o que costumávamos fazer com as injeções de SPL e apenas o comentário
aqui para comentar tudo o que vem depois disso para que ele não quebre nosso código.
Então, novamente eu vou
copiar esta pasta aqui.
E como você pode ver agora, nosso código é executado e conseguimos executar o código javascript no site de destino.
Agora você pode compartilhar este link com qualquer código javascript que quiser e que será executado na pessoa de
destino da pessoa que executa este link.
Então você pode ir em frente e procurar qualquer tipo de código ou javascript ou você pode
usar carne como eu vou mostrar nas próximas palestras.
Assim, a mensagem para levar para casa desta palestra é a maneira como você explora as vulnerabilidades, não
só o trabalho, não apenas o acesso ou as injeções da Asgill; qualquer vulnerabilidade varia de
site para site, então você deve sempre pensar nisso. como os dados estão sendo transmitidos
entre os sites e tentar adaptar sua exploração a essa página da Web específica.