|
|
|
4.48, Аноним (48), 18:53, 27/07/2022 [^] [^^] [^^^] [ответить]
| +7 +/– |
ШОК! Если атакующий может выполнить код, чтобы изменить прототип, то он может не только изменить прототип, но и выполнить код!
| |
|
5.88, Аноним (88), 11:01, 28/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
Говорят, в архитектуре фон Неймана код ничем не отличается от данных (передаваемых через http-запрос).
| |
|
6.106, Аноним (-), 20:03, 28/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
Говорят, лекции по CS прогуливать не надо... хотя сельпошному кодеру и так сойдет.
| |
|
7.109, Аноним (109), 20:19, 28/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
Скрипт на (ba)sh, lua, js, sql, postscript, и т.д., в том числе на Тьюринг-полном css - это код или данные?
| |
|
|
|
|
3.9, th3m3 (ok), 16:36, 27/07/2022 [^] [^^] [^^^] [ответить]
| +9 +/– |
>божественном typescript
Вот ещё почему typesciprt - зло. Человек начинает думать, что его код безопасен, а это может быть совсем не так.
| |
|
|
5.114, Аноним (114), 11:22, 29/07/2022 [^] [^^] [^^^] [ответить] | +2 +/– | Только бездарные дилетанты и дешевые бросуны сравнивают TS и Rust Если понимать... большой текст свёрнут, показать | |
|
4.119, burjui (ok), 14:06, 31/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
А, может, это человек, который не читает документацию и безопасность спихивает на язык - зло?
| |
|
|
|
5.68, Аноним (68), 22:52, 27/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
Это вряд ли, не тот сайт. Ты тут напиши, что консоль DOS лучше консоли Linux потому что экономно расходует память - увидишь как радостно поведутся на троллинг в ветке на сотню комментариев.
| |
|
6.78, мевин (?), 08:53, 28/07/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
Всегда радует как люди без фантазии изящно называют свой неприкрытый дебилизм "троллинг". Маркетологи хорошо постарались, втянув 80% смотреть интернет-рекламу.
| |
|
7.84, Аноним (68), 09:25, 28/07/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
Не, это не только отсутствие ч. ю., но еще и чрезмерная серьезность. Ядреная комбинация.
| |
|
|
|
|
|
2.17, Аноним (17), 16:54, 27/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
То ли дело remote дырень в ядре линукса на православной сишечке! Там вообще root получают, но так, по-доброму!
И да, разумеется это другое))
| |
|
3.20, Аноним (20), 16:59, 27/07/2022 [^] [^^] [^^^] [ответить]
| +2 +/– |
ну перепиши linux kernel на JS, посмотрим какие там будут уязвимости. И переписать надо так, чтоб запускался на голом железе и можно было в нем запустить эту твою нодужыэс
| |
|
4.27, Аноним (27), 17:22, 27/07/2022 [^] [^^] [^^^] [ответить]
| –8 +/– |
Ну перепиши web приложение на C, посмотрим какие там будут уязвимости и сколько 😂😂😂
Слабо? Хейтеры JavaScript только языком чесать умеют?
Где все ваши тысячи классных приложений на С и С++?
| |
|
5.28, Аноним (-), 17:28, 27/07/2022 [^] [^^] [^^^] [ответить]
| +3 +/– |
Как где? У тебя, баклан. Ты бы без сишечки сюда на опеннетик вообще пискнуть не смог. А вот JS здесь таки наглухо опционален, у меня он тут зарублен вообще совсем.
| |
|
6.36, Аноним (27), 18:10, 27/07/2022 [^] [^^] [^^^] [ответить]
| –4 +/– |
Я спросил где твой софт на нём?
То, что умные американские дяди написали и ядро, и браузер, и ОС когда и в помине JS не было, это я в курсе.
Но при чём тут ты, хейтерок?
| |
|
7.46, YetAnotherOnanym (ok), 18:39, 27/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
Мой - у меня и организаций, в которых я работал. Немножечко на гитхабе - то, что я счёл полезным для людей и нашёл время причесать. Ссылку не дам, извини, я там под своим реальным именем.
| |
7.104, Аноним (-), 19:57, 28/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
> Я спросил где твой софт на нём?
Например в микроконтроллерах. А если по мелочи то я патчей довольно много куда закидывал так то.
> Но при чём тут ты, хейтерок?
При том что я с этими дядями совместно работаю над некоторыми вещами при случае? А что до хейта, ты начал безблаголатный понт с синдромом утенка сам, какое к тебе отношение после этого должно быть?
| |
|
|
5.47, Аноним (20), 18:40, 27/07/2022 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Где все ваши тысячи классных приложений на С и С++?
они все в закрытой репе у Intel в виде патчей для yocto linux.
| |
5.51, мимо (?), 19:03, 27/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
>Ну перепиши web приложение на C
>Где все ваши тысячи классных приложений на С и С++?
Норм такая подмена понятия. Сначала вебприложения, потом просто приложения.
| |
5.53, Без аргументов (?), 19:23, 27/07/2022 [^] [^^] [^^^] [ответить]
| –1 +/– |
буквально пару мес назад вебманки нахимичили в сайте ПР так, что мне показывались разные чужие посылки при каждом обновлении страницы.
| |
|
|
7.57, qwe (??), 20:11, 27/07/2022 [^] [^^] [^^^] [ответить] | +1 +/– | Где-то с год назад на довольно популярном в России сайте изучения английского яз... большой текст свёрнут, показать | |
7.105, Аноним (-), 20:01, 28/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
А я вообще уронил вон тому вебмакакеру его чудо-код первым же реквестом. Пора йогой заняться - двойного фэйспалма уже недостаточно!!!
| |
|
|
5.79, мевин (?), 08:58, 28/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
Накинулись на мальчонку лол.
Малыш, ты будешь немного удивлен, узнав чуть получше о жизненном цикле своих прекрасных дам файликов.
| |
|
4.50, Аноним (50), 18:59, 27/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
>ну перепиши linux kernel на JS, посмотрим, кто этим тормознутым жрущим говном пользоваться сможет
Пофиксил.
| |
|
3.25, Аноним (25), 17:05, 27/07/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
Тут нет никакой дырени, если приложение разрешает менять свой код то это проблема конкретного приложения, просто ребята из Центра Гельмгольца набивают себе индекс цитирования для грантов или ещё для чего.
| |
|
4.55, Анонн (?), 19:27, 27/07/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
Один аноним при упоминании Си не смог не стригерится и не написать про раст.
И у него отвалились жoпа :(
| |
|
|
6.116, НяшМяш (ok), 13:37, 29/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
> Другое дело растоман с враждённым растоманским ДЦП.
Всем бы дцпшникам такого дцп. Всяко лучше жсной микроцефалии.
| |
|
|
4.102, Аноним (102), 17:44, 28/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
Казалось бы какое дело до rust, анонимным opennet экспертам, они ни на Раст не пишут, ни на js, ни на java, ни на Си, но в каждой новости наваливают целые кучи своего ценного мнения
| |
|
|
2.87, Аноним (102), 10:49, 28/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
Что ещё ждать от так называемых программистов.
Сколько бы на опеннетные эксперты не объясняли им, что они просто "Обезьянки", они все равно продолжают писать свои так называемые программы, на так называемых языках программирования
| |
|
|
|
3.76, Аноним (76), 08:23, 28/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
Его и не надо осиливать, если надо выдавать результат (относительно) быстро при худо-бедно приемлемом качестве. Ты же на ассемблере большой и сложный проект писать не будешь (а если и будешь то ты или фрик или хобби у тебя такое). Так и тут, выбирай свой любимый язычок, в котором есть поддержка компиляции в вебассембли и соответствующий фреймворк - "и вперьод!". Ну например возьмешь какой-нибудь Blazor от мелкомягких или раст :) с одним из пары-тройки растовских веб-фреймворков.
| |
|
4.80, мевин (?), 09:01, 28/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
Ты предложил язык от мелко мягких и фрейм от мразософт. А ты хитрый:)
Мелкосовт проиграл войну браузеров и решил зайти в веб с черного хода.
| |
|
5.85, Аноним (76), 09:56, 28/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
я же сразу предложил в ассортименте (опережая твою следующую ремарку - не г.вна!), сказал же: "...или раст :) с одним из пары-тройки растовских веб-фреймворков". Выбирай на вкус или ищи/пиши веб-фреймворк для своего любимого язычка с "канпелятором в LLVM" чтобы в вебассембли было проще перегонять.
| |
|
|
|
|
|
|
3.29, Аноним (-), 17:30, 27/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
Это какое-то DeNo! Надо было и интерпретировать синтакс хруста :). Кстати до чего-то наподобие даже кто-то вроде додумался.
| |
|
|
1.6, Анна Нист (?), 16:34, 27/07/2022 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Говорят за этим языком все операционные системы будущего.
Ах.. да, забыл.. уже! 99,9% пользователей пк используют браузеры
| |
|
|
|
4.77, Аноним (76), 08:27, 28/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
Майнить крипту на каждом утюге планеты. Больше узлов - больше сатошиков.
| |
|
|
|
3.111, Аноним (109), 20:33, 28/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
> Врут безбожно
Оскорбление чувств верующих в отсутствие (единственного) бога.
| |
|
|
1.16, olegz (ok), 16:53, 27/07/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
это ведь нельзя выполнить с клиента, правильно? в частности require ("bytes");
| |
|
|
3.99, olegz (ok), 16:17, 28/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
если только на сервере, то не вижу большой проблемы. Просто надо следить за зависимостями проекта
| |
|
4.118, Аноним (118), 03:34, 31/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
> Просто надо следить за зависимостями проекта
Ты же сейчас пошутил? В среднем проекте от 1000 - 4000 зависимостей.
Ты или создаешь свою вселенную с нуля или просто нет смысла использовать NodeJS.
| |
|
|
|
1.18, Аноним (18), 16:55, 27/07/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Да ладно, говно можно сотворить на любом языке. В сях есть #define true false, в расте процедурные макросы вообще во время компиляции могут в сеть сходить и биткойны помайнить. Всегда есть к чему докапаться.
| |
|
2.34, Аноним (-), 17:34, 27/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
Ух, да, только ты в рантайм #define true false не передашь при всем желании, ибо нет там никакого препроцессора уже. А вот яваскрипт в этом плане позволяет неиллюзорно поприкалываться.
Я так понимаю некоторые штуки типа umatrix на этом по сути половину своей работы строят, делая невероятный оверлоад большей части браузерных кишок и .. ... .. вот враждебная вебня уже получает вообще совсем не то что оно там себе думало :). И хотя в данном случае это даже как бы фича, но так и в обратную сторону по идее можно, для создания хреновой кучи нежданчиков воооон тому коду с менее мирными целями. О чем вроде бы сабж и есть.
| |
|
3.39, Бывалый смузихлёб (?), 18:25, 27/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
А теперь шаг 2 ( вообще-то с него и стоило начать ) - попробуй добиться исполнения нужного кода на стороне сервера
Ладно ещё кто-то в какой-то пакет «паленый» что-то понатолкал и кто-то что-то подхватил при его запуске
А вот как добиться исполнения этого на совершенно конкретном серваке, вот тут и начинаются вопросы
Ведь если уже можешь исполнить код на стороне сервера( чего и требует «уязвимость» ), то в принципе многое сильно проще. А если нет - то это не поможет
| |
|
4.58, qwe (??), 20:43, 27/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
Речь как я понял речь тут о том, что при определенной комбинации кода (пакетов) на сервере, клиент может менять код на сервере посредством передачи специально оформленных входных данных. Причем именно не поведение кода, а сам код. Конечно, такое можно провернуть и на других платформах (привет глобальным переменным PHP и функциям типа eval), но JS тут всех переплюнул: он дает возможность поменять поведение всех экземпляров уязвимого класса, а не только того, которому "повезло" обработать данные с инъекцией.
| |
|
5.71, Аноним (71), 05:07, 28/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
Ровно точно так же, как в комплируемых языках, если код одного из модулей может посредством удаленных команд читать и писать из указанных удаленно адресов памяти, можно, при некоторой осторожности, точно так же крутить и вертеть всем приложением и делать все что угодно.
| |
|
6.92, qwe (??), 13:37, 28/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
Что, вот прям так, через манипуляцию свойством объекта можно изменить код всего класса, причем вполне легитимными для языка методами? Переполнения буфера, стека и т.д. я знаю, но это немного другое, скорее управление неопределенным поведением программы, а не "все нормально, так и должно быть". По мне так когда я пишу такое:
let a = {}; a[b] = c;
при этом не слежу ни за 'b' ни за 'c', и получаю уязвимость - это нормально, это стандартный механизм языка, сам дурак. А вот когда результат моего головотяпства выходит за пределы *локальной* переменной 'a' и это считается нормальным, стандартным механизмом языка, то сие начинает немного напрягать: как так, теперь нужно следить не только за глобальными и локальными переменными в коде но и за всем ядром языка. Но зато гибко и порой удобно. Да и вообще, чего переживать, ведь весь код мой и все это не выходит за пределы браузера пользователя... Подождите, что? Это теперь на серверах? Какой еще NPM?!
| |
|
|
8.97, Аноним (18), 14:49, 28/07/2022 [^] [^^] [^^^] [ответить] | +/– | Точно так же, как можно в любом одном месте сделать int offset get_offset_from... текст свёрнут, показать | |
|
|
|
|
4.107, Аноним (-), 20:11, 28/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
> А теперь шаг 2 ( вообще-то с него и стоило начать ) - попробуй добиться
> исполнения нужного кода на стороне сервера
Оно как бы да, но вон там все же забавный фокус придумали. Сколько еще таких нежданчиков в JS зарыто - вопрос интересный.
| |
|
3.42, Аноним (42), 18:30, 27/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
> враждебная вебня
Так не ходи во враждебную вебню. Ходи в гофер.
| |
|
4.108, Аноним (-), 20:16, 28/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
> Так не ходи во враждебную вебню. Ходи в гофер.
А я им даже пользуюсь. Поприятене вебни так то - делает то что заявлено, без потуг майнить коины и шпионить для полпланеты, мегалибы на 2 метра для валидации пары полей в форме не грузит, все дела.
Вебню реально использовать только с очень кастомными настройками браузера, жестким адблокером и веб-файрволом. Без всего этого - оно столь же круто и безопасно как иметь портовую б-дь без презика. Потом заманаешься лечить последствия.
| |
|
|
|
1.21, Аноним (25), 17:01, 27/07/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> Для успешного совершения атаки требуется, чтобы в приложении поступающие извне данные могли использоваться для создания нового свойства в корневом прототипе объекта
Очередной цирк безопасности.
| |
1.31, Аноним (31), 17:32, 27/07/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +4 +/– |
Они последние 10 лет под камнем пролежали?
Атака на прототип это ж классика…
| |
|
2.37, Аноним (25), 18:11, 27/07/2022 [^] [^^] [^^^] [ответить]
| +2 +/– |
Гранты сами себя не выдадут, надо статьи клепать и постить на arxiv.org
| |
|
3.44, Аноним (42), 18:31, 27/07/2022 [^] [^^] [^^^] [ответить]
| –2 +/– |
А чего сам не написал статью? Получил бы грант, пожил бы с размахом.
| |
|
|
1.49, Аноним (50), 18:56, 27/07/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
>Если в коде приложения встречается присвоение "obj[a][b] = value"
Уж сколько раз твердили миру: new Map().
| |
|
|
3.94, Вы забыли заполнить поле Name (?), 14:09, 28/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
>> Уж сколько раз твердили миру: new std::map().
> поправил, не благодари.
Зачем тебе new с std::map? Он сам внутри память выделяет, а его обычно выделяют на стеке (как и std::vector и прочие контейнеры).
| |
|
2.95, Вы забыли заполнить поле Name (?), 14:12, 28/07/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
>>Если в коде приложения встречается присвоение "obj[a][b] = value"
> Уж сколько раз твердили миру: new Map().
Просто JSON parse возвращает объект, а не Map. Плюс вложенные ключи не сохранить, optional chaining нельзя использовать. То есть да, Map правильно, но также поощрают использовать обычные объекты.
| |
|
1.70, Аноним (102), 00:00, 28/07/2022 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Придется __proto__ фильтровать во всем что пришло от пользователя.
Уязвимость уровня php phar
| |
1.90, Вы забыли заполнить поле Name (?), 11:35, 28/07/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Желтый заголовок какой-то. Причем тут сам Node.js? То есть есть модули, которые не проверяют ввод пользователя и если их использовать то можно получить уязвимость? Ок. Вообще сама уязвимость стара как мир. Еще на CTF 18 года ее юзал.
| |
|
2.96, Аноним (96), 14:26, 28/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
Проблема не в отсутствии проверки данных от пользователя. Не должен разраб знать и фильтровать все эти служебные слова с подчёркиваниями __ __
| |
|
|
|
3.112, Вы забыли заполнить поле Name (?), 09:33, 29/07/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Чего ж ты не влез в комитет и не показал всем, как
> надо?
Мне не интересен js. А надо ввести версионирование js по аналогии со стандартами в с++. В старых версиях убрать все упячки.
| |
|
4.115, НяшМяш (ok), 13:33, 29/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
> Мне не интересен js. А надо ввести версионирование js по аналогии со
> стандартами в с++. В старых версиях убрать все упячки.
Так хотели сделать в ECMAScript 4 ещё сто лет назад - но хомяки пролоббировали оставить все упячки.
| |
|
|
|
1.100, Аноним (65), 16:27, 28/07/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
С каких это пор "блоки кода" стали называться "гаджетами"?
Хоть бы дали точное определение, что имели в виду, а то гугол выдаёт всякую хрень
| |
|
2.110, Аноним (-), 20:19, 28/07/2022 [^] [^^] [^^^] [ответить]
| +/– |
> Так не ходи во враждебную вебню. Ходи в гофер.
Примерно вечность. Просто этот сленг практикуется в немного другой тусовочке нежели вебмакаки.
| |
2.117, Аноним (117), 20:55, 29/07/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
Это такие блоки кода, которые можно использовать в своих целях как отдельный элемент.
Слово гаджет в русском языке засижено маркетологами и означает то же, что смартфон или ещё какая-нибудь техника, но в английском это более общее понятие. В словарях все есть.
| |
|
1.103, fuggy (ok), 17:53, 28/07/2022 [ответить] [﹢﹢﹢] [ · · · ]
| –3 +/– |
Прототипное наследование хорошо говорили они. Только забыли что все объекты наследуются от object клоаки. И то есть получается, что через класс Dog я могу поменять класс Cat — отлично.
| |
|
2.113, Вы забыли заполнить поле Name (?), 10:57, 29/07/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Прототипное наследование хорошо говорили они. Только забыли что все объекты наследуются
> от object клоаки. И то есть получается, что через класс Dog
> я могу поменять класс Cat — отлично.
Прототипное наследование тут не при чем. В питоне точно также можно этого добиться.
| |
|
|
4.122, Вы забыли заполнить поле Name (?), 17:13, 01/08/2022 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Сперва добейся
class A:
x = 1
class B(A): pass
class C(A):
def __init__(self):
self.__class__.__bases__[0].x = 2
b = B()
assert b.x == 1
c = C()
assert b.x == 2
| |
|
|
2.127, Аноним (127), 02:06, 03/08/2022 [^] [^^] [^^^] [ответить]
| +/– |
лол, то, что ты можешь сделать теж же сях на уровне доступа к памяти ни в какое сравнение не идет с этим
| |
|
|