Zaid: Então, vamos falar sobre
como descobrir esse tipo de vulnerabilidade.
Muito parecido com as injeções de SQL, a maneira de
fazer isso é navegar pelo seu destino
e tentar injetar
qualquer caixa de texto ou URL que
seja semelhante a isso.
Portanto, sempre que vir um URL com
parâmetros, tente injetar esses
parâmetros ou injetar em caixas de texto.
Então, vamos dar uma olhada em um exemplo XSS refletido.
Portanto, essas são as vulnerabilidades não persistentes e não armazenadas, nas quais você
deve realmente enviar o código para o destino e, uma vez
que o destino executa o
código, ele será executado em sua máquina.
Então, vamos dar uma olhada no nosso site DVWA.
E eu só vou entrar.
E então teremos um exemplo de um XSS refletido.
Então, como você pode ver agora, você pode colocar seu
nome aqui para esta
caixa de texto e ela diz 'Olá'.
Agora, obviamente, isso é apenas um exemplo, mas
a idéia é que você pode injetar em caixas de texto.
Além disso, se você der uma olhada no URL aqui,
verá que é
uma obtenção, para que você possa injetar no URL também.
Então, deixe-me começar um Leafpad.
E vamos tentar injetar código XSS nisso e
ver se o código será executado,
ou código JavaScript, desculpe.
Então, o que eu vou usar é um script muito
simples, então estamos usando o script e uma tag de script
de fatia. Agora existem muitas maneiras de descobrir
esse tipo de vulnerabilidade
e muitas maneiras de ignorar filtros, mas
para agora estamos apenas analisando o caso
básico em que podemos injetar um script normal.
E eu vou dizer 'alerta', que é apenas uma função para dar
um alerta para dar uma caixa de texto,
e eu vou dizer ...
'XSS'.
Então, clique em 'enviar'
e veremos se esse código será executado.
E como você pode ver agora, ele realmente executou meu código.
Então, ao invés de dizer 'Hello Zaid' aqui,
ele dizia 'Hello' e meu código foi executado e produziu esse 'XSS'.
Para que possamos fazer o mesmo aqui, se você der uma olhada no
URL, ele já fez isso por nós.
Mas se olharmos para o URL aqui,
será um pouco maior lá.
Podemos ver que o nome tem
sido obviamente todos esses caracteres são apenas
caracteres de escape html.
E agora, se você enviar esse URL para qualquer pessoa,
quem vê esse URL, o código será executado em sua
máquina e ele dirá 'XSS'.
Então, deixe-me
mostrar aqui, você também pode injetar isso no
URL, eu só quero semear toda a ideia disso.
Portanto, temos script, script de fatia XSS.
E se eu pressionar Enter, o código será executado.
Então, como eu disse, podemos copiar isso e
enviá-lo para uma determinada pessoa e, uma
vez que eles executem esse código, esse código será executado em
sua máquina.