Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Security] Pentesting - NULL Byte
pyro
post 25.04.2009, 12:15:35
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 winksmiley.jpg

// 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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
l0ud
post 25.04.2009, 16:08:39
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
Go to the top of the page
+Quote Post
pyro
post 27.04.2009, 14:01:35
Post #3





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

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


Cytat(l0ud @ 25.04.2009, 17:08:39 ) *
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
Go to the top of the page
+Quote Post
sowiq
post 27.04.2009, 14:07:32
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
Go to the top of the page
+Quote Post
pyro
post 4.05.2009, 17:19:04
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
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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 01:15