[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Ссылка на папку
Страницы: 1, 2, 3, 4, 5, 6
den2017
Помогите пожалуйста, Нужно сослаться на файл который лежит в другой папке. Если я перетаскиваю этот файл в общий каталог то все работает <a href="index.php?/modul&page=matem">
но если она находится в папке то выдает ошибку Warning: include(./modules/static/matem.php): failed to open stream: No such file or directory in D:\OpenServer\domains\scool\index.php on line 29

Warning: include(): Failed opening './modules/static/matem.php' for inclusion (include_path='.;d:/openserver/modules/php/PHP-5.6;d:/openserver/modules/php/PHP-5.6/PEAR/pear 9;) in D:\OpenServer\domains\scool\index.php on line 29
На 29 строке в index.php у меня подключен include './modules/'.$_GET['module'].'/'.$_GET['page'].'.php';
walerus
den2017
Работай с путями от корня проекта и проблемы уйдут.
AllesKlar
Цитата (walerus @ 17.05.2017 - 13:35)
На 29 строке в index.php у меня подключен include './modules/'.$_GET['module'].'/'.$_GET['page'].'.php'


хана всему серверу.
Всю файловую систему выведешь.


_____________
[продано копирайтерам]
inpost
walerus
./ не от корня при условии, что index.php лежит в корне? wink.gif

den2017
"хана всему серверу", человек просто не знает о безопасности, но говорит. Это же форум, тут так можно ! Всё ок с безопасностью твоего кода.
Свернутый текст
Этим я и ругал форумы, если помнишь, сутки ждать ответа и в итоге его не получить. C другой стороны тебе никто не обязан помогать или вникать в твою проблему более существенно, если ты сам мало информации предоставил.


_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
AllesKlar
Цитата (inpost @ 18.05.2017 - 00:48)
хана всему серверу", человек просто не знает о безопасности, но говорит. Это же форум, тут так можно !

Да, дейстьвительно, лучше слушать безработного фрилансера.
Извиняюсь, вы когда были последний раз на конференции? На любой. Вот вообще на любой? В которой вы приняли активное участие.
Или вы баб резиновых вебинары по безопасности смотрите и верите им?


_____________
[продано копирайтерам]
inpost
AllesKlar
Покажешь, а не будешь трепаться:
http://game.school-php.com/?module=main&page=static

29-ая строчка:
user posted image

Так же наличие папки и файлов:
user posted image

Вот этот файл main/static:
user posted image

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
AllesKlar
Цитата (inpost @ 18.05.2017 - 09:58)
AllesKlar
Покажешь, а не будешь трепаться:
http://game.school-php.com/?module=main&page=static

29-ая строчка:
user posted image

Так же наличие папки и файлов:
user posted image

Вот этот файл main/static:
user posted image


Это классика.
Прямой инклюд файла из GET - конкретно этот случай описан в любой книжке "Программирование для чайников" на третей странице. Сразу же после заголовка "Стать программистом за две недели"
Ни в обной книге по безопасности этого нет, т.к. это ясно и так любому.
Да, в твоем случае в конце указано расширение 'php' и я не смогу инклюдить /etc/passwd , но все, абсолютно все php файлы сервера могут быть спокойно приинклюдены, вне зависимости от того, было ли это предусмотрено или нет.
Повезет, если это просто конфиг. А если исполняемый код?
В общем, это еще круче, чем у Попова.

Если хочется передавать имя модуля, который совпадает с именем файла, то должен быть жесткий маппинг. Либо же канонизация пути и валидация, доступен ли файл в данном контексте для инклюда.
А то, что ты показал, так я и не говорил, что файл не будет инклюдиться. Будет, как и все остальный php файлы с сервера.


_____________
[продано копирайтерам]
inpost
AllesKlar
Исправить на &page=main.php ? Разговор о том, что там есть уязвимость. Хватит оправдываться, или бери свои слова, что там уязвимость, или докажи что там есть уязвимость.

Вот твоя фраза: "хана всему серверу. Всю файловую систему выведешь.". Выводи всю файловую систему, покажи где хана серверу. За свои слова надо отвечать. Отвечай.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
inpost
http://game.school-php.com/?module=main&page=static.php
Видишь, сделал тебе через static.php , можно main.php . Там же в папке есть mypass.txt , вот его прямая ссылка:
http://game.school-php.com/modules/main/mypass.txt

Давай выводи через GET wink.gif

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
AllesKlar
inpost
Да, пожалуйста
Классическое php injection, включение index.php в непредназначенном ему месте
user posted image

_____________
[продано копирайтерам]
inpost
У тебя подключился файл: /modules/main/main.php .
Где тут уязвимость? Я даже файл main.php подкорректировал, чтобы тебе понятнее было:
user posted image

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
inpost
Специально для тебя строчки 28-30:
echo 'BEFORE INCLUDE<br>';
include './modules/'.$_GET['module'].'/'.$_GET['page'];
echo '<br>AFTER INCLUDE';



_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
AllesKlar
Лови еще.
user posted image
Не нужно только спрашивать : И что из этого?
Я включил файл не предусмотренным для того способом.
Час времени написать скрипт, который выведет список всех php файлов сервера.

Я даже не хочу дискутировать на тему include $_GET - об этом можно было поговорить 10 лет назад, сейчас это просто вызывает недоумение и снисходительную улыбку.

_____________
[продано копирайтерам]
inpost
AllesKlar
Если это работает, то почему не работает вывод static.php ? Говори любое имя любого файла и укажи путь к этому файлу, я залью и ты докажешь, что можешь вывести. wink.gif
Тебя не смущает, что у тебя работает только с main/main ? static/main , main/static, static/static не работает?

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
inpost
http://game.school-php.com/modules/main/mypass.txt
Вот тебе файл. Выведи его smile.gif

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.