Jump to content


Photo

Segurança Na Internet


  • Faça o login para participar
94 replies to this topic

#1 Luis Otávio

Luis Otávio

    Super Veterano

  • Usuários
  • 3113 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre
  • Interesses:- Desenvolvimento de aplicações Web com linguagem server-side PHP.

    - Desenvolvimento de aplicações Web com linguagem cliente-side JavaScript, conhecedor e utilizador da biblioteca jQUERY e todas suas características.

    - Otimização de Desempenho aplicados a performance de banco de dados Mysql.

    - Otimização de Desempenho para servidores Web utilizando-se como Webserver NGINX em conjunto com Varnish.

    - Sólidos conhecimentos no CMS WordPress para novas implementações, manutenção, criação e otimização de Plugins.

    - Práticas de atendimento, relacionamento e suporte ao cliente. Trabalhando voltado ao público desde o lançamento da empresa iPORTO.COM, criando laços e vínculos com os mais de Mil clientes da empresa e os braços do grupo.

Posted 13/10/2004, 19:32

A segurança na internet...

Bem, vendo que aqui no fórum tem bastante gente que pergunta sobre segurança, e se pergunta... como aquele cara conseguiu invadir o meu site, se eu fiz um sistema de login tão bonitinho, e/ou, eu baixei um sistema de login que funcionou tão bem.

Primeiro, se vc baixou um sistema de login pronto, mude o nome de todas, eu disse TODAS as variaveis usadas no sistema, por que se alguém com más intenções baixar o mesmo codigo que vc, ele poderá ver todas as imperfeições que o sistema possui, e num venham me dizer que tem sistema perfeito, por que num tem, ele é perfeito até alguém achar uma falha nele... então, o que podemos fazer, é dificultar ao máximo que alguém descubra as falhas que ele possa vir a apresentar... ;)

login's prontos costumam usar sessions assim, ou até mesmo quem faz seus próprios sistemas:

session("usuario")
session("password")
session("senha")
session("login")
session("cod_usuario")
session("cod_password")
session("cod_pass")
session("root")
session("nome")


bem, aqui estão algumas session citaveis que vc NÃO PODE, mas de jeito maneira colocar no seu sistema de login, estas vão ser as primeiras sessions que o cara vai tentar burlar no seu sistema... então, se tens estas sessions no seu sistema... MUDE... coloque coisas completamente diferente, que até vc se perca na hora que está programando.... como:

session("nomizinho")
session("iscundido")
session("ninguem_vai_descobrir_o_nome_desta_session")


entenderam... é para complicar mesmo... afinal, ninguem pensa que ficar sentado na frente do micro pensando que jeito que um xxxxxx que num tem nada para fazer vai usar para invadir o meu sistema é facil...

bem.. vamos as validações básicas de campos de login e senha?

tipico form de login e senha

<form method="POST" action="pagina.asp">
    <input type="text" name="login">
    <input type="password" name="senha">
    <input type="submit" value="enviar">
</form>

bem isso é o basico de um login e senha...
Vamos começar com as validações.

Validações no cliente:

Quase inuteis quando vamos tratar com hacker... hehe, mas vamos faze-las mesmo assim, e depois vou explicar por que elas são inuteis ao meu ver..

<script language="JavaScript">
<!--
function valida(form){
    if (document[form].login.value == ""){
        document[form].login.focus();
        alert('Por favor, informe seu login');
    }
    else if (document[form].senha.value == ""){
        document[form].senha.focus();
        alert('Informe sua senha');
    }  
    else{
        document[form].submit();  
    }
}
//-->
</script>

Com este script fazemos a verificação se os campos de login e senha num estão vazios antes de ser enviados... interessante, para não sobrecarregar o servidor quanto a usuarios normais... por que ele será processado no computador do cliente, não tendo nenhum trabalho para o sevidor

então chamamos este script no formulario assim, o formulario ficando desta forma:

<form method="POST" action="pagina.asp">
    <input type="text" name="login">
    <input type="password" name="senha">
    <input type="button" onclick="verifica('form');" value="enviar">
</form>

Pronto, se o cara clicar no campo enviar, e num tiver escrito nada nos campos, será avisado atraves de um alert na pagina...

agora vou dizer por que ele é meio inutil quando falamos de hacker.... mas mesmo assim acho bom que seja feito...

supomos que o hacker entrou no seu site, e tentou entrar no seu login e senha como vazio e deu este alert na pagina... ele vai clicar com o botão direito na sua pagina, vai copiar o codigo da sua pagina, e vai rodar no micro dele o codigo assim..

<form method="POST" action="http://www.seusite.com.br/pagina.asp">
    <input type="text" name="login">
    <input type="password" name="senha">
    <input type="submit" value="enviar">
