Бесплатные PHP скрипты - форум техподдержки

Бесплатные PHP скрипты - форум техподдержки

Форум техподдержки WR-Скриптов на php. Обсуждаем: основы программирования на PHP 5 - 7 версий, различные подходы к написанию скриптов на php 7 без MySQL. А также WR-скрипты: бесплатные доски объявлений, скрипты форумов, Гостевые книги, Каталог ссылок, Галерея, Фотоальбом, Счётчики, Рассылки, Анекдот и другие. Принимаются пожелания для новых версий. Сообщите какой скрипт нужен для Вашего сайта, постараемся найти или реализовать. Скачать скрипты можно бесплатно. Вместе мы сделаем бесплатные php скрипты лучше и доступнее!

Главная сайта бесплатных php скриптовГлавная сайта   ПоискПоиск  
Сегодня: 19.04.2024 - 11:38:05
Страницы:  1 ... 8  9  10  11  12  ... 29

Помогите с настройкой форума

Объявление - WR-Scriptы в UTF-8 кодировке

Активно обновляю скрипты и перевожу их в UTF-8 кодировку. Список перекодированных php скриптов доступен на главной странице сайта. Скачивайте скрипты и устанавливайте на свой сайт! В ближайшее время обновлю каталог знакомств, форум Про, фотоальбом, доски объявлений лайт и ЛЮКС.

На форуме, пожалуйста, пишите что модернизировать в скриптах в первую очередь. Постараюсь исправить большую часть пожеланий!
Планирую продолжить работы весь 2023 год.

АвторСообщение

Maksir

M
Участник форума


Цитата:

Так и наковыряет. В вашем варианте скрипт у вас уже выполняется с правами владельца. В том-же варианте, который п

С какого перепугу? Где вы это видели?
Для сервера важны права для "Владельца" и "Группы". Владелец, если вы не знаете, это именно опция в настройке прав - 755 , где 7 - это для "Владельца" - абсолютные права. Есть права, которые служат для "Всех", они открывают файлы, которые заранее определены. Это файлы html и любые статические (просто текст с форматированием), файлы, которые нужно закрыть на запись - 4 , открыть только на чтение.

1) Я хочу вам сказать, что для статических файлов , права на запись и выполнение/поиск ненужны! Это будет 4 - на чтение!
2) файлы, которые написанны на языке PHP и выполняются через интропритатор PHP, это динамические страницы/файлы. Для интропритатора PHP ненужно указывать "Все остальные", он сам их берёт, а результат выдаёт на выходе.

Немного про динамику прав (основы) 1) Владелец 2) Группа 3) Все остальные. В приоритете всегда будет Владелец, по этому и права выставляются таким образом 644 и 755 .
Ну а что касается процессов запущенных демонов... Вы будите ещё доходить ещё о-О-очень долго, судя по всему. Так что, не обижайтесь и хватит уже спорить.

Сообщение # 109 15.05.08 - 15:55:14

kilogram

K
Участник форума

Видимо словесная диарея )))))
Маскир, так смело судите, а ведь вы совсем меня не знаете

Сообщение # 110 15.05.08 - 16:01:03

Maksir

M
Участник форума


Цитата:

Маскир, так смело судите, а ведь вы совсем меня не знаете

kilogram, где я вас судил???
С какой смелостью и по какому поводу?

Хм... я, сейчас буду читать предидущий пост rootman по слогам и сверять с цитатой в моем сообщении, что бы понять, где я допустил ошибку...

я устал уже...
Вы, слишком внимательно прочитали мой пост... )))

Вот ещё раз, цитата. rootman пишит:

Цитата:
kilogram, спор, конечно, ничем не закончится, однако польза его в том, что человек, поняв свою неправоту может быть наконец задумается о том, что он пишет и поумнеет. Вот он уже и мануалы потихоньку читать начал. Хотя на форуме, то есть поблично, он разумеется никогда в своем незнании не признается. Впрочем скрывать свое незнание на публике свойственно большинству людей.

Особенно rootman'у...

я уже молчу, где тут рутман... Ему говориш про одно, а он переключается на setuid , где выкопал, из какого контекста?

я уже говорил, вот здесь примерно;
https://www.wr-script.ru/forum/index.php?fid=1&id=054079399212&page=7
Мои слова:

Цитата:
Нет. я извинился сразу (невнимательно прокоментировал). Но, всё равно, эти права работают, но только на локальном - личном сервере. Это касается вопроса только о том, что происходит с правами. На удалённом сервере, у Хостера, я не могу менять ни Владельца ни Группу, и это естественно в любой среде *nix.


Цитата:
Предлогаемый мною вариант, безопасен уже с той точки зрения, что количество потенциальных "Владельцев" на файл сузился благодаря настройкам 640.

https://www.wr-script.ru/forum/index.php?fid=1&id=054079399212&page=8

Цитата:
я не считаю себя умнее других. Но, Вы мне не оставляете выбора, поскольку, не разу не привели ни одного убедительного и рассудительного ответа. Кто должен за вас думать, если вы админ? Справочный материал, который пишут такие же люди, как вы?

Сообщение # 111 15.05.08 - 18:29:15

Rootman

R
гость

Maksir,

Цитата:

По поводу прав, - 666 можно написать несложную программу, которая выполняет запись в файл на сервере 666. Для этого у меня и книга интересная есть "Боевой софт для Linux" и журнал Хакер тоже, нешутливые рецепты даёт. По-сути, этот файл открыт на чтение "Для всех", это значит, что для его чтения не требуется аутификация на сервере, его можно прочитать в обход сценария.

Ну напишите как это сделать в обход ограничений, вон я выше вам пример готовый привел.

Каталог: /home/users/4Wf549sWjkew245DSSWQew/, права доступа 777
но поскольку доступ на просмотр содержимого для users/ закрыт (660), имени каталога вы пока не знаете и оно может быть какой угодно "абракадаброй". Консольными командами тоже не пользоваться, доступ к ним вам тоже закрыт, поскольку на все файлы в /bin /usr/bin /usr/local/bin специально поставлены права 744, чтобы кто угодно не мог делать всякие rf,cat, ps и прочие небезопасные штуки.

Задача имеет два варианта решения:
1. Получить доступ под рутом
2. Методом перебора подобрать имя каталога.

Удачи в решении. Кто знает, может быть вам повезет и найдете 3-й вариант.


Цитата:
1) Я хочу вам сказать, что для статических файлов , права на запись и выполнение/поиск ненужны! Это будет 4 - на чтение!

А где предлагал выставлять права записи на статические файлы? Я говорил про файлы, вон типа как у WR в папке data/.

Сообщение # 112 16.05.08 - 05:45:47

Rootman

R
гость

hhhh-h@list.ru,

Цитата:

Дайте плиз прямую ссылку для скачивания форума 1.8М

Ну млин, на главной странице форума, в самом низу, где "Загрузка исходников".

Мдя, товрищи, вот мы тут о правах спорим, а у народа вон какие серьезные проблемы.

Сообщение # 113 16.05.08 - 05:51:18

Maksir

M
Участник форума


Цитата:

Ну напишите как это сделать в обход ограничений, вон я выше вам пример готовый привел.
Что у вас с русским?

Цитата:
Каталог: /home/users/4Wf549sWjkew245DSSWQew/, права доступа 777
но поскольку доступ на просмотр содержимого для users/ закрыт (660),

Этот доступ открыт для записи/чтения для Владельца и Групп.
1) Если это локальный каталог, личный компьютер, где есть и другие пользователи, значит этот каталог может прочесть и записать в него сам Владелец и Группа пользователей, у которые входят в эту группу.
1.2 Владелец и Группа не могут выполнять поиск этого каталога find -name users . Хотя, через ls -l можно получить список файлов и каталогов.
В некотором смысле, каталоги можно "запереть" на web-узле с правами 001, и только root и сервер сможет их использовать. И больше никто кроме root, и никакая программа без высшего процесса с правами root, не сможет прочесть эти каталоги. С правами 600, только Владелец, root и программа с процессом от корня root, которая выполняет процесс от имени главного пользователя root. то есть, такая программа, как PHP может взаимодействовать с каталогом для которого определены права 600, но не сможет взаимодействовать с каталогом 001, поскольку PHP запущен процессом сервера, который не может передать права равные ему, или равные root.
Динамика процессов не позволяет программам наделять другие создаваемые ими процессы равными им права, словно эти процессы были запущены от самого пользователя root. Существует иерархия процессов, которые строятся от корня.
2) Если это сервер, то доступ к каталогам прописаны в конфигурационном файле сервера (NameVirtualHost). В этом случае сервер сам откроет каталог, даже с правами 001 и предоставит на доступ все каталоги, которые там находятся с теми правами, которые там заранее определены.

всё проверял сам с каталогами на web-узле.
Для динамических (для каталогов, в которые пишутся картинки, которые использует PHP), подойдут права 600. Для каталогов простого просмотра через узел, подойдут права 001, так как, сервер запущен от имени процесса root, имеет права на чтение с правами Владельца, а в сеть предоставляет каталоги которые заранее определены "Для всех". PHP в своём случае может открывть каталог, только как Владелец и тогда полученный результат передаёт по написанному сценарию.

