Ir para conteúdo

POWERED BY:

Arquivado

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

Patrique

Verificação de segurança no código

Recommended Posts

Fala ae pessoal

 

Estou aqui montando meu portifa e estou criando uma área aonde o visitante tera acessa a cerca de 5 wallpapper feitos pela minha equipe, e não quero zipar as imagens e nem deixar na tela do navegador para o usuário clicar com o botão direito e salvar eu bolei um script que força o download da imagem.

 

Segue abaixo o code

 

<%
Dim Arquivo
Arquivo = Request.QueryString("img")

If Arquivo = "" Then
Response.Write "O arquivo não existe!"
Else

verificajpg = Split(Arquivo,".")
pega_ext = verificajpg(1)
verificado = pega_ext

If verificado = "jpg" Then

Response.Buffer = True
Response.AddHeader "Content-Type","application/x-msdownload"
Response.AddHeader "Content-Disposition","attachment; filename=" & Arquivo
Response.Flush

Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
objStream.Type = 1
objStream.LoadFromFile Request.ServerVariables("APPL_PHYSICAL_PATH")&"conteudo\downloads\wallpapers\" & Arquivo
Response.BinaryWrite objStream.Read
objStream.Close
Set objStream = Nothing
Response.Flush

Else
Response.Write "O arquivo não existe!"
End If

End If
%>

A imagem é baixada quando o usuário clica no link como este exemplo

 

http://localhost/conteudo/downloads/wallpa...g=wallpaper.jpg

 

O code então vai pegar o valor que esta na string img e com isso informara ao sistema qual imagem apresentar para download.

 

Fiz um tratamento simples através de split para verificar a extenção do arquivo solicitado com isso so será possível fazer donwnload de arquivos .jpg mais sei lá estou sem segurança em relação a isto... pois acho que através de uma combinação na url o usuário malicioso podera atravesar esta barreira e fazer donwload de qualquer tipo de arquivo, seja ele asp, xml, html....

 

Tipo, se ele tentar algo assim

 

http://localhost/conteudo/downloads/wallpa...mg=download.asp

 

o sistema através do split ira verificar que a extenção não é permitida com isso impede que o sistema force o download do arquivo.... mas e se de alguma forma através da url o usuário conseguir burlar isso??? será que tem como???

 

Tipo

 

http://localhost/conteudo/downloads/wallpa...6;/download.asp

 

http://localhost/conteudo/downloads/wallpa...pg/download.asp

 

http://localhost/conteudo/downloads/wallpa...jpgdownload.asp

 

Sei lá.... testei algumas combinações aqui e não surtiram efeitos, porém estou com um pé atrás no meu code...

 

O que vocês acham? tem jeito ou não de alguém burlar e por exemplo fazer o download dos meus codes em asp?

 

Desde já agradeço,

 

[]'s

Patrique

Compartilhar este post


Link para o post
Compartilhar em outros sites

pq nao faz com numeros?

down.asp?img=5542036

 

5542036 sera o numero identificados da foto

 

if img = "5542036" then

baixar esta

elseif img = "88787877" then

baixar a outra

else

deu erro

end if

 

alem de comparar antes se o valor é numerico

If isNumeric(img) Then

 

 

pronto, apenas numeros na url

nada de outras combinacoes que nao sejam numericas e ambas retornam a imagem ou o erro

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

referente a segurança de link´s de uma olhada na forma de ataque XSS + CSRF, mas nao teve

nada relatado em fazer download em ASP,você até pode fazer um redirecionamento do usuario para uma parte onde tenha um sistema de downloads.

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.