</form>

pronto, ele tirou o javascript que via se o campo estava vazia e rodou no micro dele, podendo fazer o login sem digitar usuario e senha.. que perigo né... heheh :o

então para isso agente faz a verificação no servidor tb, com um codigo simples

<%
login = request.form("login")
senha = request.form("senha")

if login = "" then
    response.redirect "PaginaDoLogin.asp"
    response.end()
end if
if senha = "" then
    response.redirect "PaginaDoLogin.asp"
    response.end()
end if
%>

Pronto, verificamos no servidor se o campo login e senha está vazio... agora mesmo o cara rodando no micro dele o form, num vai ter problema se ele enviar campos vazios...

Mas, porém, num para por ai... :angry:

o cara, vai ver que pelo menos vc fez esta verificação...

mas agora ele vai digitar apenas uma aspas simples no campo login que se vc num fez os tratamentos necessários vai gerar um erro...

então dando erro na sua pagina, ele vai pensar... "hehe, este tongo num fez esta verificação... agora vai ser fácil entrar no site dele"

então começam as tentativas...

ele pode digitar no campo login algo assim:

' ; drop table users--

este comando simplesmente deletara da sua base de dados a tabela users.. nossa, que perigo, :o :(

imagina vc perdendo todos os cadastrados que tinha no seu site...
E se você pensa que é muito difícil o hacker adivinhar o nome da sua tabela vou mostrar mais abaixo que ele pode fazer isto de uma maneira simples. Isto é possível pois o caractere ; indica o fim de uma consulta e o começo de outra em T-SQL , e , o caractere (--) no final da linha faz com que o script ASP seja executada sem erro.

bem, vendo que vc num tem segurança alguma, ele vai continuar tentando de muitas formas

entrar no seu sistema... agora ele pode tentar assim:

login = admin
senha = ' or 1=1--


Veja como vai ficar a consulta SQL montada: :rolleyes:

select * from usuarios where nomeUsuario='admin' and senhaUsuario='' or 1=1--'
Aqui a consulta irá verificar se o nome do usuário é admin e se senha é vazio ou 1 for igual a 1 ( e 1 é igual a 1 todos nós concordamos.. hehe ) pronto, se existir um usuário admin ele entrou no seu sistema.

ou quem sabe se o nosso amigo hacker tentar fazer isso:

login = ' or 1=1--
senha =

entendendo... fica assim: :rolleyes:

select * from usuarios where nomeUsuario='' or 1=1 --' and senhaUsuario=''
e magavilha... ele burlou o seu sistema.

ou quem sabe a forma mais simples de se burlar sistemas... que é assim, que todos deveriam

saber quando estão começando a fazer um site,... :rolleyes:

login = ' OR "='
senha = ' OR "='

select * from usuarios where nomeUsuario='' OR "=" AND senhaUsuario='' OR "="
a consulta agora esta fazendo a comparação : OR "=" que é sempre verdadeira. caramba ele entrou no seu site.

ha.. e quem disse que num tinha como saber que nomes vc estava dando as tabelas.. ele pode

fazer assim:

login = ' having 1=1--
senha =

que vai dar um erro mais ou menos assim:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft] [ODBC SQL Server Driver] [SQL Server] Column 'usuarios.codigo' is invalid in the

select list because it is not contained in an aggregate function and there is no GROUP BY

clause.

/pagina.asp , line 37


intão... , o hacker agora sabe que o nome da tabela é usuarios e o nome do campo relacionado no formulário como nome é codigo. MEU DEUS.. eu to F... pronto.. agora que ele ja está de posse do nome da tabela dos usuarios, o q ele vai fazer agora? vai pegar o nome da senha tb.. é ósbiviu...

bem, agora que ele sabe os campos de login e senha.... vc pensa.. o q ele vai fazer? vai se cadastrar no seu site... oras... heeheheh.... vamos ver como se cadastra?

login = ' ; INSERT INTO usuarios VALUES('iporto','1984')--
senha =

e magavilha! , ele vai se logar como iporto e senha 1984.

pronto... se cadastrando na área administrativa do seu site... agora só resta vc chorar.. hehehe :lol: , mas num se desespere... podemos fazer com q ele num consiga fazer tudo isso, ou como disse acima... podemos DIFICULTAR isso que ele esta tentando fazer... o que fazer então... num vamos deixar o cara usar este tipo de palavras, letras,... caracteres que só geram erros... assim:

<%
login = request.Form("login")
login = replace(login,"'","''")
login = replace(login,"#","''")
login = replace(login,"$","''")
login = replace(login,"%","''")
login = replace(login,"¨","''")
login = replace(login,"&","''")
login = replace(login,"'or'1'='1'","''")
login = replace(login,"--","''")
login = replace(login,"insert","''")
login = replace(login,"drop","''")
login = replace(login,"delet","''")
login = replace(login,"xp_","''")
login = replace(login,"select","''")
login = replace(login,"*","''")
%>

