1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Segurança WEB

Discussão em 'Web Development' iniciada por K0mA, 12 de Fevereiro de 2007. (Respostas: 29; Visualizações: 1499)

  1. K0mA

    K0mA Power Member

    Boas,

    Imaginem que tenho um ficheiro agenda.txt na mesma pasta em que está o index.html de um sitio.

    Não tendo nenhuma ligação para esse ficheiro (agenda.txt) em lado nenhum, a única maneira de lhe aceder é através do seu endereço: www.sitio.net/agenda.txt.

    Supondo que ninguém iria adivinhar que se encontrava um ficheiro agenda.txt em www.sitio.net/agenda.txt seria possível alguém descobrir esse ficheiro?

    NOTA: a listagem de directorias encontra-se desligada.

    De outro modo: com a listagem de directorias desligada é possível saber que ficheiros se encontram numa pasta?
     
  2. shello

    shello Moderador
    Staff Member

    Que eu saiba, apenas testando nomes.
     
  3. fil79

    fil79 Power Member

    se usares o GET é possivel saber o nome do txt..
     
  4. shello

    shello Moderador
    Staff Member

    fil79, podes explicar isso?
    Falas do $_GET do PHP? Mas isso tem que ser invocado, e para isso é preciso ter o php la dentro. Supondo que o directório que ele fala é "privado", penso que não haja possibilidade de ver... Ou estou redondamente enganado?
    Agora fiquei curioso, também :)
     
  5. HecKel

    HecKel The WORM

    Nop, o GET por telnet, por exemplo. Diz-te todos os objectos que são acedidos, logo, diz-te o nome do txt.

    abraços, HecKel
     
  6. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    No GET do telnet, tens de especificar qual o ficheiro que queres! Quando fazes um GET à directoria, sem especificares um ficheiro, aí depende do programa. Apache, por defeito (acho eu), mostra a listagem, mas como disse o K0ma, "NOTA: a listagem de directorias encontra-se desligada.", portanto eu penso que não é fácil descobrir um ficheiro, se nada apontar para ele. Posso estar enganado, mas nesse caso corrijam-me :)

    Cumps [[[[[[]]]]]]
    angelofwisdom
     
  7. fil79

    fil79 Power Member

    ~

    pois é o que não dá não ler bem a questão...não reparei na parte de este estar numa parte privada e nunca ser invocado...portanto da maneira que eu me estava areferir não dá pois nunca aparece o nome do ficheiro no URL...só se for com o telnet mas isso já não sei dizer:)
     
  8. shello

    shello Moderador
    Staff Member

    Andei a googlar sobre esse método do telnet. Por muito sono/azelhice minha não consegui obter quaisquer resultados, testando com alguns domínios diferentes.
     
  9. K0mA

    K0mA Power Member

    Hum...
    A pasta é pública no sentido em que lhe podem aceder ao conteúdo só que ninguém sabe que o ficheiro se encontra lá dentro, ou seja para lhe acederem teriam de saber o nome do ficheiro, ou então conseguir saber que conteúdos tinha uma pasta, aqui é que reside a questão.

    De qualquer das maneiras não é uma coisa assim tão importante.
     
    Última edição: 14 de Fevereiro de 2007
  10. fil79

    fil79 Power Member

    pois não convem...dados importantes devem ser sempre guardados em Bd´s e nunca em txt
     
  11. Dbc_12

    Dbc_12 Power Member

    lol
    se não tens nenhum link ligado ao .txt para que é que o queres no host?
    mas de qualquer maneira... não existe maneira de ver essa informação sem ser por tentativas... todas as maneiras exigiriam um nome do ficheiro
    mas realmente guardar informações em .txt é tudo menos o nome deste tópico... mysql é o melhor
     
  12. spastikman

    spastikman Banido

    vocês já estão a misturar alhos com bugalhos ....


    GET é um metodo do protocolo HTTP.
    O que acontece é que se não tiveres nenhum default file (normalmente index.php/htm) e tiveres activo o Virtual Directory no Apache, é possivel ver o conteudo da pasta.

    Tendo um ficheiro index, só mesmo adivinhando.


    Se mesmo assim não queres correr riscos ...


    Isto é só uma forma rápida de protegeres um txt. Há 1000 formas diferentes de o fazer.
    Desta forma só consegues visualizar digitanto http://www.sitio.com/ficheiro.php?pass=[pass que definiste].

    Sem pass correcta, não mostra nada.
     
  13. KiKas

    KiKas Power Member


    diga-se de passagem que esse método é muitissimo seguro. Passar passwords por querystring e guarda-la na sessao

    :lol:
     
  14. TuxBoss

    TuxBoss Power Member

    Eu acho (não tenho 100% de certeza) que o apache permite um controlo de acesso num individual file basis, mas se não der simplesmente crias um dir, metes la o ficheiro e controlas o acesso através do apache.
     
  15. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Acho que o que ele quer é fazer com que uma pessoa SÓ tenha acesso a um ficheiro escrevendo apenas o link directo, i.e. http://www.qualquercoisa.com/QualquerPasta/NomeDeFicheiroBastanteEspecifico.txt, e também quer saber se há alguma forma de descobrir que aquele ficheiro com exactamente aquele nome se encontra exactamente naquela directoria, exactamente naquele site.
    A minha resposta é, se for Apache e tiver a listagem de directorias ligada, sim. Basta aceder a http://www.qualquercoisa.com/QualquerPasta que a listagem mostrará o ficheiro.
    Se a listagem estiver desactivada, penso que não, mas se der, será extremamente difícil. Não é qualquer um que o apanha.

    Um argumento no URL com a password é bastante inseguro.

    Se o ficheiro for importante e não quiseres correr (muitos) riscos, podes fazer uma coisa muito simples: independentemente do tamanho do ficheiro, comprime-o num RAR (pode ficar maior que o original), e encripta-o com uma palavra passe. Dificultarás ainda mais o trabalho a quem porventura apanhe o ficheiro.

    Não é impossível tê-lo. Nada é impossível, na minha opinião. Se está na net, pode acontecer encontrarem-no e conseguirem crackar a password do RAR. O que estarás a fazer, repito, é dificultar o trabalho.

    Cumprimentos [[[[[[]]]]]]]
    angelofwisdom
     
    Última edição: 15 de Fevereiro de 2007
  16. spastikman

    spastikman Banido



    Se percebes tanto de php, explica-me lá como é que esta password fica gravada numa sessao :-D

    Já que és perito em segurança, explica lá de que forma *segura* é que irias guardar um ficheiro sem envolver passwords...


    Se calhar é mais seguro dar um nome esqusisito e esperar que ninguem adivinhe ...

    Se o problema é ficar os dados no url, pode-se sempre mandar os dados por post.


    Criticar sem arranjar soluções mais simples e práticas, não ajuda ninguem ...
     
  17. spastikman

    spastikman Banido


    o exemplo que dei, de password como argumento no url, era apenas para complementar o uso de um nome de ficheiro que ninguem conhece. Mesmo que adivinhem o nome, não conseguem ler sem a password... por argumento, ou por variavel post, a simplicidade é semelhante ...
     
  18. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    A password, se for enviada como argumento (?pass=blablabla), fica registada no histórico do browser. Isto é, pode-se aceder EXACTAMENTE àquele site, se ele estiver registado com o argumento. Se quiseres testar, escreve http://www.techzonept.com/showthread.php? e verás as várias threads por onde já andaste aqui no fórum, listadas pelo browser ;)
    Não sou perito em segurança, nem disse que era. A forma que propus envolve uma password - a do RAR.
    O nome esquisito é mais seguro do que imaginas :P mas se a listagem de ficheiros estiver activa, é indiferente.

    Enviar dados por post também é mais aconselhado, por mim. Uma página de autenticação que envie os dados com o método post. É preferível ao GET, sem dúvida :P

    Acho que a solução que arranjei é simples e prática :confused:

    edit - ah peço desculpa... só agora reparei que não era para mim :x mas sim, o argumento pass, se passado via "post", é igualmente seguro. Há é sempre os "sniffers" pelo caminho que a podem capturar, mas se o ficheiro não for MUITO importanto, não é preciso pensar muito nisso, IMO.

    Cumps [[[[[[]]]]]]
    angelofwisdom
     
    Última edição: 15 de Fevereiro de 2007
  19. spastikman

    spastikman Banido

    não era para ti que estava a falar, era para o kikas :P

    Mas da mesma forma que a password fica no URL, tambem ficaria o link directo para o ficheiro.

    Se o Virtual Directory estiver desactivado, acho que não há mesmo hipoteses de se ver os ficheiros que estão na directoria.

    a solução do rar é boa, mas nem falei nela, porque estava a tentar arranjar uma solução simples e rápida que não envolvesse software externo.
     
  20. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Sim, eu percebi (depois do post) ... peço desculpa pelo mal-entendido :x

    Correcto. Da mesma forma que apareceria a password, apareceria o link directo para o ficheiro. Daí eu achar que se devia envolver encriptação em algum ponto, e isso teria de envolver software externo :)

    Acho, como disseste, que se a listagem de directorias estiver desactivada, não há forma de ver os ficheiros que há numa pasta. O próprio imageshack tem vários ficheiros no servidor, mas que se conheça, não há forma de os ver remotamente sem ter acesso ao servidor (por ftp ou físico... algo assim). Por HTTP não dá, teoricamente, para buscar um ficheiro sem se saber o seu nome exacto. Penso eu de que...

    Again... se o ficheiro for importante, é encriptá-lo para não cair nas mãos erradas. Se não valer o esforço, então é só ter a listagem de directorias desactivada que possivelmente não será descoberto.

    Agora resta esperar por um reply do K0mA para sabermos até que ponto ele está interessado em "esconder" o ficheiro :P
     

Partilhar esta Página