Форум техподдержки бесплатных PHP скриптов

Форум техподдержки бесплатных PHP скриптов

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

Главная сайта бесплатных php скриптовГлавная сайта   ПоискПоиск  
Сегодня: 28.11.2020 - 17:04:59
Страницы:  1 ... 8  9  10  11  12  ... 29
Объявление - WR-Scriptы в UTF-8 кодировке

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

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

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

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.2.2