Privacy Policy Cookie Policy Terms and Conditions Directory Traversal - Wikipedia

Directory Traversal

aus Wikipedia, der freien Enzyklopädie

Unter Directory Traversal versteht man eine Sicherheitslücke in Web-Programmen, wie z.B. einem Webserver oder einer Webanwendung.

Normalerweise sollte ein Webserver nicht auf Dateien außerhalb seines Web-Verzeichnisses oder dessen Unterverzeichnissen zugreifen. Bei einer Directory-Traversal-Attacke versucht ein Angreifer nun mittels manipulierter Pfadangaben auf Dateien außerhalb dieser Verzeichnisse zuzugreifen.

Grundlegend für diese Angriffsart ist, dass man mit der Angabe von ../ sich in der Verzeichnisstruktur eine Ebene nach oben bewegt.

Beispiel: Ein URL sehe folgendermaßen aus:

http://www.example.com/index.php?item=datei1.html

Anscheinend gibt der Parameter item den Dateinamen einer html-Datei an, der in die Seite eingefügt werden soll. Wenn die Datei index.php den Parameter nicht ausreichend prüft, liegt eine Directory-Traversal-Schwachstelle vor.

Ein Angreifer kann nun eine andere Datei als Parameter angeben, die auch in einem völlig anderen Verzeichnis liegen kann, da man durch in einem Pfad durch Angabe von ../ eine Verzeichnisebene nach oben gehen kann. Angenommen das Web-Verzeichnis liege drei Verzeichnis-Ebenen tief auf dem Laufwerk C:, so würde die URL

http://www.example.com/index.php?item=../../../Config.sys

auf einem Windows-Webserver die Datei C:/Config.sys ausgeben.

Die genaue Verzeichnistiefe ist einem Angreifer normalerweise zwar nicht bekannt, kann dann aber durch Ausprobieren ermittelt werden.

Ist der Webserver selbst anfällig, so könnten nicht nur beliebige Dateien ausgelesen sondern auch beliebige Anwendungen aufgerufen werden, etwa durch:

http://www.example.com/../../../Windows/System32/cmd.exe?/C+dir+C:\

Als Gegenmaßnahme einfach nach ../ in einem Pfad zu suchen reicht nicht aus. Es muss auch berücksichtigt werden, dass einzelne Zeichen durch Escape Codes ersetzt sein könnten. (So bewirkt z.B. %2e%2e%5c genau das Gleiche wie ../ in einem URL.)


Siehe auch: Tainted Data

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -