Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

wneo

Input Names ocultos

Recommended Posts

Bom diaaa!!!

Pessoal estou estudando segurança na web...Visualizei o form de um site pela inspeção, e os names do input e o action não estavam visíveis... achei isso fantástico para proteção contra injection... alguém sabe como fazer isso? (ocultar os names e o action de um formulário)???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Manda o link do site.

 

É bem provável que não foi colocado na tag, mas foi adicionado via JS em tempo de execução

Sim, creio q está sendo usado uma função js para isso... como seria feito essa função em JS, para transferir os dados do input, sem a exibição dos names???

- Será q os names existem no fonte, porém estão ocultos para inspeção?

- Ou será os names não existem e tudo está sendo transmitido via função js?

 

-Como isso pode ser feito???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Manda o link. Só assim poderemos saber como o site faz.

 

Dá pra colocar só os IDs nos campos e manipular tudo via JS, em arquivo minificado.

Também é possível só adicionar os "name" e "action" dinamicamente no submit..

 

Enfim, há mais de uma alternativa. Você pode fuçar o fonte do site e descobrir como ele faz

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui fazer assim:

<script>
$(document).ready(function(){ 
var name = $("#input1").attr("name","name2");
});
</script>


</head> 
<body> 

<form method="POST" action="insert.php">
Escreva aqui<input type="text" id="input1" /><input type="submit" />
</form> 

Agora a questão é,

vou colocar esse js externo ao index certo...

mas o js continuará visivel na inspeção... e agora, qual a melhor forma para q ele torne-se interpretável por olhos humanos?


Manda o link. Só assim poderemos saber como o site faz.

 

Dá pra colocar só os IDs nos campos e manipular tudo via JS, em arquivo minificado.

Também é possível só adicionar os "name" e "action" dinamicamente no submit..

 

Enfim, há mais de uma alternativa. Você pode fuçar o fonte do site e descobrir como ele faz

então, não precisa ser igual aquele site, mas procuro uma ajuda para uma boa prática de fazer esse mecanismo, o qual identifiquei como uma boa proteção contra injection...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode usar só os IDs dos campos e manipular o form inteiro pelo JS. Dá pra usar o Grunt pra minificar (minify) e embaralhar (uglify) o código.

Boa!... vou ver como usar esse Grunt..caso tenha mais dicas pode mandar...

Você pode usar só os IDs dos campos e manipular o form inteiro pelo JS. Dá pra usar o Grunt pra minificar (minify) e embaralhar (uglify) o código.

<script>

$(document).ready(function(){

var name = $("#input1").attr("name","name2");

});

</script>

 

 

</head>

<body>

 

<form method="POST" action="insert.php">

Escreva aqui<input type="text" id="input1" /><input type="submit" />

</form>

Será q nesse modelo de js q apresentei acima, consigo colocar o action e atribuir a pagina q vou enviar o post?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara... a verdade é que não vai fazer muita diferença... Todo esses são métodos para 'ocultar' o código de usuários normais. Alguém que saiba fazer injection definitivamente vai saber como desembaralhar (js beautifier) seu JS e encontrar o que procura.

Sendo assim, não espere que o frontend seja seguro. Ele - provavelmente - NUNCA vai ser, pois os usuários tem acesso a todos os seus códigos-fonte, cookies, etc. Você pode tornar mais dificultoso, mas, seguro mesmo, não. O único modo de garantir a segurança do seu sistema contra injections é no backend mesmo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara... a verdade é que não vai fazer muita diferença... Todo esses são métodos para 'ocultar' o código de usuários normais. Alguém que saiba fazer injection definitivamente vai saber como desembaralhar (js beautifier) seu JS e encontrar o que procura.

 

Sendo assim, não espere que o frontend seja seguro. Ele - provavelmente - NUNCA vai ser, pois os usuários tem acesso a todos os seus códigos-fonte, cookies, etc. Você pode tornar mais dificultoso, mas, seguro mesmo, não. O único modo de garantir a segurança do seu sistema contra injections é no backend mesmo.

Perfeito...então com o pensamento no backend, estou tentando uma forma com php, ou então o js q tem sido o q chamou atenção por ocultar os names, travando ai um dos métodos de injection...

Saberia me dizer algo em php, js ou qualqr linguagem voltada pra web para obter sucesso?(tenho pensado tbm em DLLs para conexão)

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que o Rafael Sirotheau disse está correto. Você vai ocultar os "name"s só dos usuários mais leigos. Mas sempre haverá como burlar isso.

 

É a velha história do "não quero que copiem meu site". A pessoa vai lá e bloqueia a tecla CTRL, bloqueia clique com o botão direito... Mas basta desativar o JS no navegador e pronto.

 

Em suma, não há como evitar. Só é possível dificultar, que é o que você viu no site que mencionou.

 

 

Leia sobre CSRF e como se proteger disso. Não precisa de DLL (aliás, se usá-las, você nunca poderá hospedar eu site em um servidor Linux) nem muita complicação.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.