faça isso no campo de loogin e no campo de senha... bem, quanto a isso podemos ficar mais tranquilos... mas não desatentos.. hehe

bem, outra coisa que ia me esquecendo... é que sempre tem um engraçadinho que gosta de digitar html nos campos de cadastros ou de login... mas estes agente barra facim facim...

assim:

<%
login = Server.HtmlEncode( request.form("login")
%>

pronto... ai no campo login num entra mais html nenhum... tudo que vc colocar de html ai ele vai mudar para codigo mesmo... exemplo... se vc digitar um espaço na hora do cadastro, ele vai escrever no formulario algo assim: &nbsp; ( que seria o espaço no html... )

ha... eu ia me esquecendo ja de falar como num deixar o cara fazer login na sua pagina pelo micro dele... bem, num é difil de fazer... e tem que ser feito!!!

nós vamos usar este codigo para verificar se o espertinho num está rodando o formulario de login no micro dele...

<%
IF Request.ServerVariables("HTTP_REFERER") <> Request.ServerVariables("SERVER_NAME") and 
   Request.ServerVariables("HTTP_REFERER") = "" THEN

    response.write "ACESSO BLOQUEADO"
    response.end()
Else
%>
    <script language="JavaScript">
    <!--
    function valida(form){
        if (document[form].login.value == ""){
            document[form].login.focus();
            alert('Por favor, informe seu login');
        }
        else if (document[form].senha.value == ""){
            document[form].senha.focus();
            alert('Informe sua senha');
        }  
        else{
            document[form].submit();  
        }
    }
    //-->
    </script>

    <form method="POST" action="pagina.asp">
        <input type="text" name="login">
        <input type="password" name="senha">
        <input type="button" onclick="verifica('form');" value="enviar">
    </form>
<%
End IF
%>

bem... deste jeito é QUASE impossivel que o cara tente acessar seu formulario de login do micro dele...

Outras regras básicas de segurança:

não use www.seusite.com.br/admin

afff.... tem coisa mais básica que isto... procure no google, o q mais tem é site com o admin neste caminho... faça algo diferente...

use... www.seusite.com.br/abracadabra/giraia/showdaxuxa/qui_legal.asp

o exemplo é ridiculo... mas é mais ou menos assim que vc tem que fazer... para dificultar... como eu digo... temos que sempre dificultar a vida do hacker ao tentar entrar no nosso site... outra coisa que podemos fazer... é num deixar o google, ou outros sites de pesquisa, cadastrar a nossa pagina de login nos buscadores... imagina, se o cara procura por alguma palavra que está no seu admin e acha o caminho completo, dai num vai adiantar de nada agente ter postado uma url gigante... para num deixar cadastrar agente pode fazer assim:

Para que, esses "robôs" não incluam seu site, utilizamos o arquivo robots.txt e colocamos ele no diretório raiz do site, assim:

http://www.seusite.com.br/robots.txt

coloque isso no seu arquivo.. :rolleyes:

User-agent: *
Disallow: /abracadabra/giraia/showdaxuxa/


para impedir outras pastas... use assim: :rolleyes:

User-agent: *
Disallow: /abracadabra/giraia/showdaxuxa/
Disallow: /caramba/
Disallow: /images/


Depois que você fazer o seu arquivo robots.txt e colocá-lo no diretório raiz de seu site, você pode verificar se ele está funcionando utilizando o site:

http://www.searchengineworld.com/cgi-bin/robotcheck.cgi

Mais uma dica.. hehe...
depois de ter feito esta muntueira de coisa que eu falei... por favor, mas por favor mesmo, eu peço de coração... não use senhas ridiculas... tipo:

amor, admin, root, administrador, seu_nome, seu_site, 123, 123456, 654, 321, 789, 987, 951, 753, 741, 852, 963 e outras combinações muito fáceis de se burlar... num esqueçam que existem programas na internet que força a tentativa de achar senhas usando as senhas mais conhecidas q o povo usa... e num pense que abacate, azul, limão, lion. giraia, teletubies, num estão entre as senhas mais conhecidas, por que estão, há na internet, dicionários de senhas, com milhares de senhas comuns.. intão o que eu digo a fazer?

usuarios e senhas alfanumericos... com no minimo seis digitos, como por exemplo.
x19y8q

sabe quando um programa de senhas vai descobrir a minha? até pode descubrir, mas depois de anos de tentativas... o hacker até vai esquecer de mim...
outra coisa que vc pode colocar no seu sistema de login, seria senhas alfanumericas caso sentitivo ó! :o falei grego? ai vai um exemplo:
Di7UwA

viram, diferenciação entre maiusculas e minusculas.. quase que impossivel de ser
descoberta... hehe...

Bem, aqui dei exemplos de como proteger o admin, e como proteger áreas de acesso restritos no seu site...
bem, sei que ainda existem inúmeras formas de se deixar um site seguro, porém o meu intuito, foi apenas dar uma breve, isso mesmo BREVE introdução para a segurança do seu site, pois acredite, isso daria um livro com muitas páginas...

Intão, se alguém tiver algo a acrescentar, sinta-se a vontade, creio que este tópico só nos fará crescer e muito no nivel de conhecimento... por que eu particularmente me mato de rir, aqui sozinho de como é facil de se invadir sites na internet... então vou ficando por aqui, e desculpe se há algum erro de digitação, ou alguma falha em algum codigo de exemplo,

lembre-se eles são exemplos, e como eu falei.. tudo tem que ser alterado para você e somente Você mexer e saber como ele funciona.


Fontes: Sites da internet, Livros, e os próprios sites sem segurança.. heheheheh

Abraço a todos...

;) (y)

PS: Mais sobre segurança veja este outro tópico aberto.
http://forum.wmonlin...showtopic=91546

Edição feita por: Renan L. Queiroz, 05/01/2010, 15:06.
Inclusão da tag [ code ] para postagem de scripts

* Otávio Nogueira
* Administração e Configuração de Servidores;
* Combinação Perfeita: NGINX + PHP + VARNISH + HAPROXY
* otavio*iporto.com ~ Tel: +55 51 3366 0177 | +55 51 4063 7343 |
* @iporto

#2 Agente Linhares

Agente Linhares

    fuis...abraços!

  • Ex-Admins
  • 3138 posts
  • Sexo:Não informado
  • Localidade:Biritiba Mirim-SP

Posted 13/10/2004, 19:56

nossa brother, muito boas as dicas..eu sempre fiquei meio cabreiro qt a segurança e sempre fiz minhas ganbiarras tentando resolver isso ou pelo menos como vc disse Dificultar.


tp uma cois aq tb poderia dificultar mais as questões nos nomes das sessions é colocar elas com números aleatórios..

aí talvez essa parte ja dificulte um pouco e tals...
> Busca On-line - A Busca que faltava na Internet! - Cadastre-se!
---------------------------------------------------------------------------
> BRdesign.NET - Soluções em Websites e Sistemas E-Commerce.
---------------------------------------------------------------------------
> BR-ecommerce - Sua loja virtual na internet! - Apenas R$99,90 mensais (hospedagem inclusa)!

#3 GuiSantos

GuiSantos

    Eu sou bunito nao?

  • Usuários
  • 235 posts
  • Sexo:Não informado
  • Localidade:Taquara-RS

Posted 14/10/2004, 01:01

:blink: Nossa, excelente tópico, mandou bem Otavio (y) :)

Hj em dia tem "hackersinhos" espalhados em todos os cantos.
E nessa questão de segurança, temos que ser mais espertos que eles :angry:

Eu mesmo, ja vi varios sites, conhecidos, com admin EX: "endereço do site/admim" com senhas absurdas "admin" "123" (n)

Imagina, tu tem um loja, famosa, varias vendas por dia e tal, e não cuida dessa questão, entra um cara, na tua admin, pronto, ta feito o estrago!!!

Bom, eu vou dar minha diquinha, por mais simples que seja, é muito facil baixar um banco de dados .mdb, basta saber o link, pronto!!! <_<

Então, minha dica, é que sempre coloquem senhas nos Bancos de vcs, bem dificis, pq há programas que "quebram" senhas de Bancos ACCESS! (n)

Tmb, é sempre bom, criptografar a senha, CPF, cartão de crédito, etc das tabelas do banco (y) ...

Bom, to sem palavras hj :P
Se eu me lembrar de mais umas dias, eu ja passo pra vcs, e vamos la, cada um contribuindo com suas dicas, faremos um excelente tópico (y)

Flw, T+ ;)
To meio ausente ultimamente!

#4 Agente Linhares

Agente Linhares

    fuis...abraços!

  • Ex-Admins
  • 3138 posts
  • Sexo:Não informado
  • Localidade:Biritiba Mirim-SP

Posted 14/10/2004, 03:43

pro bd o bom seria sempre deixar no diretório protegido do host, pra evitar esses tp de download do bd
> Busca On-line - A Busca que faltava na Internet! - Cadastre-se!
---------------------------------------------------------------------------
> BRdesign.NET - Soluções em Websites e Sistemas E-Commerce.
---------------------------------------------------------------------------
> BR-ecommerce - Sua loja virtual na internet! - Apenas R$99,90 mensais (hospedagem inclusa)!

#5 calcio

calcio

    PHP é oq manda! Heavy Metal na veia!

  • Usuários
  • 377 posts
  • Sexo:Não informado
  • Interesses:Desenvolvimento de websites e Gerenciamento de Projetos

Posted 14/10/2004, 13:47

Gostaria de pedir sua permisão para colocar isso em outros foruns convertido em PHP, Claro q colocarei o ser Crédito é um link para esse Post!
Abraços Cálcio Heavy Metal

#6 Luis Otávio

Luis Otávio

    Super Veterano

  • Usuários
  • 3113 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre
  • Interesses:- Desenvolvimento de aplicações Web com linguagem server-side PHP.

    - Desenvolvimento de aplicações Web com linguagem cliente-side JavaScript, conhecedor e utilizador da biblioteca jQUERY e todas suas características.

    - Otimização de Desempenho aplicados a performance de banco de dados Mysql.

    - Otimização de Desempenho para servidores Web utilizando-se como Webserver NGINX em conjunto com Varnish.

    - Sólidos conhecimentos no CMS WordPress para novas implementações, manutenção, criação e otimização de Plugins.

    - Práticas de atendimento, relacionamento e suporte ao cliente. Trabalhando voltado ao público desde o lançamento da empresa iPORTO.COM, criando laços e vínculos com os mais de Mil clientes da empresa e os braços do grupo.

Posted 14/10/2004, 14:04

Gostaria de pedir sua permisão para colocar isso em outros foruns convertido em PHP, Claro q colocarei o ser Crédito é um link para esse Post!

Permição concedida... hehe.. vamos la, pode passsar para PHP o "artigo" vamos tentat consientizar um maior numeros de pessoas q a internet precisa ser segura... ( hehe, pareco lider sindical falando assim )

mas pode sim... depois só coloca o link ai para a galera ler o artigo em PHP tb..

falow..

;) (y)
* Otávio Nogueira
* Administração e Configuração de Servidores;
* Combinação Perfeita: NGINX + PHP + VARNISH + HAPROXY
* otavio*iporto.com ~ Tel: +55 51 3366 0177 | +55 51 4063 7343 |
* @iporto

#7 Tx.NET

Tx.NET

    || ||||||| ||| ||||||||

  • Banidos
  • PipPipPipPipPipPipPip
  • 619 posts
  • Sexo:Não informado

Posted 14/10/2004, 14:49

velho.. gostei do seu tópico... tipo soh acho q devia colocar também, soh pra terminar uma referência a filtros gerais.. não soh de SQL injection...

tipo, pra scripts em geral... uma falha bem comum em murais q pela falta da mesma, acabam ficando abertos a sacanagens e modificações...

Explico:

imagine se em seu mural (sem filtro), alguém posta uma mensagem:

<script>while(true){alert("PAM!");}</script>

Quando seu ASP for ler o banco, ele simplesmente escreverá um script para todos os usuários, fazendo com q uma mensagem fique permanentemente na tela.. agora imagine isto com janelas... seria um inferno de janelas.....

para se ter uma idéia do que estou falando.. entrem em:
www.cliquenabalada.com.br
e postem uma mensagem com script no mural....
ninguem quer isso em seu site, correto?!

pois bem... para evitar isso, coloque antes de mandar os textos pro banco ou antes de escrever, um replace, removendo o sinal de menor e maior (<,>), mais ou menos assim:

Replace (variavel, ">", "")
Replace (variavel, "<", "")


cabô... duas linhas e nenhuma preocupação... rs..

(parabéns pela promoção iporto)

flws.. (y)

Edição feita por: Tx.NET, 14/10/2004, 14:50.

> ls -la
-rwxr-xr-- 1 fmaynnard user 9666 nov 28 00:00 hell

> shutdown -h now

#8 Tx.NET

Tx.NET

    || ||||||| ||| ||||||||

  • Banidos
  • PipPipPipPipPipPipPip
  • 619 posts
  • Sexo:Não informado

Posted 14/10/2004, 17:56

soh uma pergunta...

iporto, vc comentou sobre sessions com nomes comuns... posso estar errado (por favor me corrija caso esteja) mas a sessão tem o endereço a qual ela pertence e sua sessão soh é válida se for criada pelo seu domínio, correto?!

tipo, para entender melhor, teste uma página de login em seu localhost e depois de logar, tente acessar este mesmo sistema quando publicado no servidor... num funfa...

entaum pq colocar um nome complicado em minhas sessions?!


flws.. (y)

Edição feita por: Tx.NET, 14/10/2004, 17:56.

> ls -la
-rwxr-xr-- 1 fmaynnard user 9666 nov 28 00:00 hell

