|
2.2, Аноним (2), 11:12, 10/04/2024 [^] [^^] [^^^] [ответить]
| +4 +/– |
Это будет использоваться не на серваках, совсем не на серваках.
Вернее, подозреваю, давно используется не на серваках.
| |
|
3.66, Аноним (-), 23:34, 10/04/2024 [^] [^^] [^^^] [ответить]
| +3 +/– |
> В mission critical сегменте куча винды.
Вот только на винде бы mission critical и делать, да...
| |
3.67, Аноним (-), 23:42, 10/04/2024 [^] [^^] [^^^] [ответить]
| +/– |
> В mission critical сегменте куча винды.
Пример Йорктауна так никого ничему и не научил...
| |
|
|
5.85, randomize (?), 21:01, 07/06/2024 [^] [^^] [^^^] [ответить]
| +/– |
https://www.wired.com/1998/07/sunk-by-windows-nt/
> The source of the problem on the Yorktown was that bad data was fed into an application running on one of the 16 computers on the LAN. The data contained a zero where it shouldn't have, and when the software attempted to divide by zero, a buffer overrun occurred -- crashing the entire network and causing the ship to lose control of its propulsion system.
Зачем проверять данные, лол.
| |
|
|
|
2.12, Аноним (12), 11:53, 10/04/2024 [^] [^^] [^^^] [ответить]
| –4 +/– |
Apache c PHP 5 под 98 виндой гоняю на ретропк, наполняю базу данных через Web-морду. Одновремено захожу с IE5 и смартфона. Если система тянет, пусть живет. Уникод поддерживается, через JSON-файлы можно осуществлять экспорт на продакшен под Linux.
| |
2.58, Аноним (58), 19:42, 10/04/2024 [^] [^^] [^^^] [ответить]
| +/– |
Еще осталось очень много людей, а среди них каких только нет, есть даже такие, кто серваки на винде держит.
| |
2.83, Аноним (83), 22:23, 15/04/2024 [^] [^^] [^^^] [ответить]
| +/– |
Печально, когда и если ещё и батнички живы... Такая махровая халтура и так долго прожила.
Занятно. Но тоскливо.
| |
|
1.4, Аноним (4), 11:13, 10/04/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +17 +/– |
> Уязвимость BatBadBut, затрагивающая стандартные библиотеки различных языков программирования
Правильный заголовок будет "Уязвимость BatBadBut, затрагивающая стандартные библиотеки различных языков программирования в Windows"
Дело не в языках, а в супер надежной проприетарной системе (как нам завещал товарищ birdie)
| |
|
2.14, Аноним (-), 12:00, 10/04/2024 [^] [^^] [^^^] [ответить]
| –6 +/– |
> Дело не в языках, а в супер надежной проприетарной системе (как нам
> завещал товарищ birdie)
Как хорошо что в линуксе нет башскиптов, которые могут и рут подарить, и обфуцировать код для бекдора и даже нафиг удалить все файлы юзеров!
Или есть?
| |
|
3.36, Анании.orig (?), 14:15, 10/04/2024 [^] [^^] [^^^] [ответить]
| +2 +/– |
При чем тут скрипты вообще?
> в Windows при использовании API CreateProcess аргументы оформляются в виде одной строки
Зыж
Вот взял и раст скриптами обозвал
Да так любой экзешник можно заставить cmd.exe вызвать.
| |
3.61, AKTEON (?), 20:48, 10/04/2024 [^] [^^] [^^^] [ответить]
| +/– |
> линуксе нет башскиптов
В линуксе даже и обход антивируса gmail из коробки стоит ,бггг
| |
3.72, Аноним (72), 15:07, 11/04/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
> башскиптов, которые могут и рут подарить
После ввода пароля рута.
> удалить все файлы юзеров!
Только те, с правами которых запущен процесс. А ты хотел бы вводить пароль пользователя при создании/удалении/перемещении каждого файла? ACL и sudoers тебе в руки. Но зачем? Может, просто ставить программы пакетником и не запускать всякую дрянь с файлопомоек, как принято в Винде?
| |
|
|
1.5, Аноним (6), 11:18, 10/04/2024 [ответить] [﹢﹢﹢] [ · · · ]
| –4 +/– |
>В Rust 1.77.2 в стандартную библиотеку добавлена дополнительная проверка, возвращающая ошибку при наличии в аргументе запускаемого сценария спецсимволов, которое невозможно гарантированно безопасно экранировать.
Не понял, а что Rust ещё и в качестве интерпретатора используется?
| |
|
2.44, ананим.orig (?), 16:13, 10/04/2024 [^] [^^] [^^^] [ответить]
| +2 +/– |
> в Windows при использовании API CreateProcess аргументы оформляются в виде одной строки
в Windows любой экзешник превращается в интерпретатор
| |
|
1.9, Аноним (-), 11:43, 10/04/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
> Проекты Python, Ruby, Go, Erlang и Haskell пока ограничились внесением в документацию предупреждения о проявлении уязвимости при отсутствии должного экранирования спецсимволов.
Не, ну это не серьезно...
И вообще, какое отношение виндопроблемы имеют к этому сайту?
А уязвимость нужно переименовать в BatBadButt.
| |
|
2.17, Аноним (17), 12:05, 10/04/2024 [^] [^^] [^^^] [ответить]
| +2 +/– |
> И вообще, какое отношение виндопроблемы имеют к этому сайту?
Rust, node.js, Python, Ruby, Go, Erlang и Haskell уже перестали быть открытыми проектами?
Ах да, давайте тогда прекратим публиковать новости о ядре Linux, ведь оно запускается на оборудовании с проприетарными прошивками.
| |
|
3.21, Аноним (-), 12:16, 10/04/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
> уже перестали быть открытыми проектами
Не перестали. И?
Проблема из новости характерна исключительно для винды.
И это виндопроблемы мало кого интересуют.
> тогда прекратим публиковать новости о ядре Linux, ведь оно запускается на оборудовании с проприетарными прошивками.
Не нужно пытаться натянуть сову на глобус.
| |
|
4.54, Анониссимус (?), 18:09, 10/04/2024 [^] [^^] [^^^] [ответить]
| +/– |
Почему же не интересуют. После тонны линуксовых дыр очень приятно почитать, что вантузе всё ещё хуже.
| |
|
5.71, Аноним (72), 15:03, 11/04/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
> После тонны линуксовых дыр
Закрытых дыр.
> что вантузе всё ещё хуже
И останется во веки веков.
| |
|
|
|
|
1.10, Аноним (-), 11:48, 10/04/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Для хаскеля уже есть патч.
В списке еще забыли жабу. Они оригинально решили проблему
Java Won’t fix
Appendix B: Status of the affected programming languages
flatt.tech/research/posts/batbadbut-you-cant-securely-execute-commands-on-windows/
| |
1.25, Аноним (25), 12:34, 10/04/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
>Приложения, запускающие сценарии в формате bat и cmd на платформе Windows при помощи штатных функций запуска процессов
Столько лет - и всё одно и то же: "я разраб, мне так удобно, программа поставляется AS IS, не нравится - не используй". Это не уязвимости, это всё by design. Даже упоминания не стоит.
| |
1.28, n00by (ok), 13:30, 10/04/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> The application doesn’t specify the file extension of the command,
> or the file extension is .bat or .cmd
Что бы могло сработатать, надо запускать экзешник, указав его имя без расширения. Кто и зачем мог бы такое прописать в своём коде?
| |
|
2.33, Аноним (-), 13:50, 10/04/2024 [^] [^^] [^^^] [ответить]
| +/– |
>> The application doesn’t specify the file extension of the command,
>> or the file extension is .bat or .cmd
> Что бы могло сработатать, надо запускать экзешник, указав его имя без расширения.
> Кто и зачем мог бы такое прописать в своём коде?
С другой стороны никто ж не запрещает делать так
rm -rf /usr /lib/nvidia-current/xorg/xorg
| |
|
|
2.38, Аноним (38), 14:55, 10/04/2024 [^] [^^] [^^^] [ответить]
| –1 +/– |
А сколько там еще уязвимостей и бэкдоров не пофикшено и тихо ждут своего времени?
| |
|
3.39, Аноним (4), 15:55, 10/04/2024 [^] [^^] [^^^] [ответить]
| +/– |
В windows? За десятилетия не разгрести, но ms-индусы не спешат, и потому приходится лепить велосипеды внутри стандартных либах ЯП.
| |
|
|
1.37, Аноним (38), 14:53, 10/04/2024 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
>В Rust 1.77.2 в стандартную библиотеку добавлена дополнительная проверка, возвращающая ошибку при наличии в аргументе запускаемого сценария спецсимволов, которое невозможно гарантированно безопасно экранировать. Для разработчиков, самостоятельно реализующих логику экранирования предоставлен метод CommandExt::raw_arg, полностью отключающий экранирование на стороне библиотечных вызовов.
То есть уязвимость как бы закрыта, но все равно остается возможность прострелить себе ногу. А те кто не экранировали ввод с raw_arg и с ним не будут. Вот такая она безопасность, в основном на словах.
| |
|
2.41, Аноним (41), 15:58, 10/04/2024 [^] [^^] [^^^] [ответить]
| –1 +/– |
Делаешь поехавшим безопасно - верещат про ограничения. Даёшь полный контроль - верещат, что не безопасно. Прямо агенты спецслужб, у которых отбирают сишку, в которой можно бекдоры внешне корректным кодом писать.
| |
2.42, Аноним (4), 15:59, 10/04/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Вот такая она безопасность, в основном на словах.
У microsoft в windows? Не наговаривайте - birdie нам вещал, что там нет бекдоров! Это не уязвимость, а фича. Да еще за ваши деньги.
| |
|
1.47, Xasd7 (?), 16:52, 10/04/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
вот прикол!
то есть на венде Ядро передаёт СТРОКУ в процесс а не СПИСОК_аргументов...
и при этом -- каждая программа эту страку как хочет так и разбивает?!?! по своим правилам?!
ВОТ СМЕХУТО!! АХАХАХА!! ща умру!
то есть простая операция "убери первый аргумент и то что останется передай в другой следущий процесс" -- становится НЕ РЕАЛИЗУЕМОЙ по факту ВООБЩЕ! потому что возникает вопрос -- "погоди! а по каким правилам следущий процесс будет разбивать строку? по тем же самым что и мы сами тут у себя разбили?!"
я просто валяюсь! это сделало мой день!! :-D :-D :-D
| |
|
2.57, n00by (ok), 19:33, 10/04/2024 [^] [^^] [^^^] [ответить]
| +/– |
Ядро там не передаёт в процесс строку. Процесс создаётся из пространства пользователя. Ядро лишь создаёт объекты ядра (секция, основной поток).
| |
|
3.70, Аноним (72), 14:59, 11/04/2024 [^] [^^] [^^^] [ответить]
| +/– |
А запуск процесса от основного потока и создание дополнительных потоков выполняется системными вызовами?
| |
|
4.80, n00by (ok), 12:17, 12/04/2024 [^] [^^] [^^^] [ответить]
| +/– |
Процесс никуда не запускается - в Виндос это всего лишь изолированное от остальных адресное пространство, плюс вспомогательные структуры данных. Ядро отображает в то АП образ "экзешника", а всякие аргументы командной строки заполняет поток, вызвавший CreateProcess(). Основной поток нового процесса создаётся (если утрировать) через CreateRemoteThread(). Дополнительный поток процесса создаёт основной поток, естественно, системными вызовами.
| |
|
|
|
1.48, Аноним (48), 17:04, 10/04/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Зачем чинить уязвимости проявляющиеся только на венде? Да ещё если это уязвимости самой венды.
| |
|
2.56, Вы забыли заполнить поле Name (?), 19:27, 10/04/2024 [^] [^^] [^^^] [ответить]
| +/– |
Чтобы было безопасно! Сейчас в моде безопасные языки, которое позволяют безопасно работать с памятью и не только. Все должно быть безопасно по умолчанию. Пользователь должен ощущать себя в безопасности. Надеюсь мой комментарий достаточно безопасно объясняет необходимость безопасности в современном небезопасном мире. Если нет, то прошу в безопасной манере описать проблему безопасности, чтобы я мог безопасно вам ответить.
| |
|
3.60, DiabloPC (ok), 20:23, 10/04/2024 [^] [^^] [^^^] [ответить]
| +7 +/– |
Два чая этому господину! (Не сильно горячих, чтобы безопасно. И наливать в безопасную небьющуюсь кружку неразливайку)
| |
|
4.86, Bottle (?), 21:39, 13/08/2024 [^] [^^] [^^^] [ответить]
| +/– |
И подавать механическим контроллером на Ос реального времени, написанной на Ada Spark.
| |
|
|
|
1.49, 1 (??), 17:07, 10/04/2024 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
> При запуске bat- и cmd-сценариев на платформе Windows функция CreateProcess() неявно привлекает исполняемый файл cmd.exe, даже если приложение не указывает его при вызове.
В чём проблема-то ? Всё описано в мануале. Сколько раз при вызове system в *NIX это проходили ? Никто это уязвимостью не называл.
А писать
CreateProcess( NULL,"test", ...
вместо
CreateProcess( NULL,"/my/path/test.exe", ...
такое себе ...
| |
|
2.59, n00by (ok), 19:50, 10/04/2024 [^] [^^] [^^^] [ответить]
| +/– |
> В чём проблема-то ? Всё описано в мануале.
Они уже сделали такое открытие.
In fact CreateProcess actively documents against using it this way:
To run a batch file, you must start the command interpreter; set lpApplicationName to cmd.exe and set lpCommandLine to the following arguments: /c plus the name of the batch file.
https://github.com/rust-lang/rust/issues/123728
| |
|
1.73, Аноним (73), 17:11, 11/04/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Господа, приведите пожалуйста пример как на С правильно обрабатывать аргументы командной строки. Как дорвусь до компьютера напишу как это делаю я — сможете раскритиковать, но напишите как правильно это делать пожалуйста.
| |
|
2.74, Аноним (74), 17:17, 11/04/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Господа, приведите пожалуйста пример как на С правильно обрабатывать аргументы командной
> строки. Как дорвусь до компьютера напишу как это делаю я —
> сможете раскритиковать, но напишите как правильно это делать пожалуйста.
man 3 getopt
| |
|
3.76, Аноним (73), 22:18, 11/04/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
А чем getopt безопаснее? Тем более что у него только определённое применение. Разве возможно с помощью getopt обработать данные с одинаковыми названиями? Ну или если вдруг последовательность имеет значение. Более того, обрабатывает ли он в целом аргументы на такие проблемы как специальные символы?
Насколько я вижу исходный код - вроде не похоже.
https://codebrowser.dev/glibc/glibc/posix/getopt.c.html
| |
|
4.77, Аноним (74), 22:34, 11/04/2024 [^] [^^] [^^^] [ответить] | +/– | Поищи CVE в getopt, если тебе нужен ответ Помню пару лет назад было что-то подо... большой текст свёрнут, показать | |
|
5.78, Аноним (78), 23:19, 11/04/2024 [^] [^^] [^^^] [ответить]
| +/– |
Ну вот так: echo hello & \e\c\h\o wo\rld \n
я получу что-то такое:
[2] 15915
world n
[1] Done echo hello
hello
А вот так: echo hello \& \e\c\h\o wo\rld \n
получается такое:
hello & echo world n
[2]+ Done echo hello
То есть в консоле символ & почему-то не экранируется а \ экранируется как \\, но самим echo не выводится. Я в целом не С программист, но иногда использую дома и не понимаю почему символ & не экранируется? В целом в Linux та же может быть проблема при вызове system. И вот getopt мне кажется в этой проблеме никак не поможет.
| |
|
6.79, Аноним (74), 23:46, 11/04/2024 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Я в целом не С программист
тебе надо не С, а какой-нибудь учебник по юникс-лайк системам для чайников для начала. Шеллы там, пайпы, {fore,back}ground процессы, и т.д. И потом уже С.
| |
|
|
|
|
2.75, Аноним (73), 22:08, 11/04/2024 [^] [^^] [^^^] [ответить]
| +/– |
Как-то так:
int main(int количествоАргументов, char *аргументы[])
{
if (аргументы != NULL)
{
for (int и=1; и < количествоАргументов; и++)
{
if (аргументы[и] != NULL)
{
const char * аргумент = аргументы[и];
...
В итоге получается warning: unsafe buffer access [-Wunsafe-buffer-usage]|
| |
|
3.81, n00by (ok), 12:32, 12/04/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Как-то так:
> int main(int количествоАргументов, char *аргументы[])
> {
> if (аргументы != NULL)
> {
> for (int и=1; и
> < количествоАргументов; и++)
> {
А где "аргументы" могут быть NULL? Вот требование стандарта:
If the value of argc is greater than zero, the array members argv[0] through argv[argc-1]
inclusive shall contain pointers to strings, which are given implementation-defined values
by the host environment prior to program startup.
| |
|
|
|