Jump to content


Photo

Duvida De Seguranca Com Upload


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

#1 foxter

foxter

    "Se hoje sou o q sou, é pq tive sorte de não ser você!&

  • Usuários
  • 279 posts
  • Sexo:Não informado
  • Localidade:Sentado Na Cadeira de Frente pro PC

Posted 17/01/2004, 22:37

gente, eh o seguinte, o problema de upload no site eh q eh possivel q pessoasl mah intensionadas enviem programas maliciosos para o servidor e controle o site e servidor... ok. mas o seguinte, se eu restringir esse upload apenas para .gif ou .jpg e .zip eh possivel q hackers façam algo semelhante?

vlws

Edição feita por: foxter, 17/01/2004, 22:38.

Foxter:

#2 Chinello Cybernético

Chinello Cybernético

    Simplesmente "Chinello"

  • Usuários
  • 1892 posts
  • Sexo:Masculino
  • Localidade:Canoas - RS

Posted 18/01/2004, 01:44

Bom, um programa no servidor não faz nada.. Ao menos q alguém q controle o servidor execute.. Mas pela web, não tem como executar ele.. E outra, servidores com suporte a PHP são Linux, poucas usuários usam linux e possuem programas mal intencionados para o Linux, então, já é mais difícil ainda..

E se vc limitar à certos arquivos, resolve o q tu acha q é problema, afinal, não vai ter um programa no teu servidor, ao menos q tu deixe..

Fui.. :P
Diego Sampaio - kroW - PHP Framework > http://chinelloweb.net/
chinello at gmail dot com

System > Athlon 64 3200+ Mobile | Kubuntu 7.04 Fesity Fawn AMD64 | Kernel 2.6.20-16
Coding @ KDE 3.5.7 | PHP 5.2.1 | Apache 2.2.3 | MySQL 5.0.38

#3 Sabaote

Sabaote

    12 Horas

  • Usuários
  • 163 posts
  • Sexo:Não informado
  • Localidade:Ribeirão Preto
  • Interesses:PHP/MySQL/CGi/Inglês/Fireworks/Photoshop/Corel

Posted 18/01/2004, 05:59

é possivel usuários mal intencionados executarem programas no seu servidor remotamente sim..

por isso vc tem que restringir o upload a .gif .jpg .jpeg .swf etc..
imagens somente.. nunca deixe alguém enviar um .zip .tar.gz .tgz .exe nada disso..

Falows man..
[]'s

Segurança é importante no host.. uma falha de um usuário pode acabar com o serv intero.....

_sABAOTE - _mATEUS
WebDeveloper Php

HostPower - O Poder da Tecnologia em Suas Mãos!
Inglês, Php, MySQL, CGi, Html, Fireworks, Corel, Photoshop
___Conhecimentos___

E-mail ::
mateus@hostpower.com.br
Icq :: 171106451
Site ::
buscalivre.com.br

#4 paes

paes

    GustavoPaes.Net

  • Usuários
  • 1393 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP
  • Interesses:Rumo ao topo!

Posted 18/01/2004, 10:14

eh verdade... .zip, .tar.gz e tals é facinho executar no server...
bom.. mas como faço pra restringir somente para .gif.jpg etc.. ??
Site: GustavoPaes.net

^ Rumo ao Topo ^

#5 Chinello Cybernético

Chinello Cybernético

    Simplesmente "Chinello"

  • Usuários
  • 1892 posts
  • Sexo:Masculino
  • Localidade:Canoas - RS

Posted 18/01/2004, 14:55

bom.. mas como faço pra restringir somente para .gif.jpg etc.. ??

No seu script de upload, antes de fazer o upload real, vc verifica a extenção do arquivo..

Geralmente a extenção do arquivo são os 3 últimos caracteres.. Então é só verificar, caso seja uma extenção aceita, prossiga com o upload, caso não, faça o q quizer, menos o upload.. hehe

E vem cá, qual seria a maneira de executar um arquivo no servidor remotamente?

Fui.. :P
Diego Sampaio - kroW - PHP Framework > http://chinelloweb.net/
chinello at gmail dot com

System > Athlon 64 3200+ Mobile | Kubuntu 7.04 Fesity Fawn AMD64 | Kernel 2.6.20-16
Coding @ KDE 3.5.7 | PHP 5.2.1 | Apache 2.2.3 | MySQL 5.0.38

#6 paes

paes

    GustavoPaes.Net

  • Usuários
  • 1393 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP
  • Interesses:Rumo ao topo!

