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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: есть дыра?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
LIME
Отправлено: 20 Мая, 2012 - 17:08:47
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




PHP:
скопировать код в буфер обмена
  1. include('includes/'.$_GET['inc'].'.inc');
достаточно ли добавлять расширение?
в другх папках .inc нет
или как-то обработать параметр еще?
 
 Top
OrmaJever Модератор
Отправлено: 20 Мая, 2012 - 17:15:39
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




расширение отрезается, прямой путь к инклуду. Это не дыра, а дырище


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
LIME
Отправлено: 20 Мая, 2012 - 17:17:32
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




OrmaJever пример?
 
 Top
OrmaJever Модератор
Отправлено: 20 Мая, 2012 - 17:20:19
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)






-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Green
Отправлено: 20 Мая, 2012 - 17:27:29
Post Id



Частый гость


Покинул форум
Сообщений всего: 214
Дата рег-ции: Апр. 2012  
Откуда: Кисловодск


Помог: 9 раз(а)




Если я не ошибаюсь, то при allow_url_fopen = On, можно будет подключать удаленные файлы... Растерялся
 
 Top
LIME
Отправлено: 20 Мая, 2012 - 17:29:58
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Цитата:
Warning: include(): Failed opening 'includes/../index.html' for inclusion

(Добавление)
но фильтр нужен это ясно
чем обработать чтоб побыстрее?
сойдет?
(Добавление)
Green при этом будет инклудиться в вывод то что вывел удаленный файл а не то что в его исходнках
 
 Top
OrmaJever Модератор
Отправлено: 20 Мая, 2012 - 17:50:34
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




LIME пишет:
Warning: include(): Failed opening 'includes/../index.html' for inclusion

всё отлично, можно кидать на хост и выкладывать сылку в подпись.


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
LIME
Отправлено: 20 Мая, 2012 - 18:10:06
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




а что толку))
там авторизация еще сначала))
так что? точку убрать имхо достаточно против всего? нет?
 
 Top
OrmaJever Модератор
Отправлено: 20 Мая, 2012 - 18:19:54
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




LIME пишет:
так что? точку убрать имхо достаточно против всего? нет?

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

PHP:
скопировать код в буфер обмена
  1. $files = array('mysql', 'gd', 'curl');
  2. if(in_array($_GET['inc'], $files)) include 'includes/'.$_GET['files'].'.inc';


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
LIME
Отправлено: 20 Мая, 2012 - 18:25:06
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




ну это и понятно было
я думал подешевле сделать
а что без точки могут сделать?
 
 Top
Мелкий Супермодератор
Отправлено: 20 Мая, 2012 - 20:32:54
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




LIME пишет:
есть дыра?

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

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

basename


-----
PostgreSQL DBA
 
 Top
LIME
Отправлено: 20 Мая, 2012 - 20:38:43
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




??
basename не вижу чем лучше
(Добавление)
а может вообще ниче не делать всетки
инклуды дени фром олл
на индекс авторизация стоит
??? хз
 
 Top
Tmin10
Отправлено: 21 Мая, 2012 - 22:29:28
Post Id



Частый гость


Покинул форум
Сообщений всего: 239
Дата рег-ции: Дек. 2009  


Помог: 0 раз(а)




Блин, ну зачем нужны такие инклуды, неужели как то нельзя реализовать по другому?
Это же огромная дыра и на почти любую проверку входящего параметра кроме полной можно написать лазейку...
 
 Top
LIME
Отправлено: 21 Мая, 2012 - 23:06:09
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




а как сделать?
я просто не знаю
подскажите ну что вам стоит
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB