Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Path Traversal regex - jak cofnąć się wstecz bez ../
duch4ever
post
Post #1





Grupa: Zarejestrowani
Postów: 155
Pomógł: 0
Dołączył: 22.06.2010

Ostrzeżenie: (0%)
-----


Witam, znalazłem ciekawą linijkę w pewnym cmsie i wydaje się być podatny na atak Path Traversal.
Zostało mi jedna rzecz mianowicie mogę dowolnie manipulować adresem i wyświetlić dowolny plik ale nie mogę się cofnąć w drzewie katalogów bo jest na końcu mniejwięcej taki filtr:

  1. $path = dirname(__FILE__).(string)preg_replace('#\.{2,}#', '.', $_GET['xxx']);


Czyli xxx jest filtrowana pod kątem dwóch kropek i zamienia je na jedną.
I tu pytanie czy da się to jakiś obejść (linux)?

Ten post edytował duch4ever 23.04.2016, 23:36:43
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
duch4ever
post
Post #2





Grupa: Zarejestrowani
Postów: 155
Pomógł: 0
Dołączył: 22.06.2010

Ostrzeżenie: (0%)
-----


Nie nie, muszę się cofnąć o kilka katalogów aby pobrać config z hasłami mysql itp. i do tego mogę manipulować tylko zmienną $_GET['xxx']. Dalej w hierarchii nic nie ma tylko pliki html.
Go to the top of the page
+Quote Post
by_ikar
post
Post #3





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

Ostrzeżenie: (0%)
-----


Cytat(duch4ever @ 24.04.2016, 21:41:19 ) *
Nie nie, muszę się cofnąć o kilka katalogów aby pobrać config z hasłami mysql itp. i do tego mogę manipulować tylko zmienną $_GET['xxx']. Dalej w hierarchii nic nie ma tylko pliki html.


Ale to musisz się cofać z poziomu zmiennej GET? Nie możesz tego na sztywno w kodzie umieścić ? Jeżeli będzie to na sztywno w kodzie, a będziesz ze zmiennej GET pobierał tylko nazwę pliku, to basename jest wystarczające. W przeciwnym wypadku żadne wyrażenie ci nie pomoże.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.10.2025 - 15:54