Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: есть дыра?
Форумы портала PHP.SU » PHP » Программирование на PHP » есть дыра?

Страниц (1): [1]
 

1. LIME - 20 Мая, 2012 - 17:08:47 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. include('includes/'.$_GET['inc'].'.inc');
достаточно ли добавлять расширение?
в другх папках .inc нет
или как-то обработать параметр еще?
2. OrmaJever - 20 Мая, 2012 - 17:15:39 - перейти к сообщению
расширение отрезается, прямой путь к инклуду. Это не дыра, а дырище
3. LIME - 20 Мая, 2012 - 17:17:32 - перейти к сообщению
OrmaJever пример?
4. OrmaJever - 20 Мая, 2012 - 17:20:19 - перейти к сообщению
5. Green - 20 Мая, 2012 - 17:27:29 - перейти к сообщению
Если я не ошибаюсь, то при allow_url_fopen = On, можно будет подключать удаленные файлы... Растерялся
6. LIME - 20 Мая, 2012 - 17:29:58 - перейти к сообщению
Цитата:
Warning: include(): Failed opening 'includes/../index.html' for inclusion

(Добавление)
но фильтр нужен это ясно
чем обработать чтоб побыстрее?
сойдет?
(Добавление)
Green при этом будет инклудиться в вывод то что вывел удаленный файл а не то что в его исходнках
7. OrmaJever - 20 Мая, 2012 - 17:50:34 - перейти к сообщению
LIME пишет:
Warning: include(): Failed opening 'includes/../index.html' for inclusion

всё отлично, можно кидать на хост и выкладывать сылку в подпись.
8. LIME - 20 Мая, 2012 - 18:10:06 - перейти к сообщению
а что толку))
там авторизация еще сначала))
так что? точку убрать имхо достаточно против всего? нет?
9. OrmaJever - 20 Мая, 2012 - 18:19:54 - перейти к сообщению
LIME пишет:
так что? точку убрать имхо достаточно против всего? нет?

достаточно проверять на полное совпадение, остальное может быть не безопастно.

PHP:
скопировать код в буфер обмена
  1. $files = array('mysql', 'gd', 'curl');
  2. if(in_array($_GET['inc'], $files)) include 'includes/'.$_GET['files'].'.inc';
10. LIME - 20 Мая, 2012 - 18:25:06 - перейти к сообщению
ну это и понятно было
я думал подешевле сделать
а что без точки могут сделать?
11. Мелкий - 20 Мая, 2012 - 20:32:54 - перейти к сообщению
LIME пишет:
есть дыра?

Есть, огромная.

LIME пишет:
как-то обработать параметр еще?

basename
12. LIME - 20 Мая, 2012 - 20:38:43 - перейти к сообщению
Мелкий
??
basename не вижу чем лучше
(Добавление)
а может вообще ниче не делать всетки
инклуды дени фром олл
на индекс авторизация стоит
??? хз
13. Tmin10 - 21 Мая, 2012 - 22:29:28 - перейти к сообщению
Блин, ну зачем нужны такие инклуды, неужели как то нельзя реализовать по другому?
Это же огромная дыра и на почти любую проверку входящего параметра кроме полной можно написать лазейку...
14. LIME - 21 Мая, 2012 - 23:06:09 - перейти к сообщению
а как сделать?
я просто не знаю
подскажите ну что вам стоит

 

Powered by ExBB FM 1.0 RC1