Кстати, раз уж тему вы задели по поводу setuid хочу сообщить важную весть, что в справке сказанно, что этот режим имеет право использовать только root , если нужно на время получить процесс от имени другого пользователя. Но, обратно вернуть себе права root не может.
Мне понятна эта схема и я вижу её безопасной.

Сообщение # 114 16.05.08 - 17:32:14

Rootman

R
гость


Цитата:

Что у вас с русским?

Все в порядке с русским.

Цитата:
Этот доступ открыт для записи/чтения для Владельца и Групп.
1) Если это локальный каталог, личный компьютер, где есть и другие пользователи, значит этот каталог может прочесть и записать в него сам Владелец и Группа пользователей, у которые входят в эту группу.

Вот и попробуйте в него что-нибудь записать.


Цитата:
1.2 Владелец и Группа не могут выполнять поиск этого каталога find -name users . Хотя, через ls -l можно получить список файлов и каталогов.

Читать умеем? Говорю же - нет у вас никакого ls, закрыт вам доступ к выполнению команд в /bin, /usr/bin и /usr/local/bin

Чтобы дошло:

Каталог: /home/users/4Wf549sWjkew245DSSWQew/, права доступа 777
но поскольку доступ на просмотр содержимого для users/ закрыт (660), имени каталога вы пока не знаете и оно может быть какой угодно "абракадаброй". Консольными командами тоже не пользоваться, доступ к ним вам тоже закрыт, поскольку на все файлы в /bin /usr/bin /usr/local/bin специально поставлены права 744, чтобы кто угодно не мог делать всякие rf,cat, ps и прочие небезопасные штуки.


Цитата:
Если это сервер, то доступ к каталогам прописаны в конфигурационном файле сервера (NameVirtualHost). В этом случае сервер сам откроет каталог, даже с правами 001 и предоставит на доступ все каталоги, которые там находятся с теми правами, которые там заранее определены.

Вопрос на засыпку. А вы знаете как зовут конфигурационный файл и где он вообще лежит? Его имя и местоположение можно изменить если вы этого еще не знали. И буду я специально для вас подсовывать вам стандартный httpd.conf вместо реального настроечного файла.


Цитата:
Для динамических (для каталогов, в которые пишутся картинки, которые использует PHP), подойдут права 600.

Опять обобщаете и за всех говорите. Если они подойдут лично вам это не значит что они подойдут всем остальных.


Цитата:
Кстати, раз уж тему вы задели по поводу setuid хочу сообщить важную весть, что в справке сказанно, что этот режим имеет право использовать только root , если нужно на время получить процесс от имени другого пользователя. Но, обратно вернуть себе права root не может.
Мне понятна эта схема и я вижу её безопасной.

А я вижу простой факт что нормальной программе просто так, ради прихоти админа, не нужно менять свои права на какие угодно другие и если ей написано nobody - под этим именем она и должна работать. Особенно когда она вызывается удаленно, через браузер.

Сообщение # 115 19.05.08 - 06:04:21

Maksir

M
Участник форума


Цитата:

Вот и попробуйте в него что-нибудь записать

уже пробовал. Всё работает.
Но, в чём проблема, вы можете объяснить?

Цитата:
но поскольку доступ на просмотр содержимого для users/ закрыт (660), имени каталога вы пока не знаете и оно может

а я вам объясняю, что в этой ситуации просмотр открыт для Владельца этого каталога и с такими же правами для Групп. Или вы не улавливаете разницы?
Если у пользователей Группа одна, что и у владельца, - они имеют те же права 6 , как и у Владельца.

Цитата:
Чтобы дошло:
вот упырь...
Права для юзверей, вы естественно закрыли. Но, это в вашем Виндавозе каждый пользователь - юзверь. А в Линухе каждый зарегеный может быть Владельцем и иметь свою Группу. Здесь права "Для всех" не влияют.

Цитата:
Опять обобщаете и за всех говорите. Если они подойдут лично вам это не значит что они подойдут всем остальных.

я не обобщаю, а говорю исходя из ситуации. Есть основы, как вы и сами уже говрили. Так вот, эти самые основы позволяют регулировать доступ как угодно. Вот я вам и предлогаю - рассудительно отнестись, кому и какие права выдавать.


Цитата:
А я вижу простой факт что нормальной программе просто так, ради прихоти админа, не нужно менять свои права на какие угодно другие и если ей написано nobody - под этим именем она и должна работать. Особенно когда она вызывается удаленно, через браузер.

Вам ещё очень далеко до этого понимания процессов, поверьте мне на слово. То, что вам непоятно, сделанно не для вас!
Кстати, nobody здесь вообще не при чем, если вы говорите про setuid

Сообщение # 116 19.05.08 - 13:42:33

Rootman

R
гость


Цитата:

уже пробовал. Всё работает.
Но, в чём проблема, вы можете объяснить?

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

Цитата:
а я вам объясняю, что в этой ситуации просмотр открыт для Владельца этого каталога и с такими же правами для Групп. Или вы не улавливаете разницы?

С чего вы взяли, что вы работаете с правами Владельца и принадлежите к указанной группе? Вы как "все остальные" работаете и не забывайте это.


Цитата:
Права для юзверей, вы естественно закрыли. Но, это в вашем Виндавозе каждый пользователь - юзверь. А в Линухе каждый зарегеный может быть Владельцем и иметь свою Группу. Здесь права "Для всех" не влияют.

Я закрыл права на просмотр для всех юзеров, в том числе и для "всех остальных". Хотя что-то мне подсказывает, что вы это итак поняли, просто возразить вам нечего.


Цитата:
я не обобщаю, а говорю исходя из ситуации. Есть основы, как вы и сами уже говрили. Так вот, эти самые основы позволяют регулировать доступ как угодно. Вот я вам и предлогаю - рассудительно отнестись, кому и какие права выдавать.

Основы основами, я же вам обьясняю что такой подход с выполнением криптов под suexec, как вы предлагаете - небезопасен. Повторить в стотысячный раз почему или не надо?


Цитата:
Вам ещё очень далеко до этого понимания процессов, поверьте мне на слово. То, что вам непоятно, сделанно не для вас!
Кстати, nobody здесь вообще не при чем, если вы говорите про setuid

Ой не надо сказок. Учитывая что вы вообще не удосужились толком разобраться что такое setuid и попутали этот системный вызов с похожим аттрибутом suid, не вам обьяснять чего я понимаю а чего нет. Да, вы кстати говорили что в ядре нет поддержки сети и я жду не дождусь увидеть наконец ядро без TCP/IP как такового. Или у вас не компилицца чего?

Сообщение # 117 20.05.08 - 05:55:43

Maksir

M
Участник форума


Цитата:

С чего вы взяли, что вы работаете с правами Владельца и принадлежите к указанной группе? Вы как "все остальные" работаете и не забывайте это.

Я вас понял. Вы не знаете метода работы прав.
1. Каждый зарегестрированный пользователь в системе Unix является Владельцем и имеет свою индивидуальную Группу. Например, Maks:Maks, или rootman:rootman
2. У каждого пользователя в системе Unix есть свой домашний каталог, в котором у него есть неограниченные права.
3. Пользователь rootman не может читать и просматривать каталоги и файлы Maks с правами 660, потому что rootman не является владельцем каталога Maks и не входит в группу Maks
4. Каждый залогенившийся пользователь зарегестрирован в системе Unix и имеет свою учётную запись и права, будь то ftp или smb сервер.
5. залогенивший пользователь является Владельцем своего каталога.

А теперь, о главном, как это всё можно связать с правами на сервере http:
1. Сервер в первую очередь запущен от пользователя root и может открывать любые файлы с любыми настройками доступа, хоть 000.
2. Сервер http открывает на доступ через протокол http только те файлы, которые заранее определены "Для всех". т.е. 001 - выполнение/поиск для всех

модуль PHP:
1. PHP открывает и работает с файлами и каталогами, для которых заранее определены настройки доступа для Владельца и Группы. (если конкретно, то только для Владельца, или Владельцев, то есть - Группы)
у вас, rootman, возникают сомнения, когда я говрю "Владелец"? Владелец, это не обязательно root . В данном случае модуль PHP взаимодействует с каталогами и файлами в которых прописанны Владелец и Группа nobody . А права так и остаются - 660, или 600, или только на чтение 400 (для Владельца - имеется ввиду в категории настроек. Вот так 060 будет для Группы)

Сообщение # 118 20.05.08 - 13:28:42

Maksir

M
Участник форума


Цитата:

Основы основами, я же вам обьясняю что такой подход с выполнением криптов под suexec, как вы предлагаете - небезопасен. Повторить в стотысячный раз почему или не надо?

Вот пример:
я писал 3. Пользователь rootman не может читать и просматривать каталоги и файлы Maks с правами 660, потому что rootman не является владельцем каталога Maks и не входит в группу Maks

Вот, как раз-таки вот здесь, сервер http, у которого неограниченные права, переводит процесс с помощю suexec под пользователя, например - rootman, у которого есть ограниченные права (в отличии от самого сервера). И теперь, сервер работает, от прав rootman с его каталогом, и его процесс огрничен в рамках одного рядового пользователя.
В чем здесь уязвиомсть, когда речь идёт наоборот - об ограничении прав одного пользователя, вот это и есть "феномен-rootmana"

Сообщение # 119 20.05.08 - 13:58:13

Rootman

R
гость


Цитата:

1. Каждый зарегестрированный пользователь в системе Unix является Владельцем и имеет свою индивидуальную Группу. Например, Maks:Maks, или rootman:rootman

Для особо одаренных снова: С чего вы взяли, что вы работаете с правами Владельца и принадлежите к указанной группе? Вы как "все остальные" работаете и не забывайте это.
Например под nobody:nobody работаете, а на каталог выставлено rootman:rootman. Попробуйте прочесть его содержимое при правах доступа 660. В этом суть задачи.


Цитата:

2. У каждого пользователя в системе Unix есть свой домашний каталог, в котором у него есть неограниченные права.

Ага, есть. По умолчанию. Только я ведь могу сделать так, чтобы неограниченных прав на каталог у вас не было. А то и вообще небыло домашнего каталога.


Цитата:
3. Пользователь rootman не может читать и просматривать каталоги и файлы Maks с правами 660, потому что rootman не является владельцем каталога Maks и не входит в группу Maks

Вот-вот, именно в этом и заключается суть предлагаемой задачи. Сервер работает с правами типа nobody:nobody а на каталог стоит rootman:rootman поэтому прочесть содержимое каталога вы не сможете. Соотвественно не сможете определить имя моего домашнего каталога, соотвественно и записать в него ничего не сможете, даже при том, что он имеет атрибуты 777, то есть запись доступна для всех.


Цитата:
1. Сервер в первую очередь запущен от пользователя root и может открывать любые файлы с любыми настройками доступа, хоть 000.

Ага, щас. Попробуйте считать файл /etc/shadow
Запустите на своем сервере такой скрипт:

Код:

<?php
$x=`cat /etc/shadow`;
print $x;
?>

И обломитесь вы считать этот файл.
Потому что под админом работает только базовый процесс сервера, все запросы к файлам осуществляются через те права доступа, которые прописаны в опциях User/Group его конфиг-файла. Делается это путем запуска клона, который меняет свои права доступа с администраторских, на те какие нужно и только потом обслуживает запрос юзера.


Цитата:
3. Пользователь rootman не может читать и просматривать каталоги и файлы Maks с правами 660, потому что rootman не является владельцем каталога Maks и не входит в группу Maks

Зато если rootman найдет в ваших скриптах дыру, позволяющую выполнять произвольный php-код, он получит полный доступ ко всем вашим файлам, но если же сервер работает с правами, отличными от ваших, он получит доступ только к тем файлам, которые открыты на запись "для всех остальных", изменить содержимое прочих файлов у меня не получится. Я вам это толкую с самого начала.


Цитата:
Вот, как раз-таки вот здесь, сервер http, у которого неограниченные права, переводит процесс с помощю suexec под пользователя, например - rootman, у которого есть ограниченные права (в отличии от самого сервера).

Опять вы все перепутали. Чтобы сделать то, что вы написали, сервер надо специально компилировать с поддержкой suexec, по умолчанию эта небезопасная функция в сервере отключена, а по умолчанию действуют одинаковые права доступа для всех пользователей сервера.


Цитата:
В чем здесь уязвиомсть, когда речь идёт наоборот - об ограничении прав одного пользователя, вот это и есть "феномен-rootmana"

Я вам писал. В случае уязвимости в скрипте, злоумылшенник получит полный доступа ко всем моим файлам.

dimasik, а зачем вам такой тэг?

Сообщение # 120 21.05.08 - 06:50:52
"Репутация" :Предыдущая темаСледующая тема: Не заходит в админ панель. Что делать?
Страницы:  1 ... 8  9  10  11  12  ... 29

Сообщение
Имя E-mail
Сообщение

Нажмите на точку возле имени для обращения к участнику

Смайлы:

Ещё смайлы
Эмодзи
         
Защитный код: (введите цифры, которые на синем фоне)
Ответ на вопрос: (Какой сейчас год?)
   
WR-Счётчик
Powered by WR-Forum Professional © 2.3 UTF-8 beta версия