• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Riey

[Dúvida] Verificar segurança de script

15 mensagens neste tópico

Boas,

tenho um script que me aconselharam a apagar, disseram que não é seguro, gostava de saber como verificar isso. Desenvolvi-o numa aula no 12º ano à uns bons tempos atrás, o script converte números para binário, octal e hexadecimal...

Obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Isso é o site.

Só vendo o código php é q alguém pode ver se tem alguma insegurança.

Mas em principio não há motivos p esse script ser inseguro.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tens problemas de HTML injection; basicamente, problemas no facto de confiar cegamente no input dos utilizadores. Dá uma olhada ao artigo da wiki referente ao assunto:

http://wiki.portugal-a-programar.org/revistaprogramar_arquivo:11_edicao:vulnerabilidades_em_aplicacoes_web#falhas_xss_e_xsrf

Permite que coloques na tua página código HTML e Javascript arbitrário, levando o utilizador a ser redireccionado para outro lado, obter cookies, alterar a a página, etc. O artigo explica bem isso.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

obrigado, vou explorar melhor isso

mas é possível o script desse site poder trazer insegurança ao resto dos sites que estão no mesmo ftp/domínio? por exemplo www.submundos.com/tradutordebinario

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu não tenho conhecimentos de segurança a esse nível, mas em princípio não. Os casos mais críticos para alterar ficheiros é quando fazes includes não verificados (por exemplo, o atacante pode colocar uma página remota dentro da tua a exemplo), e o caso dos formulários para upload de ficheiros.

Aguarda mais respostas, com certeza te poderão dar mais links e informação variada sobre diversos tipos de ataque.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sem ver código é complicado dizer-te as coisas ao certo... Posta aí o código :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
<?php

$Num=$_POST['txtNum'];
$NumOrig=$Num;
$bin='';
while($Num>0)
{
  $D=$Num % 2;
  $Num=(int)($Num / 2);
  $bin = $D . $bin; 
// echo '<p>Digito '.$D.'</p>';
//  echo '<p>Numero '.$Num.'</p>';
}

// OCTAL
$Num=$NumOrig;
$oct='';
while($Num>0)
{
  $D=$Num % 8;  
  $Num=(int) ($Num / 8); 
  $oct = $D . $oct; 
//  echo '<p>Digito '.$D.'</p>';
//  echo '<p>Numero '.$Num.'</p>';
}


//hexadecimal
$Num=$NumOrig;
$Hex='';
while($Num>0)
{
  $D=$Num % 16;  
  $Num=(int) ($Num / 16); 
  if ($D>9 ) 
  {
    switch ($D)
{
 case 10: $D='A'; break;
 case 11: $D='B'; break;
 case 12: $D='C'; break;
 case 13: $D='D'; break;
 case 14: $D='E'; break;
 case 15: $D='F'; break;
}
  }
  $Hex = $D . $Hex; 
//  echo '<p>Digito '.$D.'</p>';
//  echo '<p>Numero '.$Num.'</p>';
}



// echo 'O Número '.$_POST['txtNum'].' em decimal converte-se em: '. $bin . ' em binário.';

header('Location:index.php?Num='.$NumOrig.'&resBin=' .$bin.'&resOct=' .$oct.'&resHex='.$Hex);
?>

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Aconselho-te a validar o input assim q o tiras do Post.

Podes validar se é um valor numérico através de Regular Expressions.

Existe aqui no forum topicos sobre Reg Ex em php.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Podes validar se é um valor numérico através de Regular Expressions.

Ou mais simples, usar o is_numeric()
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora