Web -palvelimen tietoturva / directory climbing

Web_palvelimen_koodaus

Jos haluan ohjelmoida oman web -palvelimen, niin mietitäänpä, mitä joku krakkeri voisi yrittää varastaakseen tietoja:

Olennaisin on ehkä tämä:

hyökkääjä yrittänee ensiksi jotain tämäntapaista:

http://www.minunpalvelin.fi/../../../../../../etc/passwd

Silloin, kun kyse EI ole hyökkäysyrityksestä, onko tämä laillinen pyyntö vai ei:

http://www.minunpalvelin.fi/images/../index.html

Eli onko syytä hylätä kaikki pyynnöt, joissa merkkijonon osana on "/../", vai onko tuon sisällyttäminen pyyntöön joissain tapauksissa mahdollista muusta syystä kuin että kyse on yrityksestä murtaa palvelimen tietoturva ?

Entä, jos tuo on hoidettu?

Voiko myös tämä merkkjono johtaa onnistuneeseen hyökkäykseen, jos sitä ei ole erikseen estetty:

http://www.minunpalvelin.fi/../etc/passwd

tuo . on www-url-encoded -koodauksella sama kuin "."

Entä onko muita tapoja, joilla hyökkääjä voisi yrittää murtautua johonkin sellaiseen hakemistoon, jota EI ole tarkoitettu julkiseksi?

esim:

http://www.minunpalvelin.fi/C|/windows/system32/secretfile.dat

Win95:ssa oli komentorivikomento TRUENAME.

Sen lähin vastine Windows API:ssa on GetFullPathName,

itseasiassa GetFullPathNameA ja GetFullPathNameW.

Valitettavasti tuo funktio ei huoli parametriksi suhteellista kotihakemistoa, vaan se käyttää suhteellisena kotihakemistona oletushakemistoa (GetCurrentDirectory ja SetCurrentDirectory).

Eli:

1) mitkä kaikki ovat sellaisia koodauksia, joilla voisi yrittää saada aikaiseksi saman kuin suoraan "/../" ?

2) onko muita vaarallisia merkkijonoja, miten esim "/.../" tai "/..../" ?

entä "/test../" - miten näihin pitäisi suhtautua?

Vai kannattaako hylätä kaikki "/..mitätahansa" -tyyppiset merkkijonot ?

Wikipediassa oli ohje:

muunna ensin vaikkapa "index.html" muotoon "C:\PUBLIC_HTML\index.html"

Varmista sitten, että muunnettu (ja josta on poistettu mikä tahansa "/../" -esiintymä) aina alkaa "C:\PUBLIC_HTML\".

Windowsissa tuo GetFullPathName olisi hyvä tapa muuntaa jono siten, että mikä tahansa "/../" -osa ratkaistaan auki, mutta huonona puolena on sen riippuvuus sen hetkisestä oletushakemistosta.

Toinen vaihtoehto olisi kirjoittaa tuo muunnin itse.

Mutta JOS sen kirjoittaa itse, ongelmana on se, että riittääkö varoa tuota "/../" vai onko muitakin vaarallisia merkkijonoja, jos niin mitä ?

2

108

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Kooditin_

      Yksityiset tiedostot sijoitetaan tietysti eri hakemistoon, jonne ei ole päästy julkisesta verkosta.

      Jos olisi hakemistoja

      /dir-1
      /dir-2
      /public
      /dir-3
      /etc

      niistä vain /public olisi julkisesti käytettävissä. Julkinen osoite sille olis muotoa http://esimerkki.fi/

    • Kooditon_

      Onkos /public hakemiston alihakemistot yksityisiä vai vaatiiko kokonaan oman juurihakemiston? Eli käykö /public/yksityinen/ vai täytyykö hakemiston olla /dir-1/ ?

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Laitetaas nyt kirjaimet tänne

      kuka kaipaa ja ketä ?
      Ikävä
      151
      10944
    2. Pieni häivähdys sinusta

      Olet niin totinen
      Ikävä
      52
      5230
    3. Taas ryssittiin oikein kunnolla

      r….ä hyökkäsi Viroon sikaili taas ajattelematta yhtään mitään https://www.is.fi/ulkomaat/art-2000011347289.html
      NATO
      45
      2433
    4. Missä olet ollut tänään kaivattuni?

      Ikävä sai yliotteen ❤️ En nähnyt sua tänään söpö mies
      Ikävä
      30
      2133
    5. Vanha Suola janottaa Iivarilla

      Vanha suola janottaa Siikalatvan kunnanjohtaja Pekka Iivaria. Mies kiertää Kemijärven kyläjuhlia ja kulttuuritapahtumia
      Kemijärvi
      13
      1701
    6. Valtimon Haapajärvellä paatti mäni nurin

      Ikävä onnettomuus Haapajärvellä. Vene hörpppi vettä matkalla saaren. Veneessä ol 5 henkilöä, kolme uiskenteli rantaan,
      Nurmes
      42
      1544
    7. Tiedän kuka sinä noista olet

      Lucky for you, olen rakastunut sinuun joten en reagoi negatiivisesti. Voit kertoa kavereillesi että kyl vaan, rakkautta
      Ikävä
      30
      1241
    8. Känniläiset veneessä?

      Siinä taas päästiin näyttämään miten tyhmiä känniläiset on. Heh heh "Kaikki osalliset ovat täysi-ikäisiä ja alkoholin v
      Nurmes
      35
      1176
    9. Daniel Nummelan linjapuhe 2025

      Kansanlähetyksen toiminnanjohtajan Daniel Nummelan linjapuhe tänään. Rehellistä analyysiä mm. evlut kirkosta ja piispo
      Luterilaisuus
      92
      935
    10. TÄSTÄ TAITAA TULLA SUOMEN HISTORIAN SUURIN USKONNONVAPAUDEN OIKEUDENKÄYNTI.

      Sinun täytyy hyväksyä se että jos sinä vetoat uskonnonvapauteen, silloin sinun tulee antaa myös muille vastaava vapaus o
      Hindulaisuus
      317
      892
    Aihe