Um exemplo de script
Vou agora mostrar a vocês, um script que eu fiz em HTML (formulário) e o script PHP.
"Let's make these codes." :-)
- index.html:
<html>
<title> .:: Pentest 4 SegurancaLinux.com ::. </title>
<center>
<br><br>
<h1><storng>Entre com tais dados:</h1></strong>
<form method = "GET" action ="dados.php">
Nome: <br>
<input type ="textArea" name="nome">
<br>
Sobrenome: <br>
<input type = "textArea" name="sobrenome">
<br>
<br>
<input type="submit" value="Enviar dados">
<input type = "reset" value="Apagar">
</center>
<br>
<br>
<br>
<center>
<strong> You are secure ? </strong>
<br>
<img src='http://www.vivaolinux.com.br/imagens/dicas/comunidade/glider.png' alt='hacker emblem' title ="Juni0r_L1nuX are here :)"/>
</center>
</form>
</html>
- dados.php:
<?php
/*
* # #
# # #### # # ## ##### ######
# # # # # # # # # # #
# # # # # # # # # #####
# # # # # #### ## ## ### #
# # # # # # # # # #
# #### ### # # # # # ######
###### #####
# # # # # # # # #####
# # # # ## # # # #
###### # # # # # ##### # #
# # ## # # # # # # #
# # # ## # ## # # # #
# # # # # ##### #####
*
*
*/
$nome = $_GET['nome'];
$sobrenome = $_GET['sobrenome'];
echo "Nome completo: <strong>$nome $sobrenome </strong>";
?>
Pronto! Não entrarei em detalhes no script, pois não é um artigo sobre programação.
Enfim, o que eu fiz foi criar o formulário no
index.html e como eu havia dito, envio estes dados pelo botão "Enviar dados".
No script PHP, criei uma variável chamada "nome", que pega o valor do campo "nome".
$nome = $_GET['nome'];
E como vocês podem ver, fiz a mesma coisa com o campo "sobrenome".
$sobrenome = $_GET['sobrenome'];
Logo após, imprimi ambos:
echo "Nome completo: <strong>$nome $sobrenome"</strong>;
A tag
strong não tem nada a ver, ela apenas deixa em negrito. :)
Vamos realizar os testes em seguida.
Let's play with hacking. ;)
Realizando os testes
Bom, para começo de conversa, vamos começar testando pacificamente, para ver se tudo está funcionando como deveria.
Temos a seguinte página rodando na rede local (localhost):
Ok, preencha com seus dados, ou dados quaisquer, e clique em: "Enviar dados".
Você deve ter uma saída parecida com esta:
Como pode ser visto, ele fez como proposto, só que tem um probleminha... reparem na URL:
http://127.0.0.1/dados.php?nome=Andre&sobrenome=Junior
Ué? Então se eu por: http://127.0.0.1/dados.php?nome=Jose&sobrenome=Couves
Ele imprimirá:
"Nome completo: Jose Couves " ???
Opa! Vamos tentar fazer melhor então, vamos tentar adicionar tags na URL...
Ponha, por exemplo: http://127.0.0.1/dados.php?nome=%3Ch1%3EJose%3C/h1%3E&sobrenome=Couves
E olhe a saída:
Crash total. Não é mesmo ?!
Ok, agora que sabemos que está vulnerável, vamos voltar à página principal (index.html) e vamos tentar injetar códigos nos campos de texto.
No campo "nome", coloque o seguinte script:
<script>alert("XSS Own You :) ") </script>
No campo "sobrenome", você pode deixar vazio. Agora clique em: "Enviar dados".
E veja, colocamos um alert. :)
Agora que sabemos que está vulnerável, podemos começar a estudar formas de nos beneficiarmos através desta vulnerabilidade, para ver até aonde o
blackhat chegaria.
É aonde você deve ter a cabeça de um
blackhat.
Let's hack it. :)