> shutdown -h now

#9 Luis Otávio

Luis Otávio

    Super Veterano

  • Usuários
  • 3113 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre
  • Interesses:- Desenvolvimento de aplicações Web com linguagem server-side PHP.

    - Desenvolvimento de aplicações Web com linguagem cliente-side JavaScript, conhecedor e utilizador da biblioteca jQUERY e todas suas características.

    - Otimização de Desempenho aplicados a performance de banco de dados Mysql.

    - Otimização de Desempenho para servidores Web utilizando-se como Webserver NGINX em conjunto com Varnish.

    - Sólidos conhecimentos no CMS WordPress para novas implementações, manutenção, criação e otimização de Plugins.

    - Práticas de atendimento, relacionamento e suporte ao cliente. Trabalhando voltado ao público desde o lançamento da empresa iPORTO.COM, criando laços e vínculos com os mais de Mil clientes da empresa e os braços do grupo.

Posted 14/10/2004, 19:19

Cara, vc está coberto de razão quando diz que a session só funciona quando for criada no proprio dominio... até ai eu te dou razão..

só que.... quando eu abri o topico, eu num estava pensando somente em gente normal sem nada para fazer tentando invadir a sua pagina... eu tava pensando em gente chata mesmo... mas aquele tipo carrapato...

intão o q eu te respondo... o tio Bill inventou o windows... e mais um tempo depois.. inventou o windows XP e quando ele inventou o windows XP... vc pode fazer muitas coisas no regedit... e muitas coisas executando um autoexec.bat...

pois é.. vc sabia, que se vc tiver paciencia e conhecimento vc pode dar um nome para o seu computador assim www.iporto.com eu sei que só tentando renomear o computador ele num deixa colocar pontos e outros caracteres invalidos...
mas se vc for nas chaves mais obscuras do computador, e criar uns arquivinhos de má fé... ( e tiver tempo e vontade para isso ) isso é possivel....

dai vai ficar assim...

server = Request.ServerVariables("HTTP_REFERER")

<%=server%>
www.iporto.com

bem, podem discordar de mim e dizer que isso num pode ser feito... heheh, mas pode sim... claro.. tem mais um monte de coisa... que vc tem que fazer para invadir um site com boa segurança... e muito sangue frio...

Vou dar um exemplo.. num sei se vai se encaixar muito bem,... assim:
www.banco.com.br , esta seria a pagina de um banco...
só eles possuem este dominio...
mas tem gente que consegue burlar isso, fazendo www.banco.com.br/PaginaParaRoubarDados.asp

este www.banco.com.br é apenas uma fachada, para rodar em um servidor nada a ver com este dominio... então o cara envia e-mails em massa para as pessoas dizendo para elas mudarem a senhas delas... elas vão ver www.banco.com.br vão penas "sim, esta é a pagina do meu banco" vão la e mudam a senha... então... o cara roubou as senhas destas pessoas... ( por isso ninguém deve digitar nada em e-mails enviados por bancos, por que eles num mandam e-mail para ninguém )

E dai o que tem a ver com as session? pense... junte todas as idéias... e num faça que da cadeia.... hahahhahah

Mas se o cara, consegue criar um dominio igual a um existente, por que não invadir as paginas de banco e pegar varios dinheiro... por seria muito mais cansativo ver o conteudo de uma dll, que é como rodam as paginas de banco... e até la ja te pegaram....

e por que num usar isso para invadir lojinhas pequenas... num vale apena o esforço.. heheheh, é mais facil invadir o servidor e colocar um virus para rodar ( mas dai isso num tem a ver com paginas .asp que foi o inicio do topico. )

Intão vc quer dizer que num existe pagina segura na web? eu digo que não... se vc tiver paciencia e conhecimento, entra em todas... então eu tenho que me matar e tirar meu micro da linha telefonica? não... protega suas paginas... a maioria dos hackers... ou melhor crackers.. entram nas paginas apenas para zoar, pegar e-mails e espalahar para a galera... e isso é facil de arrumar, basta usar algumas dicas de segurança basica aprensentada no topico....

voltando a pergunta do Tx.Net... é possivel burlar o conteudo de uma session, acreditem se quiser...
e descuta comigo quem tiver argumento... hahhaahahaha.... ( brincadeirinha )

ha ia me esquecendo... ja iam dizer q eu estou caindo em contradição.. heheh

este codigo funciona
<%
IF Request.ServerVariables("HTTP_REFERER") <> Request.ServerVariables("SERVER_NAME") and 

Request.ServerVariables("HTTP_REFERER") = "" THEN
response.write "ACESSO BLOQUEADO"
response.end()
%>

