История одной пятницы... в картинках

Всё началось с того, что захотелось найти XXE (XML eXternal Entity).
Атака заключается в том, что парсер небезопасно разрешает XML-сущности(entity) определённые клиентом. Данную уязвимость можно использовать как для XSS, чтения базы данных(SQL-inject), обхода аутентификации, чтения произвольных фаилов в системе(/etc/passwwd) или запрос внешнего ресурса по URI (протоколы ftp http https, функциями php и другими).

Пояснение:
символ (плюс) + в urlencode = %2B
символ (слеш) / в urlencode = %2F
символ (обратный слеш) \ в urlencode = %5C

Глаза пали на RSS. Открываем то, что генерирует XML:

Читать дальше →

Безопастность - превыше всего

Только что прочитал интересную статью, которая натолкнула меня на одну важную мысль: фиг с ними, с дополнениями и усовершенствованиями, если в движке вдруг будут найдены уязвимости. Предлагаю знающим людям потестить Livestreet на SQL-инъекции и XSS c CSRF. Ибо, в первую очередь надо закрывать подобные баги, а потом уже двигаться вперёд, стараясь не плодить новых уязвимостей.

Я ещё не искал «дырки» в коде, этот пост скорее превентивный, дабы, не дай Бог, не повторять эксплеевские ошибки. Кстати, Ort, ты обращал внимание на защиту движка от уязвимостей?