1.3, Аноним (-), 00:02, 29/03/2018 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
А патчи в стили PHP, годы идут, ничего не меняется. Мы тут ввод подчистим, вместо, того чтоб принципиально дыру прикрыть.
| |
|
2.4, пох (?), 00:32, 29/03/2018 [^] [^^] [^^^] [ответить]
| –1 +/– |
принципиальная дыра - это вообще работать с каким-либо user input? В противном случае, у меня для вас плохие новости... по крайней мере, для машин с фон-неймановской архитектурой и тьюринг-полных языков.
а на "parser3" вы современный сайт делать не захотите (он не тьюринг-полный, untrusted данные изолированы. Щастья своим разработчикам не принес.)
| |
|
3.33, YetAnotherOnanym (ok), 18:56, 29/03/2018 [^] [^^] [^^^] [ответить]
| +/– |
Принципиальная дыра - это ожидать, что в user input будет только то, что там должно быть по представлениям разработчика.
| |
|
4.48, пох (?), 16:16, 31/03/2018 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Принципиальная дыра - это ожидать, что в user input будет только то, что там должно быть по
> представлениям разработчика.
они ничего такого не ожидали, просто ошиблись, упустив еще одно из миллиона мест, где нужно фильтровать еще один из сотни символов, имеющих специльное значение.
это не лечится, это будет всегда.
| |
|
|
|
|
2.51, dq0s4y71 (ok), 23:16, 28/04/2018 [^] [^^] [^^^] [ответить]
| +/– |
Drupal6 упоминается почему-то только в одной ссылке. В двух других только 7 и 8. Там вообще про одну и ту же уязвимость?
| |
|
|
2.8, IRASoldier (?), 08:21, 29/03/2018 [^] [^^] [^^^] [ответить]
| +4 +/– |
Одним словом - не пехапе, а ошибки пейсателей парсеров пользовательских запросов
Не язык должен быть "безошибочным", а код. Так-то.
| |
|
3.11, Аноним (-), 10:29, 29/03/2018 [^] [^^] [^^^] [ответить] | –1 +/– | ну, на самом-то деле, изначальное отсутствие в языке с низким порогом вхождения... большой текст свёрнут, показать | |
|
4.15, KonstantinB (ok), 11:18, 29/03/2018 [^] [^^] [^^^] [ответить]
| +/– |
В современном PHP все уже есть.
А в старом коде времен php4, да, я видел "парсеры" XML и JSON через eval(). "Ну а чо, так проще же". Один такой eval() одной компании как-то обошелся в полмиллиона долларов.
| |
|
5.17, Аноним (-), 12:30, 29/03/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
> одной компании как-то обошелся в полмиллиона долларов
так это одной. А полмиллиона других компаний сэкономили на этом по доллару - и вот уже общий баланс неотрицательный :)
| |
|
|
5.46, пох (?), 13:45, 31/03/2018 [^] [^^] [^^^] [ответить]
| –1 +/– |
> htmlspecialchars, filter_var
это слишком низкоуровневые конструкции, и к тому же они by design неверны (если использовать filter не для валидации, с этим-то все в порядке, кроме названия).
То есть малейшая неаккуратность, и получаем дыру типа описанной.
трансляцию надо выполнять не на обработке input (потому что совершенно неизвестно, что мы с тем input делать собираемся - мы его может вообще сейчас as-is бросим обратно в рожу пользователю в тот textarea, из которого получили, потому что он капчу неверно набрал - и зачем, спрашивается, было куда-то транслировать?)
ее надо выполнять в том месте, где ты с этим input что-то собрался делать.
Если в базу собрался положить - тебе нужен sql translator, если в html - html'ный, в js - js'овый. Ну, надеюсь, eval() мы не собираемся? Хотя php-транслятором лучше сразу озаботиться ;-)
Известно это становится только непосредственно на этапе выполнения, уже после всех валидаций и промежуточных обработок (попутно уже нельзя в этом месте вернуть ошибку и ничего не сделать). Именно там и надо фильтровать.
| |
|
|
|
|
1.9, Fy (?), 08:53, 29/03/2018 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Дырень касается всех или только тех у кого есть какие-то пользователи и они чего-то куда-то вводят?
| |
|
2.10, ваш К.О. (?), 10:17, 29/03/2018 [^] [^^] [^^^] [ответить]
| +2 +/– |
если у твоего локалхоста нет пользователей - нет, тебя не касается. Особенно если и drupal ты из архива не распаковывал.
| |
|
|
4.41, Аноним (-), 16:22, 30/03/2018 [^] [^^] [^^^] [ответить]
| +/– |
Да куда уж тоньше. Словно сайты без аунтификации и прочих форм ввода бывают только на локалхосте.
| |
|
|
2.12, 123 (??), 10:39, 29/03/2018 [^] [^^] [^^^] [ответить]
| +/– |
Касается всех, даже включение режима обслуживания не спасет. Ошибка прямо с бутстрапа ядра как-то тянется. В общем без вариантов, надо обновлять.
| |
|
1.13, Солнышко (??), 11:12, 29/03/2018 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
Drupal весьма хорош для крупных порталов, для тех, кто не хочет изучать программирование, но нужна гибкая настройка сущностей. А шкурку натянуть можно какую хочешь. Скорость правда не ахти, но для корпоратпорталов и не надо.
| |
|
2.16, Аноним (-), 12:29, 29/03/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Скорость правда не ахти
И безопасность, как видим, тоже. Но шкурку натянуть можно, это да.
| |
|
3.19, Солнышко (??), 12:38, 29/03/2018 [^] [^^] [^^^] [ответить]
| –1 +/– |
>> Скорость правда не ахти
> И безопасность, как видим, тоже. Но шкурку натянуть можно, это да.
Для бизнеса чаще всего важнее шкурка, а не содержание. В таком мире мы живем.
| |
|
4.22, KonstantinB (ok), 13:01, 29/03/2018 [^] [^^] [^^^] [ответить]
| +2 +/– |
Для бизнеса важны бабки, а как следствие - важно все. Просто некоторые осознают важность качественного безопасного кода только после того, как понесут миллионные убытки.
Я всегда объясняю нетехническим бизнесменам понятие технического долга через бабки, прекрасно понимают.
| |
|
5.25, ыы (?), 14:05, 29/03/2018 [^] [^^] [^^^] [ответить]
| –3 +/– |
>как понесут миллионные убытки.
или не понесут.. а при удачном раскладе еще и страховку нехилую получат...
>долга через бабки, прекрасно понимают
раскрутить лоха на бабки.. да.. есть мастера еще какие :)
| |
|
6.27, Солнышко (??), 14:08, 29/03/2018 [^] [^^] [^^^] [ответить]
| –1 +/– |
>>как понесут миллионные убытки.
> или не понесут.. а при удачном раскладе еще и страховку нехилую получат...
>>долга через бабки, прекрасно понимают
> раскрутить лоха на бабки.. да.. есть мастера еще какие :)
Или продадут "успешный" стартап, а отдуваться будет подрядчик фирмы, кто его купит )
| |
6.30, KonstantinB (ok), 15:28, 29/03/2018 [^] [^^] [^^^] [ответить]
| +2 +/– |
> раскрутить лоха на бабки.. да.. есть мастера еще какие :)
Да вот прямо сейчас последствия работы таких мастеров разгребаю. До человека, к сожалению, дошло только после того, как слили всю его базу.
| |
|
7.32, ыы (?), 16:33, 29/03/2018 [^] [^^] [^^^] [ответить]
| –2 +/– |
>> раскрутить лоха на бабки.. да.. есть мастера еще какие :)
> Да вот прямо сейчас последствия работы таких мастеров разгребаю. До человека, к
> сожалению, дошло только после того, как слили всю его базу.
"Неприятности происходят вне зависимости от того делаете вы что-то или нет." (с)
Вы считаете что проблема в мастерах... Возможно со своей колокольни вы действительно видите проблему так. Потому что иных вариантов для вас просто не существует.
Другой специалист на тех же данных увидит другую причину проблемы... И тоже, что характерно - будет прав...
Третий специалист найдет третий источник бед... И опять же будет прав.. и докажет что именно его виденье должно как можно более щедро наполнится хрустящими купюрами...
и все будут просить дай, дай денег дай.....
| |
|
|
|
|
|
|
1.14, KonstantinB (ok), 11:16, 29/03/2018 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
Оу шыт! Вы посмотрите на этот патч. Он выкидывает все параметры GET/POST-запросов и куки, имена которых начинаются с символа "#".
Это же что там с ними делается, что у них означает этот маркер, что его использованием можно запустить произвольный код? Eval? Call_user_func? Кому вообще пришло в голову такое сделать? И сколько же таких мест, что вместо того, чтобы их переписать по-человечески, надо делать глобальную фильтрацию?
Это не php, это люди, которых нельзя пускать за клавиатуру.
| |
|
2.28, Солнышко (??), 14:09, 29/03/2018 [^] [^^] [^^^] [ответить]
| –3 +/– |
> Оу шыт! Вы посмотрите на этот патч. Он выкидывает все параметры GET/POST-запросов
> и куки, имена которых начинаются с символа "#".
> Это же что там с ними делается, что у них означает этот
> маркер, что его использованием можно запустить произвольный код? Eval? Call_user_func?
> Кому вообще пришло в голову такое сделать? И сколько же таких
> мест, что вместо того, чтобы их переписать по-человечески, надо делать глобальную
> фильтрацию?
> Это не php, это люди, которых нельзя пускать за клавиатуру.
Будь мужиком, покажи класс. Напиши свой патч, а мы посмотрим, ок?
| |
|
3.29, KonstantinB (ok), 15:26, 29/03/2018 [^] [^^] [^^^] [ответить]
| +3 +/– |
Там изначальная архитектурная ошибка со смешением данных и колбэков в одном массиве, с префиксом "#" у колбэков.
Если делать по-хорошему, надо вместо этого массива сделать класс, в котором данные отдельно и колбэки отдельно. Учитывая объем кода, включая сотни сторонних плагинов, нормального способа исправления уже нет, и приходится делать вот такой костыль. А вот тот идиот, который изначально такое смешение придумал, заложил в проект бомбу замедленного действия, и лучше бы его не пускали за клавиатуру.
| |
|
4.31, ыы (?), 16:27, 29/03/2018 [^] [^^] [^^^] [ответить]
| –2 +/– |
"В тот момент эта идея мне показалась привлекательной" (с) анек
| |
|
|
6.38, Led (ok), 01:21, 30/03/2018 [^] [^^] [^^^] [ответить]
| +/– |
> А можно весь анекдот?
Так это он весь и есть: "ыы"
| |
|
|
4.44, anomymous (?), 11:58, 31/03/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Там изначальная архитектурная ошибка со смешением данных и колбэков в одном массиве,
> с префиксом "#" у колбэков.
Смешение user input и callbacks в одном массиве?
OH SHI...
Закoпать и не откапывать.
| |
|
5.47, пох (?), 13:49, 31/03/2018 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Смешение user input и callbacks в одном массиве?
"когда мы это писали - классов в php (4?) еще не было"
а им надо было донести до обработчика и данные, и какое-то обозначение, что с ними делать.
| |
|
|
|
|
1.39, Аноним (-), 07:43, 30/03/2018 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Проверьте кому не лень залатали ли эту уязвимость на сайте Белого дома?
| |
1.52, Robin (?), 11:07, 28/03/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Неудовлетворенные влечения, как сознательные, так и бессознательные, заставляют человека испытывать любовные надежды в отношении практически всех встречающихся ему новых лиц. Как вернуть интерес к жизни: 11 шагов
| |
|