Não é todo mundo que vai ter tempo de criar um servidor igual ao seu no micro dele, só para te invadir... hehe, isso é so para paginas maiores... mas para paginas maiores vc vai pensar em outros tipos de segurança... que não se baseiam somente na propria pagina...

Outra coisa que parece besteira... mas vc sabia que vc pode rodar uma pagina .asp com extensão .xxx

basta configurar no servidor... pode parecer besteira... mas muitos metidinhos vão deixar de tentar invadir a sua pagina por nem saberem com que linguagem vão estar tratando...

Mais uma coisinha... no sistema de administração Sempre que alguém se logar, guarde o IP e o horário do log... e confira estes log's de visitas com os que vc faz... se for diferente dos seu... ja sabe que algo está errado.... mantenha o olho aberto...

bem.. eu acho que era isso... quem tiver algo mais a expor... que fale...

;) (y)

Edição feita por: Renan L. Queiroz, 05/01/2010, 15:07.
Inclusão da tag [ code ] para postagem de scripts

* Otávio Nogueira
* Administração e Configuração de Servidores;
* Combinação Perfeita: NGINX + PHP + VARNISH + HAPROXY
* otavio*iporto.com ~ Tel: +55 51 3366 0177 | +55 51 4063 7343 |
* @iporto

#10 Tx.NET

Tx.NET

    || ||||||| ||| ||||||||

  • Banidos
  • PipPipPipPipPipPipPip
  • 619 posts
  • Sexo:Não informado

Posted 15/10/2004, 08:11

cara, muito boa essa sua de renomear o pc... acho meio difícil alguem resolver descobrir os nomes de minhas sessões (já que naum estão em arquivos.inc... rs...)... mas d boa...

esse do Request.ServerVariables("HTTP_REFERER") eu uso em todos meus forms, dando o endereço da página q posta... tipo q dá uma ajudinha com os filtros e talz...

concordo com a inclusão de IP´s e datas no banco... é algo que deveria se tornar obrigatório!!!!!! rs... ponha o IP no seu banco!!!!

porém, se o cara tiver mesmo afim de te zoar, e ele jah tiver o mapa da mina, ele pode utilizar um dakeles servicinhos de anonymous q tem (pelo menos tinha) pela net e "mascarar" seu ip... rs... aí ferrô... rs... mas acho difícil existir tanta paciencia em um só ser....

cara, temos q difundir estas infos.. acho realmente importante tudo q foi dito aki, e realmente acho q falta qualificação e profissionalismo na NET.. tipo q tem gente q vai ver o tópico pendurado.. tah lah... SEGURANÇA NA INTERNET... e o carinha nem passa perto...

SQL Injection
Session
BD seguros
Senhas
URLs seguras
Includes seguros


por favor, se informem e divulguem!!!!

flws... (y)
> ls -la
-rwxr-xr-- 1 fmaynnard user 9666 nov 28 00:00 hell

> shutdown -h now

#11 Luis Otávio

Luis Otávio

    Super Veterano

  • Usuários
  • 3113 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre
  • Interesses:- Desenvolvimento de aplicações Web com linguagem server-side PHP.

    - Desenvolvimento de aplicações Web com linguagem cliente-side JavaScript, conhecedor e utilizador da biblioteca jQUERY e todas suas características.

    - Otimização de Desempenho aplicados a performance de banco de dados Mysql.

    - Otimização de Desempenho para servidores Web utilizando-se como Webserver NGINX em conjunto com Varnish.

    - Sólidos conhecimentos no CMS WordPress para novas implementações, manutenção, criação e otimização de Plugins.

    - Práticas de atendimento, relacionamento e suporte ao cliente. Trabalhando voltado ao público desde o lançamento da empresa iPORTO.COM, criando laços e vínculos com os mais de Mil clientes da empresa e os braços do grupo.

Posted 15/10/2004, 11:39

Pois é.. eu nunca usei estes malditos .inc.. hehe, mas quem costuma pegar coisas prontas... que costuma usa-los... mas... né...

A discução aqui está seguindo muito boa, creio que podemos ganhar muito conhecimento se todos participarem com algum tipo de ajuda... tipo, o que costuma usar nos seus sistemas que costumam precisar de uma segurança maior... estas coisas...

vou dar mais uma estudada aqui... e mais além eu posto mais coisas... hehe, falow..

;) (y)
* Otávio Nogueira
* Administração e Configuração de Servidores;
* Combinação Perfeita: NGINX + PHP + VARNISH + HAPROXY
* otavio*iporto.com ~ Tel: +55 51 3366 0177 | +55 51 4063 7343 |
* @iporto

#12 Agente Linhares

Agente Linhares

    fuis...abraços!

  • Ex-Admins
  • 3138 posts
  • Sexo:Não informado
  • Localidade:Biritiba Mirim-SP