Posted 18/01/2004, 15:03

hehehe
vai em tutoriais, php e lá tem um tópico sobre hacker... la tem
ah... mas como verifico os ultimos 3 caracteres??
explode(".", $arquivo);
??

flw
Site: GustavoPaes.net

^ Rumo ao Topo ^

#7 Chinello Cybernético

Chinello Cybernético

    Simplesmente "Chinello"

  • Usuários
  • 1892 posts
  • Sexo:Masculino
  • Localidade:Canoas - RS

Posted 18/01/2004, 15:07

ah... mas como verifico os ultimos 3 caracteres??
explode(".", $arquivo);
??

Pow cara, aí é só um pouco de raciocínio..

Tu mesmo falou, 3 últimos caracteres.. Então:

<?
$arquivo = "exemplo_de_arquivo.zip";

$temp = strlen($arquivo);

$ext = $arquivo[$temp-3].$arquivo[$temp-2].$arquivo[$temp-1];

print "A extesnsão do arquivo é: $ext";
?>

Viu? Um pouco de raciocínio.. ;)

Fui.. :P
Diego Sampaio - kroW - PHP Framework > http://chinelloweb.net/
chinello at gmail dot com

System > Athlon 64 3200+ Mobile | Kubuntu 7.04 Fesity Fawn AMD64 | Kernel 2.6.20-16
Coding @ KDE 3.5.7 | PHP 5.2.1 | Apache 2.2.3 | MySQL 5.0.38

#8 paes

paes

    GustavoPaes.Net

  • Usuários
  • 1393 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP
  • Interesses:Rumo ao topo!

Posted 18/01/2004, 15:09

soh...
valeu cara
Site: GustavoPaes.net

^ Rumo ao Topo ^

#9 Sabaote

Sabaote

    12 Horas

  • Usuários
  • 163 posts
  • Sexo:Não informado
  • Localidade:Ribeirão Preto
  • Interesses:PHP/MySQL/CGi/Inglês/Fireworks/Photoshop/Corel

Posted 18/01/2004, 23:26

Simples man..

o campo <input type="file" name="arquivo" size="30">
por ex é o campo usado pra upload.. certo.. ele tem o nome "arquivo"...

ai é só fazer assim..
$_FILES['arquivo']['type'];

isso retorna o mime type do arquivo.. se for gif por ez é image/gif
ai é só verificar se o tipo mime é um .gif e se não for bloqueia..


falows..

_sABAOTE - _mATEUS
WebDeveloper Php

HostPower - O Poder da Tecnologia em Suas Mãos!
Inglês, Php, MySQL, CGi, Html, Fireworks, Corel, Photoshop
___Conhecimentos___

E-mail ::
mateus@hostpower.com.br
Icq :: 171106451
Site ::
buscalivre.com.br

#10 Tô+!

Tô+!

    Normal

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

Posted 19/01/2004, 02:45

Simples man..

o campo <input type="file" name="arquivo" size="30">
por ex é o campo usado pra upload.. certo.. ele tem o nome "arquivo"...

ai é só fazer assim..
$_FILES['arquivo']['type'];

isso retorna o mime type do arquivo.. se for gif por ez é image/gif
ai é só verificar se o tipo mime é um .gif e se não for bloqueia..


falows..

nossa... era exatamente isso que eu ia falar... isso (pra mim) é o jeito mais fácil de fazer...

* qualquer dúvida quanto a isso.. é só procurar no manual do php que tem falando...

Thomaz

#11 Cristiano Galdino

Cristiano Galdino

    Dark Defender

  • Administradores
  • 3738 posts
  • Sexo:Masculino
  • Localidade:Brasília, DF

Posted 19/01/2004, 03:03

Eu fiz um teste no meu PC assim:

$acceptedTypes = array('image/jpeg', 'image/jpg', 'image/pjpeg'); 
if (!in_array($arquivo, $acceptedTypes))
{
echo 'Formato inválido';
}
echo 'Esse pode';

E deu certo, testa ae...
Cristiano Galdino
- http://cristiano.galdino.net/

“Since 2003”


#12 paes

paes

    GustavoPaes.Net

  • Usuários
  • 1393 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP
  • Interesses:Rumo ao topo!

Posted 19/01/2004, 12:34

valeu pessoa...
vou usar dest forma sim...
fica mais fácil...

fLW
Site: GustavoPaes.net

^ Rumo ao Topo ^




1 user(s) are reading this topic

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

IPB Skin By Virteq