Ir para conteúdo

POWERED BY:

Arquivado

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

Apokalypse

Proteção e segurança

Recommended Posts

Olá pessoal,

 

Como sou desenvolvedor web, sempre analiso como o site foi feito, a segurança, e tudo mais. A muito tenho visto que poucos são os desenvolvedores que se preocupam com a segurança e proteção de seus sites/aplicações.

 

Um exemplo disso foi esta madrugada: eu não tinha muito o que fazer, então resolvi 'explorar' uma falha de segurança dos scripts de fórum phpBB.

 

Vocês acreditam que com uma array contendo valores mais ou menos assim

$Foruns[] = array(   // endreço da página de membros do fórum   'Url'=>'http://www.forumficticio.com.br/forum/memberlist.php',   // total de páginas que a lista de membros possúi;   'NumPaginas'=>38,   // a quantidade de membros por página.    'MembrosPorPagina'=>50);$Foruns[] = array(   'Url'=>'http://www.outroforumqualquer.com.br/forum/memberlist.php',   'NumPaginas'=>150,   'MembrosPorPagina'=>30);

E mais um script php com aproximadamente 20 linhas (não vou divulgar o código do script por questões éticas. Não seria interessante eu ser culpado por uma série de problemas de spam's que viriam a ocorrer. Fiz isto no intuito de ESTUDO e não para envio massivo de spam, afinal, vou fazer spam falando do que, sendo que eu não vendo nada, e não tenho nada pra divulgar??? :wacko:) em aproximadamente 2h de pesquisa por link de fóruns phpBB no google (só os em português, imagina se eu pesquisasse por todos!!!) que exibem email dos membros na lista de membros (algo como mailto:blabla@blablabla.xom) e mais 4h de execução de um script na minha máquina (eu aumentei o timeout de execução do script no meu php para não ficar dando erro), eu consegui juntar em uma base de dados pouco mais de 1.500.000 enderecos de emails distintos (1.501.223 para ser mais exato... http://forum.imasters.com.br/public/style_emoticons/default/closedeyes.gif)???

 

Um problemão, não?

 

Tá..mas isso não é tudo: se eu der uma adaptada no meu script, eu consigo gerar uma reação em cadeia para ir varrendo o código-fonte do site, seus links, sublinks e assim por diante, conseguindo pegar milhões de email que estão escritos no corpo do htmls por ai afora.

 

Ta, acho que chega de enrrolação: porque eu criei este tópico??

 

Porque eu gostaria que ele fosse um ponto de consulta para desenvolvedores, onde cada um postasse suas dicas de segurança, metodos que utilizam, maneiras que programam para nós, uns aos outros, nos ajudar-mos para acabar com estas e outras milhares de falhas de segurança que encontramos pelo vasto mundo da internet....

 

Gostaria de saber se os moderadores poderiam fixar este tópico, para sempre o pessoal estár complementando, e torná-lo fonte de consulta.

 

Abraços a todos e atenção na hora de programar!!!

 

Bom, vou passar algumas das coisas que eu faço para proteger meu site, código e clientes:

 

Link de email:

 

Eu costumo fazer assim (Obrigado ao Leandro Vieira pela iniciativa do script! Adaptei pelo dele!!!)

<!-- link do email --><a href="java script:EnviaEmail('contato','mmsweb','com.br');" title="marcio& # 064;mmsweb& # 046;com& # 046;br">marcio& # 064;mmsweb& # 046;com& # 046;br</a><!-- ali em cima, onde tem '& # 064' e '& # 046' é tudo junto, sem espaços. Eu separei porque senão o script do fórum iria escrever a '@' e o '.' ao invés do código ASC

e aqui o javascriptscript com a funcao LinkMail:

<script language="JavaScript" type="text/javascript">// JavaScript Documentfunction EnviaEmail(e_prefixo, e_dominio, e_extensao) {var prefix = 'mai';var prefix2 = 'lto:';var arroba = '@';var dot = '.';var open_software = prefix+prefix2+e_prefixo+arroba+e_dominio+dot+e_extensao;window.location.href=eval('"' + open_software + '"');} </script>
pois é..uma coisinha fácil e boba, mas que já quebra os scripts de spambot.... ;)

 

Simples não?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Proteção de templates do Smarty (Arquivos .tpl)

 

Para 'xeretas' não mexerem nos meus tpl´s, e por nos meus tpl´s sempre ter nome de certas 'variaveis' que o alguem não deve ter acesso, eu jogo o arquivo '.htaccess' nos diretorios onde tem aqruivos .tpl, com o conteudo:

<Files "*.tpl">	Order allow,deny	Deny from all</Files>

Os tpl´s vão ser listados se não tiver uma pagina index no diretório, mas se alguem tentar abrir os arquivos vai dar este erro: 'You don't have permission to access /templates/padrao/erro_sql.tpl on this server.'

 

E se você não quiser que 'liste' nenhum arquivo deste diretório, acerecente ao '.htaccess' o código:

IndexIgnore *

E eh claro..pra proteger o .htaccess (a maioria dos servidores já proteje como padrão, mas não custa nada previnir... http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

<Files .htaccess>	order allow,deny	deny from all</Files>

Pessoal, postem mais dicas de segurança ai, como proteção anti-sql injection, proteção para seções, etc.

 

Abraços!

 

Proteger formulários de 'lammers'

 

Pessoal, vou postar aqui link para um artigo do phpbrasil.com, sobre proteção de formulários, o mesmo que o Orkut implantou no sistema a algum tempo atrás.

 

Ele 'quebra' as pernas do usuário que salva um form no pc por exemplo, pra enviar alem dos valores dos inputs do form algum outro valor.

 

http://www.phpbrasil.com/articles/article.php/id/1097

 

Vale a pena dar uma lida, é muito interessante!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Kro Apokalypse te parabenizo http://forum.imasters.com.br/public/style_emoticons/default/clap.gif pela iniciativa...

 

É disso q precisamos não só das resoluções de nossas dúvidas referente a algum código, mas sim de um passo além disso onde todos os desenvolvedores q freqüêntam o forum possam (se assim o quiserem) ajudar uns aos outros buscando não só a resolução dos seus problemas, mas sim a construção de um padrão de segurança para as nossas próprias atividades...

 

T+ Kra... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amei essa iniciativa :)

 

vo tentar ajudar, bom muita gente não protege seus campos de formularios contra sql injection então eu uso a seguinte função para proteger meus campos de formulario e deixer que digite apenas letras de A a Z e numero de 0 a 9

 

Na variavel que vai postar use

 

$variavel = stripslashes ($_POST['teste']);$variavel2 = stripslashes ($_POST['teste']);$variavel3 = stripslashes ($_POST['teste']);if ((eregi("[^a-zA-Z0-9_-]", $variavel)) || (eregi("[^a-zA-Z0-9_-]", $variavel2))||(eregi("[^a-zA-Z0-9_-]", $variavel3)))	{	echo("SQL Injection Detectado. Use apenas letras de A a Z e numeros de 0 a 9");		exit();	}

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

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.