![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Hello.
Kolega zainteresował się PHP i stworzył prostą stronę i poprosił mnie o mały pentesting. Po paru minutach doszedłem do parametru lang - jak się można domyśleć odpowiadający za język strony. Podając w miejsce parametru lang jakiekolwiek znaki ukazał się błąd php dotyczący require, z pewnością na stronie istnieje podatność typu File Inclusion. Zacząłem od prostych plików typu etc/passwd,no więc: Kod Cookie: lang=ens/../../../../etc/passwd% 0 0 Kod <b>Warning</b>: require(/gargamel/www/inc/lang.ens/../../../../etc/passwd\ 0.inc.php) [<a href='function.require'>function.require</a>]: failed to open stream: No such file or directory in <b>/gargamel/www/inc/init.inc.php</b> on line <b>18</b><br /> No więc tutaj próbowałem na różne sposoby, aż się wkońcu zacząłem zastanawiać co jest nie tak, podałem nazwę pliku jaka powinna być normalnie: Kod Cookie: lang=en.inc.php% 0 0 Kod <b>Warning</b>: require(/gargamel/www/inc/lang.en.inc.php\ 0.inc.php) [<a href='function.require'>function.require</a>]: failed to open stream: No such file or directory in <b>/gargamel/www/inc/init.inc.php</b> on line <b>18</b><br /> Powinno zaincludować (tak mi się zdaje), ale wygląda tak jakby znak nulla był traktowany jako zwykły znak i nie obcinał końcówki, domyślnie parametr jest "en" i wtedy działa, co może być nie tak? Linka do strony nie podam ze względu na tych co mają destruktywne myślenie ![]() // edit ehhh... forum mi wycina % 0 0 i \ 0 % 0 0 i \ 0 traktować jak bez spacji Ten post edytował pyro 25.04.2009, 15:48:01 -------------------- ET LINGUA EIUS LOQUETUR IUDICIUM
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 387 Pomógł: 273 Dołączył: 18.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Null byte poisoning działa tylko, gdy magic_quotes są wyłączone. Niemniej i tak bezpieczeństwo tego skryptu jest do niczego...
-------------------- XMPP: l0ud@chrome.pl
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Null byte poisoning działa tylko, gdy magic_quotes są wyłączone. Niemniej i tak bezpieczeństwo tego skryptu jest do niczego... O tym wiedziałem... miałem inną możliwość sprawdzenia czy są włączone i wyglądało na to że nie są... możliwe, że w niektórych plikach zostało użyte addslashes() dla zmiennych globalnych, lub w niektórych poprostu wycięte... poza tym includem jeszcze udało mi się znaleźć mnóstwo XSS'ów, niestety poza tym nic bardziej konkretnego ;/ Btw. czy nie ma przypadkiem innych zatruwających bajtów? Bo wydaje mi się, że tak, ale nie mogę w tej chwili znaleźć papierku na google. -------------------- ET LINGUA EIUS LOQUETUR IUDICIUM
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
http://m1chu.eu/2008/10/19/jak-zabezpieczy...le-include-rfi/ :
Cytat [...]zerowy metaznak w postaci jednej z dwóch następujących form: lub %2500. Drugą z nich używa się w wypadku kiedy strona zabezpieczona jest przed pierwszą. Zamieniamy w nim po prostu % na jego szesnastkowy odpowiednik w kodzie ASCII, czyli %25. [edit] Mi też powycinało niektóre znaki. Ten post edytował sowiq 27.04.2009, 14:08:53 |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Ja tu chyba czegoś nie rozumiem... jak podam %2500 to zostanie on potraktowany jako string "% 0 0" a nie jak bajt zerowy, więc jak on może coś tu zdziałać?
Ten post edytował pyro 4.05.2009, 17:18:57 -------------------- ET LINGUA EIUS LOQUETUR IUDICIUM
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 01:15 |