inpost, он утверждает на том основании, что не видит. что там написано у тебя в первых 28 строчках. Кстати а у ТС тоже есть эти 28 строчек (ну или прочего кода, который как то работает с этими переменными), если нету, то уязвимость же есть?
_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
inpost
18.05.2017 - 19:25
cheeУ ТС тоже есть эти 28 строчек, мне этот код знаком.
Не знание не освобождает от ответственности, так-то.
_____________
Обучаю веб-программированию качественно и не дорого:
http://school-php.comФрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
inpost
18.05.2017 - 19:30
Но теперь справедливость восторжествовала, пойду спать
_____________
Обучаю веб-программированию качественно и не дорого:
http://school-php.comФрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Цитата (AllesKlar @ 18.05.2017 - 15:12) |
К сожалению, я не словоблуд, вон twin-ну доставь удовольствие. |
Я - словоблуд? Да я тебя по IP вычислю! Сейчас с братом приедем. Вешайся!
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
VeRTak
18.05.2017 - 19:47
Цитата (twin @ 18.05.2017 - 19:44) |
Да я тебя по IP вычислю! |
Ай, какой молодец, затроллил АлесКляра. Да, вероятно его вывод был несколько преждевременным, главное другое - такой код писать нельзя. И ты, как преподаватель, должен быть в первую очередь обратить внимание именно на это. =)
killer8080
18.05.2017 - 21:21
inpost
вообще то AllesKlar прав, это действительно уязвимость!
Как иначе назвать возможность заинклюдить любой файл на сервере с расширением php? Причем это в лучшем случае.
Цитата (inpost @ 18.05.2017 - 11:58) |
29-ая строчка:
|
ну эта строчка же явно не работает в том коде
Цитата (AllesKlar @ 18.05.2017 - 12:45) |
Да, в твоем случае в конце указано расширение 'php' и я не смогу инклюдить /etc/passwd |
это не совсем так, зависит от версии PHP и конфигурации.
Спустя 3 минуты, 52 секунды killer8080 написал(а):
Не забывай что LFI при определённых условиях может превратится в RCE
inpost
18.05.2017 - 21:48
Ron
Почему нельзя?
killer8080
Нельзя заинклюдить. Там же код с 1 по 28-ую строчки которые не дают в данном случае заинклюдить любой файл на сервере.
Цитата |
ну эта строчка же явно не работает в том коде smile.gif |
Ещё как работает
_____________
Обучаю веб-программированию качественно и не дорого:
http://school-php.comФрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
killer8080
18.05.2017 - 21:54
Цитата (inpost @ 18.05.2017 - 21:48) |
killer8080 Нельзя заинклюдить. Там же код с 1 по 28-ую строчки которые не дают в данном случае заинклюдить любой файл на сервере.
Цитата ну эта строчка же явно не работает в том коде smile.gif
Ещё как работает |
модифицировать суперглобалс - зло!
К тому же мы обсуждаем именно этот фрагмент кода, а не 28 неизвестных никому строчек с верху.
Как уже сказали
Цитата (chee @ 18.05.2017 - 19:21) |
Кстати а у ТС тоже есть эти 28 строчек (ну или прочего кода, который как то работает с этими переменными), если нету, то уязвимость же есть? |
inpost
18.05.2017 - 21:55
killer8080Они не модифицируются. Хотя я бы поспорил с утверждением, что переменную (не константу) нельзя менять, если сами разработчики PHP оставили эту возможность даже в современной версии. Я уверен, что у них есть мозги в голове.
_____________
Обучаю веб-программированию качественно и не дорого:
http://school-php.comФрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
killer8080
18.05.2017 - 21:57
Цитата (inpost @ 18.05.2017 - 21:55) |
killer8080 Они не модифицируются. |
тогда почему не работает?
http://game.school-php.com/?module=main&page=static
Спустя
1 минута, 57 секунд killer8080 написал(а):
Ну и важный момент
Цитата (killer8080 @ 18.05.2017 - 21:21) |
Цитата (AllesKlar @ 18.05.2017 - 12:45) Да, в твоем случае в конце указано расширение 'php' и я не смогу инклюдить /etc/passwd
это не совсем так, зависит от версии PHP и конфигурации. |
inpost
18.05.2017 - 22:03
killer8080Потому что AllesKlar высказал, что виноват .php указанный прямо. Поэтому я чуть код поправил, чтобы он сам мог указывать нужный .php файл. Вот корректная ссылка:
http://game.school-php.com/?module=main&page=static.phpИменно static.php, так как
include './modules/'.$_GET['module'].'/'.$_GET['page'];
Ранее было на первой странице так:
include './modules/'.$_GET['module'].'/'.$_GET['page'].'php';
_____________
Обучаю веб-программированию качественно и не дорого:
http://school-php.comФрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Цитата (killer8080 @ 18.05.2017 - 17:54) |
модифицировать суперглобалс - зло! |
Почему? В свое время очень здорово получалось с магическими кавычками.
И совсем не обязательно модифицировать. Можно просто проверить. Хотя это все равно очень плохо. Хотя бы потому, что элемент может отсутствовать, а это нотис. Ну и в целом это говнокод конечно же.
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
killer8080
18.05.2017 - 22:09
inpostнужно показывать код целиком, если $_GET не модифицирован, значит была предварительная валидация и до этой строчки дело не доходит.
В целом же и
include './modules/'.$_GET['module'].'/'.$_GET['page'];
и
include './modules/'.$_GET['module'].'/'.$_GET['page'].'php';
это уязвимость.
Цитата (twin @ 18.05.2017 - 22:04) |
Почему? В свое время очень здорово получалось с магическими кавычками.
|
и где они теперь :)
Цитата (killer8080 @ 18.05.2017 - 18:09) |
и где они теперь |
Ну тогда же были. И очень даже хорошо обрубались в самом зародыше модификацией суперглобалов)))
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.