Ladies and gentleman, aqui inicio meu primeiro tutorial pro fórum (é meu primeiro, então não sejam exigentes xD), espero que vocês gostem do que vão ler ;D .
Bom, eu vou falar aqui de algo simples, e que eu não vejo se falar muito por ai, mas que pode causar dor de cabeça pra algumas pessoas, e trazer diversão pra nós.
Recomendo que você tenha ai nada mais nada menos que: um pouco de conheçimento em HTML, e uma meia-dúzia de neurônios funcionando em perfeito estado, para assim prosseguirmos com o tutorial.
Chega de conversa mole, nesse texto eu vou explicar o que são, e como explorar e brincar com "Hidden Fields" ou traduzindo: "Campos ocultos" que é um elemento do HTML.
Agora, para que servem esses Hidden Fields ?
Os hidden fields servem para guardar algum dado, se suponhe que o usuário não pode alterá-lo, até porque eles não são exibidos no navegador, mas apenas no código fonte da página.
Esse exemplo deve servir pra clarear mais a sua mente:
Sacou então como funciona?
No código acima, eu criei um form com 2 campos e um botão: um campo do tipo "text", que se suponhe que o usuário ira digitar uma mensagem, e o outro do tipo "hidden", que pelo nome, a lógica seria que ele ficasse escondidinho guardando o dado "meuemail@gmail.com" .
No geral é tudo uma maravilha, o usuário normal iria acessar a página com o form, digitar uma mensagem qualquer e clicar no botão "Enviar Mensagem", então o form enviaria os dados para a página "http://www.mydomain.com/tools/Mail.php" usando o POST, e essa página receberia e trataria os dados da maneira que se deve.
Ok, mas (suponha que) não somos usuários normais, acessamos a página onde se encontra esse form, e só por mania damos uma olhada no código fonte da página, lêmos o código só de relance e encontramos esse campo oculto interessante.
Como esse form serve para enviar um e-mail para o cara que fez o form, pelas propriedades do campo oculto que encontramos (name="enviarpara", value="meuemail@gmail.com"), rapidamente concluimos que: esse form envia a mensagem e o conteúdo do campo oculto para o script "Mail.php", e então esse script envia o e-mail.
Logo depois de refletir muito e chegarmos a essa conclusão genial, resolvemos trocar o valor do campo oculto "meuemail@gmail.com", para "oseuemail@gmail.com", e como temos acesso ao "oseuemail@gmail.com", vamos ver se o cara que escreveu o código esqueçeu de validar esse campo oculto, permitindo assim, que pudessemos enviar e-mails usando o seu servidor (SPAM, SPAM!).
Lembrando que pra mudar o valor desse campo, eu salvei a página ficticia no meu computador e alterei o código fonte (essa é a maneira mais chata de se fazer isso, no decorrer do tutorial explico jeitos mais simples de mudar esses valores).
Muito bem, logo depois executamos no nosso computador, o tal arquivo HTML modificado que salvamos, vemos o form tudo direitinho nele e tals ...
Ai então, digitamos uma mensagem e usamos o botão "Enviar", para a nossa surpresa, vamos a caixa de entrada da conta de e-mail "oseuemail@gmail.com" (que é o e-mail modificad), e encontramos lá a mensagem que deveria ter sido enviada para "meuemail@gmail.com".
Espero que tenham entendedido toda essa teoria, mas agora vou lhes dar um pouco de prática para elucidar o que acabamos de ver:
Observem esse site: Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...
Superficialmente famoso, e serve para vocês vêrem na prática o tanto que eu falei ali encima.
Dando uma sacada na página, dá pra perceber que existe um form pra se entrar em contato, aqui vai a parte do código que pertence ao form:
Tantos campos ocultos, e todos semelhantes ao do nosso exemplo ficticio ...
Acho que já podemos brincar com isso, não acha? :P
Antes de tudo, caso você use o Firefox, existe uma Add-on que ajuda MUITO nesse hacking de campos ocultos, o nome dela é Groundspeed, você pode encontra-la aqui: Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... e descobrir outras informações sobre ela aqui: Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...
Depois de instalado o Groundspeed e reiniciado o firefox, siga até a página do blog da capricho, vá até o menu ferramentas e logo depois clique em Groundspeed, ele é em inglês, mas é tão simples de se usar que esse ponto nem merece preocupação.
Do lado direito do firefox você já deve estar vendo o Groundspeed, agora você clica em "Click to Load Forms", ai então aparecerá logo abaixo, todos os forms (e talvez outras coisas mais) encontrados na página, com seus nomes e tals ...
Siga para o formulário "formEmail" que é o que nos interessa, dê dois cliques nele e serão exibidos os campos logo abaixo, para trocar os atributos dos campos, basta primeiro clicar encima do campo que você quer, e logo depois dar dois cliques no atributo desejado logo abaixo.
Para finalizar nosso teste, modifique o atributo "value" do campo "Assunto" para qualquer coisa que você deseja, e faça o mesmo com o campo "CorreioPara", só que nesse caso, no atributo "value" coloque um e-mail ao qual você tenha acesso (por razões meio óbvias).
Feitas as modificações, volte para o form, e digite o que quiser no campo nome, mensagem, idade... Não importa o que seja, isso só irá servir para você ver a coisa funcionando de verdade (: .
Logo depois, clique no botão enviar que existe abaixo do form, e corra para o e-mail que você usou e veja o que você recebeu (olhe na caixa de entrada e na pasta de lixo eletrônico).
Legal não? Agora você pode enganar suas amigas viciadas nessas coisas da capricho, ou usar seu tempo livre pra algo mais útil, e codar algo pra enviar SPAM .
Bom, esta não é a única utilidade "Hacking" que se pode dar aos hidden fields, programadores negligentes põem muita coisa neles, achando que ninguém irá ver, eu já encontrei casos da quantidade de uma mercadoria ser guardada no hidden form, alguém poderia fazer um pedido de 90 televisões pelo preço de uma se quisesse, também já vi casos do valor do captcha estar guardado num hidden field, com um código simples, já se poderia burlar esse captcha ...
Enfim, o que vale é a sua imaginação (e a do programador que vai fazer a merda), para você conseguir coisas legais explorando hidden fields por ai, aposto que logo depois desse tutorial, você nunca mais irá olhar pra forms HTML com os mesmos olhos :P .
E obrigado pela atenção lendo meu tutorial (: .
Bom, eu vou falar aqui de algo simples, e que eu não vejo se falar muito por ai, mas que pode causar dor de cabeça pra algumas pessoas, e trazer diversão pra nós.
Recomendo que você tenha ai nada mais nada menos que: um pouco de conheçimento em HTML, e uma meia-dúzia de neurônios funcionando em perfeito estado, para assim prosseguirmos com o tutorial.
Chega de conversa mole, nesse texto eu vou explicar o que são, e como explorar e brincar com "Hidden Fields" ou traduzindo: "Campos ocultos" que é um elemento do HTML.
Agora, para que servem esses Hidden Fields ?
Os hidden fields servem para guardar algum dado, se suponhe que o usuário não pode alterá-lo, até porque eles não são exibidos no navegador, mas apenas no código fonte da página.
Esse exemplo deve servir pra clarear mais a sua mente:
Código:
<form name="formqualquer" action="http://www.mydomain.com/ferramentas/Mail.php" method="POST">
<input type="text" size="45" value="Digite sua mensagem aqui!">
<input type="hidden" name="enviarpara" value="meuemail@gmail.com">
<input type="submit" value="Enviar Mensagem">
No código acima, eu criei um form com 2 campos e um botão: um campo do tipo "text", que se suponhe que o usuário ira digitar uma mensagem, e o outro do tipo "hidden", que pelo nome, a lógica seria que ele ficasse escondidinho guardando o dado "meuemail@gmail.com" .
No geral é tudo uma maravilha, o usuário normal iria acessar a página com o form, digitar uma mensagem qualquer e clicar no botão "Enviar Mensagem", então o form enviaria os dados para a página "http://www.mydomain.com/tools/Mail.php" usando o POST, e essa página receberia e trataria os dados da maneira que se deve.
Ok, mas (suponha que) não somos usuários normais, acessamos a página onde se encontra esse form, e só por mania damos uma olhada no código fonte da página, lêmos o código só de relance e encontramos esse campo oculto interessante.
Como esse form serve para enviar um e-mail para o cara que fez o form, pelas propriedades do campo oculto que encontramos (name="enviarpara", value="meuemail@gmail.com"), rapidamente concluimos que: esse form envia a mensagem e o conteúdo do campo oculto para o script "Mail.php", e então esse script envia o e-mail.
Logo depois de refletir muito e chegarmos a essa conclusão genial, resolvemos trocar o valor do campo oculto "meuemail@gmail.com", para "oseuemail@gmail.com", e como temos acesso ao "oseuemail@gmail.com", vamos ver se o cara que escreveu o código esqueçeu de validar esse campo oculto, permitindo assim, que pudessemos enviar e-mails usando o seu servidor (SPAM, SPAM!).
Lembrando que pra mudar o valor desse campo, eu salvei a página ficticia no meu computador e alterei o código fonte (essa é a maneira mais chata de se fazer isso, no decorrer do tutorial explico jeitos mais simples de mudar esses valores).
Muito bem, logo depois executamos no nosso computador, o tal arquivo HTML modificado que salvamos, vemos o form tudo direitinho nele e tals ...
Ai então, digitamos uma mensagem e usamos o botão "Enviar", para a nossa surpresa, vamos a caixa de entrada da conta de e-mail "oseuemail@gmail.com" (que é o e-mail modificad), e encontramos lá a mensagem que deveria ter sido enviada para "meuemail@gmail.com".
Espero que tenham entendedido toda essa teoria, mas agora vou lhes dar um pouco de prática para elucidar o que acabamos de ver:
Observem esse site: Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...
Superficialmente famoso, e serve para vocês vêrem na prática o tanto que eu falei ali encima.
Dando uma sacada na página, dá pra perceber que existe um form pra se entrar em contato, aqui vai a parte do código que pertence ao form:
Código HTML:
<form name="formEmail" action="http://i.capricho.abril.com.br/ferramentas/formMail.php" method="post" style="padding: 10px;"> <p class="meninas">Para participar da seção (Dú)vida da garota, mande suas perguntas sobre paquera,<br> namoro e relacionamentos para o Caíque,<br> o Dudu e o Federico.</p> <p style="font-size: 9px; padding-bottom: 15px; font-weight: bold; color: rgb(255, 0, 0); text-align: right;">* Campos obrigatórios</p> <p class="meninas">Nome:*<br><input class="campo" style="width: 280px;" name="Nome" id="nomeApelido2" maxlength="100" type="text"><br><br></p> <p class="meninas">Idade:*<br><input class="campo" style="width: 280px;" name="Idade" id="idade" maxlength="100" type="text"><br><br></p> <p class="meninas">Cidade/Estado:*<br><input class="campo" style="width: 280px;" name="Cidade" id="cidade" maxlength="100" type="text"><br><br></p> <p class="meninas">E-mail:*<br><input class="campo" style="width: 280px;" name="email" id="Email" maxlength="100" type="text"><br><br></p> <p class="meninas"><br>Pergunta:*<br><textarea rows="5" cols="100" class="campo" style="width: 280px;" name="Mensagem"></textarea><br><br></p> <input name="Assunto" value="Pergunta para os meninos de Vida de Garoto" type="hidden"> <input name="CorreioPara" value="redacaocapricho@gmail.com" type="hidden"> <input name="ParaPagina" value="http://capricho.abril.com.br/blogs/vidadegaroto/?email=1" type="hidden"> <input name="Erro" value="http://capricho.abril.com.br/blogs/vidadegaroto/?email=2" type="hidden"> </form>
Acho que já podemos brincar com isso, não acha? :P
Antes de tudo, caso você use o Firefox, existe uma Add-on que ajuda MUITO nesse hacking de campos ocultos, o nome dela é Groundspeed, você pode encontra-la aqui: Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... e descobrir outras informações sobre ela aqui: Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...
Depois de instalado o Groundspeed e reiniciado o firefox, siga até a página do blog da capricho, vá até o menu ferramentas e logo depois clique em Groundspeed, ele é em inglês, mas é tão simples de se usar que esse ponto nem merece preocupação.
Do lado direito do firefox você já deve estar vendo o Groundspeed, agora você clica em "Click to Load Forms", ai então aparecerá logo abaixo, todos os forms (e talvez outras coisas mais) encontrados na página, com seus nomes e tals ...
Siga para o formulário "formEmail" que é o que nos interessa, dê dois cliques nele e serão exibidos os campos logo abaixo, para trocar os atributos dos campos, basta primeiro clicar encima do campo que você quer, e logo depois dar dois cliques no atributo desejado logo abaixo.
Para finalizar nosso teste, modifique o atributo "value" do campo "Assunto" para qualquer coisa que você deseja, e faça o mesmo com o campo "CorreioPara", só que nesse caso, no atributo "value" coloque um e-mail ao qual você tenha acesso (por razões meio óbvias).
Feitas as modificações, volte para o form, e digite o que quiser no campo nome, mensagem, idade... Não importa o que seja, isso só irá servir para você ver a coisa funcionando de verdade (: .
Logo depois, clique no botão enviar que existe abaixo do form, e corra para o e-mail que você usou e veja o que você recebeu (olhe na caixa de entrada e na pasta de lixo eletrônico).
Legal não? Agora você pode enganar suas amigas viciadas nessas coisas da capricho, ou usar seu tempo livre pra algo mais útil, e codar algo pra enviar SPAM .
Bom, esta não é a única utilidade "Hacking" que se pode dar aos hidden fields, programadores negligentes põem muita coisa neles, achando que ninguém irá ver, eu já encontrei casos da quantidade de uma mercadoria ser guardada no hidden form, alguém poderia fazer um pedido de 90 televisões pelo preço de uma se quisesse, também já vi casos do valor do captcha estar guardado num hidden field, com um código simples, já se poderia burlar esse captcha ...
Enfim, o que vale é a sua imaginação (e a do programador que vai fazer a merda), para você conseguir coisas legais explorando hidden fields por ai, aposto que logo depois desse tutorial, você nunca mais irá olhar pra forms HTML com os mesmos olhos :P .
E obrigado pela atenção lendo meu tutorial (: .
Comment