Posted 15/10/2004, 20:59

tba cho. e antigamento qd eu usav aesses tps de sists. eu sempre usava e pior.. nao mudava nada. isso é fatal msm, poi so .inc dá pr abaixar nomra como o bd fora de dir protegito..

e uam sugestão: ao término desse topico, poria ser feito um resumo com as soluções pr a ficar legal e fácil de achar.

tp assim: deixar esse so pr adiscução ecomo ta sendo e criar um trancado com as soluções à medida q for surgindo e tals.

o topico t amuito interessante msm.
> Busca On-line - A Busca que faltava na Internet! - Cadastre-se!
---------------------------------------------------------------------------
> BRdesign.NET - Soluções em Websites e Sistemas E-Commerce.
---------------------------------------------------------------------------
> BR-ecommerce - Sua loja virtual na internet! - Apenas R$99,90 mensais (hospedagem inclusa)!

#13 kdu

kdu

    Turista

  • Usuários
  • 32 posts
  • Sexo:Não informado

Posted 15/10/2004, 22:35

Para que, esses "robôs" não incluam seu site, utilizamos o arquivo robots.txt e colocamos ele no diretório raiz do site, assim:

http://www.seusite.com.br/robots.txt

coloque isso no seu arquivo.. :rolleyes:

User-agent: *
Disallow: /abracadabra/giraia/showdaxuxa/


para impedir outras pastas... use assim: :rolleyes:

User-agent: *
Disallow: /abracadabra/giraia/showdaxuxa/
Disallow: /caramba/
Disallow: /images/


Depois que você fazer o seu arquivo robots.txt e colocá-lo no diretório raiz de seu site, você pode verificar se ele está funcionando utilizando o site:

http://www.searchengineworld.com/cgi-bin/robotcheck.cgi

falae iporto, blz?!

cara nao vi utilidade nesse lance ae de robots... pelo contrario, ele ajuda eh a entregar de mao beijada todos os diretorios q vc nao quer q achem...

ex: http://www.wmonline.com.br/robots.txt

se eles nao queriam q ninguem soubesse desse diretorio, ja era neh hehehe


bem, posso estar enganado, tem como explicar isso ae de novo, por favor?!


[]'s
<%

usuario = "kdu"

favoritos = "MySupport - Sistema de Atendimento Online"

frase = "Quem procura oque não sabe, quando encontra nao reconhece!"

%>

#14 Bob

Bob

     

  • Usuários
  • 536 posts
  • Sexo:Masculino

Posted 17/10/2004, 13:58

Pra não rastrearem eu uso a seguinte tag:
<meta name="robots" content="noindex,nofollow" />

Na teoria da certo, só não sei na prática. :D

#15 Info_Tec

Info_Tec

    Servo do DEUS VIVO!

  • Usuários
  • 398 posts
  • Sexo:Não informado
  • Localidade:Entre a cadeira e o teclado
  • Interesses:Jesus, minha esposa e filha.<br>ASP, Lógica de programação, Projeto de Estradas, $$$ que tô precisando!

Posted 17/10/2004, 14:37

velho.. gostei do seu tópico... tipo soh acho q devia colocar também, soh pra terminar uma referência a filtros gerais.. não soh de SQL injection...

tipo, pra scripts em geral... uma falha bem comum em murais q pela falta da mesma, acabam ficando abertos a sacanagens e modificações...

Explico:

imagine se em seu mural (sem filtro), alguém posta uma mensagem:

<script>while(true){alert("PAM!");}</script>

Quando seu ASP for ler o banco, ele simplesmente escreverá um script para todos os usuários, fazendo com q uma mensagem fique permanentemente na tela.. agora imagine isto com janelas... seria um inferno de janelas.....

para se ter uma idéia do que estou falando.. entrem em:
www.cliquenabalada.com.br
e postem uma mensagem com script no mural....
ninguem quer isso em seu site, correto?!

pois bem... para evitar isso, coloque antes de mandar os textos pro banco ou antes de escrever, um replace, removendo o sinal de menor e maior (<,>), mais ou menos assim:

Replace (variavel, ">", "")
Replace (variavel, "<", "")


cabô... duas linhas e nenhuma preocupação... rs..

(parabéns pela promoção iporto)

flws.. (y)

Com relação a isso, o Server.HTMLEncode que foi citado no 1º post já resolveria isso.
A cada minuto está mais perto.
Aceite JESUS como seu único e suficiente salvador!
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-
Fórum HOSANAS, venha conversar e se engrandecer com a palavra de DEUS.
Host: ASPECTO, Hospedagem ASP com qualidade e bom preço.




4 user(s) are reading this topic

0 membro(s), 4 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq