Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Code injection
Octobus
post
Post #1





Grupa: Zarejestrowani
Postów: 259
Pomógł: 1
Dołączył: 3.07.2011

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


Witam. Mam skrypt ktory ma odbierac nazwe pliku w zmiennej get i chce zabezpieczyc zeby nie dalo sie zrobic ../nazwapliku.php W artykule z h@cking czytalem zeby to zrobic na eregi ale jest to przestarzala funkcja ktora nie dziala poprawnie, na preg_match nie moge tego zrobic bo zawsze zwraca mi true wiec jak ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
piotrooo89
post
Post #2


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




może pokażesz regexp'a, ale jak zwraca Ci true to znaczy, że się dopasowało - czyli masz plik potencjalnie niebezpieczny - i teraz wystarczy to zanegować i już będzie działać, chociaż to jest taki mój domysł...


--------------------
Go to the top of the page
+Quote Post
d3ut3r
post
Post #3





Grupa: Zarejestrowani
Postów: 709
Pomógł: 176
Dołączył: 24.10.2010

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


nie wystarczy Ci samo basename ?


--------------------
http://d3ut3r.wordpress.com/ | mysql_* jest przestarzałe UŻYWAJ PDO!
Go to the top of the page
+Quote Post
Sephirus
post
Post #4





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

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


Zamiast basename proponuje pathinfo() i masz na tacy rozszerzenie pliku wink.gif

Ten post edytował Sephirus 25.06.2012, 08:39:44


--------------------
If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;)
Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka...
Go to the top of the page
+Quote Post
Octobus
post
Post #5





Grupa: Zarejestrowani
Postów: 259
Pomógł: 1
Dołączył: 3.07.2011

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


daje preg_match na
Cytat
@([0-1a-zA-Z]+)@i

ale jak dam np
Cytat
dsadsa321fds%#$@^$

daje result 2 wiec true

nie chodzi mi o rozszerzenie pliku bo je i tak usuwam i akceptowane jest tylko jedno, ale chodzi mi o wstrzykniecie kodu albo podanie nazwy pliku z katalogu nizej.

Ten post edytował Octobus 25.06.2012, 08:57:29
Go to the top of the page
+Quote Post
!*!
post
Post #6





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Nie działa, bo liczby mogą być od 0 do 1 w Twoim wyrażeniu, oraz "i" na końcu nie jest Ci potrzebne.
  1. /^([a-zA-Z0-9]+)$/


Prócz tego użyj funkcji jakie podali wyżej.

Ten post edytował !*! 25.06.2012, 09:12:13


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 19.08.2025 - 18:32