The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Уязвимость в сетевых библиотеках языков Rust и Go, позволяющая обойти проверку IP-адресов, opennews (??), 08-Авг-21, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


46. "Уязвимость в сетевых библиотеках языков Rust и Go, позволяющ..."  –1 +/
Сообщение от пох. (?), 08-Авг-21, 14:52 
> Отбрасывал ноль перед значениями в адресе, но только если указано не более трёх цифр.

оне художнеги, оне так видют.

> Ну вот кто мне расскажет, ЗАЧЕМ в типовых сервисах нужен восьмеричный формат human-readable IP?

потому что ты никогда не угадаешь, где и внутри каких протоколов передается этот human-readable и каким он внезапно может оказаться.

Вариант выкинуть, конечно, самый простой (всегда с риском что адрес продублирован внутри протокола и там он другой в результате), но ничуть не сложно и сделать правильно, с поддержкой восьмиричных форматов.

Здесь умудрились подойдить - художественно! 0010 у них, интересно, тоже не то же самое что 010 ?

Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

212. "Уязвимость в сетевых библиотеках языков Rust и Go, позволяющ..."  –1 +/
Сообщение от PnD (??), 08-Авг-21, 17:01 
"Внутри протокола" обычно достаточно гонять те самые запакованные 4 байта (для v4). Максимум что там можно напутать — порядок битиков. "Сетевой" против того как работает конкретный CPU.
Вероятность успешно пройти тесты с такой ошибкой имеет в районе минус девяти в показателе степени.

А вот отказ от стандартизации библиотек между разными ЯП — он не радует. Нетрудно видеть, что дурости растиражировали кратно количеству языков со своими "велосипедами". И улучшения тут не предвидится: должность "математик-программист" или как там её звали осталась где-то в 1980х годах. Вместе с олимпийским мишкой и прочими сказочными персонажами.
* Не ну попадаются ещё чуваки типа Бернштейна но им наверное выписывать стандартную математику для гошечки/растишки немного западло́.

Ответить | Правка | Наверх | Cообщить модератору

351. "Уязвимость в сетевых библиотеках языков Rust и Go, позволяющ..."  –1 +/
Сообщение от пох. (?), 08-Авг-21, 23:56 
> "Внутри протокола" обычно достаточно гонять те самые запакованные 4 байта (для v4).

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

> "велосипедами". И улучшения тут не предвидится: должность "математик-программист" или
> как там её звали осталась где-то в 1980х годах. Вместе с

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

Ответить | Правка | Наверх | Cообщить модератору

370. "Уязвимость в сетевых библиотеках языков Rust и Go, позволяющ..."  –1 +/
Сообщение от Аноньимъ (ok), 09-Авг-21, 04:30 
Вы ведь то ли на Питоне пишите, то ли на баше вообще?
Ответить | Правка | Наверх | Cообщить модератору

382. "Уязвимость в сетевых библиотеках языков Rust и Go, позволяющ..."  +1 +/
Сообщение от Аноним (-), 09-Авг-21, 05:48 
> Вы ведь то ли на Питоне пишите, то ли на баше вообще?

Да он вроде лаже под линукс кернель програмить умеет, или умел, но судя по его отношению к линуху, ж@пой. В хайтеке не получится хорошо делать то что вам самому не нравится, пичалька.

Ответить | Правка | Наверх | Cообщить модератору

385. "Уязвимость в сетевых библиотеках языков Rust и Go, позволяющ..."  +/
Сообщение от Аноньимъ (ok), 09-Авг-21, 05:56 
Я думаю, что, системный программист не написал бы что-то вроде:
>А у других, внезапно, в протоколах бывают текстовые представления. Заодно, кстати, избавляющие от "конкретных cpu" и прочих ненужных проблем.

Может спился?

Ответить | Правка | Наверх | Cообщить модератору

399. "Уязвимость в сетевых библиотеках языков Rust и Go, позволяющ..."  +1 +/
Сообщение от Аноним (-), 09-Авг-21, 08:53 
> Я думаю, что, системный программист не написал бы что-то вроде:

Возможно, "бывший системный программист" точнее отражает суть.

> Может спился?

Деграднул. Сваливание в винду - довольно надежный индикатор и билет в одну сторону. Бывает хуже, как у anomymoustus'а, тот вообще на зло бабушке уши показательно отмораживает.

Ответить | Правка | Наверх | Cообщить модератору

428. "Уязвимость в сетевых библиотеках языков Rust и Go, позволяющ..."  –1 +/
Сообщение от пох. (?), 09-Авг-21, 12:17 
> Вы ведь то ли на Питоне пишите, то ли на баше вообще?

я немного поторопился родиться, поэтому ни пихона, ни баша в те времена не успели наплодить.
А потом как-то уже и не особенно хотелось всерьез ими пользоваться - никаких существенных преимуществ перед csh и tcl для _моих_ целей у них не было.

То что нельзя было написать на tcl - писал на C.

Ответить | Правка | К родителю #370 | Наверх | Cообщить модератору

514. "Уязвимость в сетевых библиотеках языков Rust и Go, позволяющ..."  +/
Сообщение от Прохожий (??), 09-Авг-21, 22:23 
> А у других, внезапно, в протоколах бывают текстовые представления. Заодно, кстати, избавляющие от "конкретных cpu" и прочих ненужных проблем.

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

> В 80е годы на использование бинарных форматов там где они нахрен не упали смотрели очень косо.

Ох уж эти мне Гансы Христианы.

Ответить | Правка | К родителю #351 | Наверх | Cообщить модератору

274. "Уязвимость в сетевых библиотеках языков Rust и Go, позволяющ..."  +/
Сообщение от Онаним (?), 08-Авг-21, 19:45 
> ничуть не сложно сделать правильно

Не то, что не сложно, а невозможно.
017 - это у нас будет 17(dec) или 15(oct->dec)? :D
Число пи в условиях военного времени.

Ответить | Правка | К родителю #46 | Наверх | Cообщить модератору

350. "Уязвимость в сетевых библиотеках языков Rust и Go, позволяющ..."  +/
Сообщение от пох. (?), 08-Авг-21, 23:51 
> 017 - это у нас будет

а если в околостандарты посмотреть? 15. А 0017 и 007 будет error, invalid parameter - потому что никакие другие лидирующие нули в адресации ни разу не предусмотрены.

Если уж мы пишем код _проверяющий_ адреса, то он должен именно так работать.

Ответить | Правка | Наверх | Cообщить модератору

354. "Уязвимость в сетевых библиотеках языков Rust и Go, позволяющ..."  +/
Сообщение от Онаним (?), 09-Авг-21, 00:28 
0xx - это может быть банальный человеческий кривой ввод, куда более вероятный, чем oct, и в итоге имеем гадание на гуще, куда ни ткни.
Ответить | Правка | Наверх | Cообщить модератору

429. "Уязвимость в сетевых библиотеках языков Rust и Go, позволяющ..."  +/
Сообщение от пох. (?), 09-Авг-21, 12:20 
> 0xx - это может быть банальный человеческий кривой ввод

может. Но с тем же успехом человек может набрать 101 вместо 110.

набрал не тот адрес - такси привезло тебя в ад, оплата все равно по счетчику.

Ответить | Правка | Наверх | Cообщить модератору

356. "Уязвимость в сетевых библиотеках языков Rust и Go, позволяющ..."  +/
Сообщение от Онаним (?), 09-Авг-21, 00:36 
Я вообще за всё упростить по-максимуму в столь критичной валидации.
Любая не-цифра в октете, лидирующий 0, более 3 цифр в октете, >255 - всё, "идите в задницу, пилить претранслятор под ваш косорылый ввод - так, как вам заблагорассудится". Сразу же исключает любую двусмысленность в _базовой реализации_.
Ответить | Правка | К родителю #350 | Наверх | Cообщить модератору

371. "Уязвимость в сетевых библиотеках языков Rust и Go, позволяющ..."  +/
Сообщение от Аноньимъ (ok), 09-Авг-21, 04:33 
Надо бы им на гитхаб написать.
Действительно, стандартная либа не должна слишком умничать.
Ответить | Правка | Наверх | Cообщить модератору

402. "Уязвимость в сетевых библиотеках языков Rust и Go, позволяющ..."  –2 +/
Сообщение от Совершенно другой аноним (?), 09-Авг-21, 08:58 
Заодно можно написать, чтобы и язык не умничал.
Ответить | Правка | Наверх | Cообщить модератору

470. "Уязвимость в сетевых библиотеках языков Rust и Go, позволяющ..."  +/
Сообщение от Аноньимъ (ok), 09-Авг-21, 17:35 
Плохо если вы чувствуюте себя глупее языка на котором пишите.
Ответить | Правка | Наверх | Cообщить модератору

485. "Уязвимость в сетевых библиотеках языков Rust и Go, позволяющ..."  –2 +/
Сообщение от Совершенно другой аноним (?), 09-Авг-21, 19:12 
> Плохо если вы чувствуюте себя глупее языка на котором пишите.

Ну Вам-же мешает слишком умная библиотека. Мне вот, компилятор и библиотека не мешают.

Ответить | Правка | Наверх | Cообщить модератору

524. "Уязвимость в сетевых библиотеках языков Rust и Go, позволяющ..."  +/
Сообщение от Аноньимъ (ok), 09-Авг-21, 23:22 
Я не писал что мне что-то мешает.
Ответить | Правка | Наверх | Cообщить модератору

534. "Уязвимость в сетевых библиотеках языков Rust и Go, позволяющ..."  +/
Сообщение от Совершенно другой аноним (?), 10-Авг-21, 08:32 
371. "Уязвимость в сетевых библиотеках языков Rust и Go, позволяющ..."      +/–    
Сообщение от Аноньимъ (ok), 09-Авг-21, 04:33

> Действительно, стандартная либа не должна слишком умничать.

Ответить | Правка | Наверх | Cообщить модератору

535. "Уязвимость в сетевых библиотеках языков Rust и Go, позволяющ..."  +/
Сообщение от Аноньимъ (ok), 10-Авг-21, 08:37 
Действительно, не должна.
Ответить | Правка | Наверх | Cообщить модератору

614. "Уязвимость в сетевых библиотеках языков Rust и Go, позволяющ..."  –1 +/
Сообщение от Sw00p aka Jerom (?), 11-Авг-21, 20:43 
>Здесь умудрились подойдить - художественно! 0010 у них, интересно, тоже не то же самое что 010 ?

емкость представления чисел - не не слышал :)

Ответить | Правка | К родителю #46 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру