Если в IP адресе, который идёт аргументом к ping, использовать ведущие нули (010......, а не 10......), то оный аргумент будет пытаться распознаться, как имя хоста.
А при том, если IP состоит из нулей и единиц, то он из "двоичного" будет переведён в десятичный... о_О

ping 010.000.000.001
PING 010.000.000.001 (8.0.0.1) 56(84) bytes of data.

Повбывав бы! :)

@cats-shadow Вообще-то в обоих случаях это восьмеричная запись. Посмотри, 010 = 8, а не 2.

Follow

@cats-shadow
Несколько лет назад это привело к уязвимости в библиотеках, которые разбирают IP-адреса а Go и Rust. Они не учитывали восьмеричные записи чисел, из-за чего проверка диапазона была неверной.
heimdalsecurity.com/blog/the-g

Sign in to participate in the conversation
Qoto Mastodon

QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.