Увы, я лишь являюсь как раз таким «умным юзером» и в коде livestreet не разбираюсь (и не хочу, ибо ненавижу php), и могу лишь сказать, что так делать не стоит и надо допиливать непосредственно код движка.
Кстати, можно отправлять инвайты в свой личный блог. :)
Конкретно здесь её нету, но это не означает, что так делать хорошо. Уязвимостей такого типа на livestreet я насчитал четыре, и они присутствуют более двух лет.
Я, конечно же, уже сообщил в личку ori и PSNet. Разумеется, в открытую, в том числе на гитхабе, я подобные вещи писать не буду и могу лишь сообщить, что удалённые блоги, закрытые блоги и черновики может читать (и не только читать) абсолютно любой зарегистированный юзер.
Ну это серьезные баги. Если бы они были, их бы уже пофиксили, мне кажется. Или прямо сейчас на этом сайте работают? Сможете последний пост из этого блога вытащить?
Без проблем, но, к сожалению, используемые уязвимости подразумевают перебор, а на это нужно время. Если к вечеру буду свободен, чтобы переписать парсер на верстку synio, то вытащу.
Однако чтение удаленных комментов выполняется быстро, и скриншот с некоторыми удаленными комментами PSNet уже отправил ему в личку.
Мне кажется эти события мало связаны. Вообще предложенное решение правки шаблона наверняка удовлетворяет требованиям ТС, потому что вероятность что кто-то будет эксплуатировать эту незакрытую бизнес-логику на его сайте близка к нулю. Но хорошо, давайте дополним ответ про условие в шаблоне и отключим её. Строку
if (!Config::Get('general.reg.invite')) {
нужно заменить на:
if (!Config::Get('general.reg.invite') or !$this->oUserCurrent->isAdministrator()) {
вероятность что кто-то будет эксплуатировать эту незакрытую бизнес-логику на его сайте близка к нулю
Именно поэтому «до первого умного юзера». Коих, разумеется, может и не оказаться, и всё будет хорошо. Однако на очень активном tabun.everypony.ru таких умных юзеров и без меня набирается десятка два (уязвимости, найденные там ещё в 2012 году, имеются прямо на livestreet.ru до сих пор), и я, собственноручно слив оттуда 20 тысяч закрытых постов и 4 миллиона закрытых комментов, теперь на подобные недоработки не могу спокойно смотреть. Собственно, для уведомления разработчиков об уязвимостях и зарегистрировался тут. (Иду доставать пост из блога.)
17 комментариев
Вот так и создаются уязвимости
Кстати, можно отправлять инвайты в свой личный блог. :)
Тогда и увидим, насколько Вы «умный юзер», как заявляете.
Однако чтение удаленных комментов выполняется быстро, и скриншот с некоторыми удаленными комментами PSNet уже отправил ему в личку.
нужно заменить на:
в github.com/livestreet/livestreet/blob/1.0.3-replication/classes/actions/ActionSettings.class.php#L399