The OpenNET Project / Index page

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

Уязвимость в Python, позволяющая вызвать системные команды из изолированных скриптов

15.05.2022 10:11

Опубликован метод обхода систем изолированного выполнения кода на языке Python, основанный на использовании давно известной ошибки, появившейся в Python 2.7, выявленной в 2012 году и до сих пор не исправленной в Python 3. Ошибка позволяет при помощи специально скомпонованного кода на языке Python инициировать обращение к уже освобождённой памяти (Use-After-Free) в СPython. Изначально предполагалось, что ошибка не представляет угрозы безопасности и лишь в очень редких случаях, как правило искусственно созданных, может привести к аварийному завершения скрипта.

Исследователь безопасности под псевдонимом kn32 заинтересовался проблемой и сумел подготовить рабочий эксплоит, дающий возможность вызвать любую системную команду, не имея прямого доступа к методам вида os.system. Эксплоит реализован на чистом языке Python и работает без импорта внешних библиотек и без установки обработчика "code.__new__". Из hook-ов используется только "builtin.__id__", который обычно не запрещён. С практической стороны предложенный код может применяться для обхода механизмов изоляции в различных сервисах и окружениях (например, в обучающих средах, online-оболочках, встроенных обработчиках и т.п.), допускающих выполнение кода на языке Python, но ограничивающих доступные вызовы и не позволяющих обращаться к таким методам, как os.system.

Предложенный код представляет собой аналог вызова os.system, работающий через эксплуатацию уязвимости в CPython. Эксплоит работает со всеми версиями Python 3 на системах с архитектурой x86-64 и демонстрирует стабильную работу в Ubuntu 22.04, даже при включении режимов защиты PIE, RELRO и CET. Работа сводится к получению из кода на языке Python сведений об адресе одной из функций в исполняемом коде CPython. На основании этого адреса вычисляется базовый адрес CPython в памяти и адрес функции system() в загруженном в память экземпляре libc. В завершении инициируется прямой переход по определённому адресу system c подстановкой указателя первого аргумента на строку "/bin/sh".



  1. Главная ссылка к новости (https://pwn.win/2022/05/11/pyt...)
  2. OpenNews: Уязвимость в Python, проявляющаяся при обработке непроверенных дробных чисел в ctypes
  3. OpenNews: Уязвимость в PHP, позволяющая обойти ограничения, заданные в php.ini
  4. OpenNews: Обновление Python 3.8.5 с устранением уязвимостей
  5. OpenNews: В каталоге PyPI выявлены вредоносные библиотеки, использующие CDN PyPI для скрытия канала связи
  6. OpenNews: 46% Python-пакетов в репозитории PyPI содержат потенциально небезопасный код
Лицензия: CC-BY
Тип: Проблемы безопасности
Короткая ссылка: https://opennet.ru/57193-python
Ключевые слова: python
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (128) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Онаним (?), 10:30, 15/05/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ызалиравынный скрипт - это фантастика.
    Хочешь изализарывать - как минимум делай чрут.
     
     
  • 2.43, Аноним (-), 15:31, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • +10 +/
    Battle For Wesnoth пытался делать скрипты AI на питоне и очень быстро обнаружил что есть более 9000 способов как аддон загруженный с сервера может поиметь юзера. Они плюнули и перешли на Lua, там можно сделать скрипт который только считает, например, AI, но с системой ничего делать не может - за полным отсутствием у него интерфейсов для этого.
     
     
  • 3.60, вместо тысячи слов (?), 16:56, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > The function os.execute runs a system command; it is equivalent to the system function in C. It receives a string with the command and returns an error code.

    https://www.lua.org/pil/22.2.html

     
     
  • 4.69, What the heck (?), 17:27, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Зачем os вообще загружать, если вкомпиливаешь Lua для аддонов?
     
     
  • 5.148, Владимир (??), 21:46, 16/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Я люблю Питона ... /подушить/

    Владимир

     
     
  • 6.151, Алексей (??), 00:42, 17/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Я в курсе

    Алексей

     
  • 6.156, Михаил (??), 15:03, 02/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Я люблю душить чужих питонов, но скрываю это.

    Михаил.

     
  • 4.100, Аноним (-), 21:25, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В Lua опционально вообще совсем все. Может в режиме голой вычислялки работать. Так что посчитать ходы AI может, а выполнить файло в системе - нет. А вот питон до такого состояния обрубить оказалось проблематично...
     
  • 3.78, Bbbbbbbbb (?), 17:45, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    А поделитесь деталями. Очень интересно, без шуток
     
     
  • 4.98, What the heck (?), 20:52, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Lua встраивается в программы через сишный апи, и при сборке твоей игры со встроенной для аддонов Lua можно не подключать "опасные" части стандартной библиотеки.

    Также там просто делается песочница: основная программа может иметь все возможности, а потенциально опасный кусок кода (например, загруженный из строки) может иметь ограниченное окружение. Это потенциально опасная штука, т.к. может быть какой-то баг в интерпретаторе, который позволит песочницу обойти, но вот при сборке лишнее можно просто не подключать.

    Disclaimer: не шарю за безопасность, и не удивлюсь, если окажется, что Lua как-то можно атаковать, но то, как просто ограничить доступные интерфейсы — одна из основных фичей.

     
     
  • 5.99, What the heck (?), 21:08, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Пардон, можно не подключать не при сборке, но в коде инициализации интерпретатора.
     
  • 4.101, Аноним (-), 21:29, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > А поделитесь деталями. Очень интересно, без шуток

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

     

  • 1.2, ИмяХ (?), 10:41, 15/05/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    >>выявленной в 2012 году

    Тысичиглас уже десять лет смотрят на эту ошибку и думают, когда ж кто-нибудь исправит её.

     
     
  • 2.3, Ананом (?), 10:51, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    ну так, все ждали когда за найденные уязвимости бабло отваливать будут.
    вот хорошо забытое/забитое старое и начало всплывать и благоухать "свежестью"
     
  • 2.5, Аноним (5), 10:54, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • +5 +/
    А в чём причина твоей ненависти к свободному программному обеспечению? Работу потерял из-за него?
     
     
  • 3.15, Аноним (15), 12:01, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Венда уже не та. В какие-то WSLы скатывается.
     
  • 3.44, Аноним (-), 15:33, 15/05/2022 Скрыто модератором
  • +/
     

  • 1.4, Бывалый смузихлёб (?), 10:52, 15/05/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    > Работа сводится к получению из кода на языке Python
    > сведений об адресе одной из функций в исполняемом коде CPython. > На основании этого адреса вычисляется базовый адрес
    > CPython в памяти и адрес функции system() в
    > загруженном в пмять экземпляре libc

    Прямо-таки азы заражающих вирусов. Даже удивительно, что на скриптоте подобное возможно без особых сложностей

     
     
  • 2.7, Аноним (7), 10:58, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Очередное подтверждение, что что питон -- нормальная скриптота.
     
     
  • 3.21, Аноним (21), 12:28, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    "Нормальная" - это для 95%?
     
     
  • 4.24, Аноним (7), 12:53, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Это миф, на самом деле этот процент ближе к 99. И нет, это для 1% линуксоидов нормальная, все остальные выбирают руби (макос) или жс (венда).
     
     
  • 5.28, Аноним (28), 13:42, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > руби (макос)

    который скоро удалят с макос... Впрочем, питон уже снесли.

     
     
  • 6.31, Аноним (7), 13:55, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >> руби (макос)
    > который скоро удалят с макос... Впрочем, питон уже снесли.

    Мне казалось, речь идёт о кодерах. Больше оно никому нужно не было. Учитывая, что система в первую очередь позиционируется для домохозяек, ничего удивительного.

     
  • 6.129, Аноним (129), 13:03, 16/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Python уже снесли, Ruby скоро снесут, bash - нерелигиозно, на чём же маководам скриптовать тогда?
     
  • 5.95, Криптоханыга (?), 20:08, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    В винде давно модны скрипты на PowerShell, как бы.
     
  • 4.128, Аноним (129), 13:00, 16/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    А 95% это мало?
     
  • 3.46, Аноним (-), 15:34, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Очередное подтверждение, что что питон -- нормальная скриптота.

    Это в том смысле, что делает даже JS'еров по уровню наколенности? :) Про#$%ть баг известный десять лет - как-то не очень :)

     
     
  • 4.83, Аноним (-), 18:08, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    О, очередной экспертус, опоздавший родиться и не заставший 25-летний Shellshock ... большой текст свёрнут, показать
     
     
  • 5.110, Аноним (-), 22:40, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > О, очередной экспертус, опоздавший родиться и не заставший 25-летний Shellshock!

    Есть некоторая разница между "знали 10 лет и не пофиксили" и "не знали N лет и не пофиксили".

    > https://www.opennet.ru/opennews/art.shtml?num=55488

    А что, они знали 10 лет про то что там вулн и не чесались? Да ладно?!

    И остальные вулны тоже были починены с таймлайном явно приличнее чем "бакланили 10 лет". Я мог бы показать позор такого вида от грандов но зачем ламу не способному к пониманию чем я недоволен подсказывать? :)

    >> Проблема присутствует с мая 2009 года, со времени добавления команды pkexec.

    Присутствуеи с X и "обнаружена с X" - две большие разницы так то.

    Одно дело не знать про вулн 10 лет и другое - знать но все равно 10 лет бакланить.

     
     
  • 6.111, Аноним (-), 22:48, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Есть некоторая разница между "знали 10 лет и не пофиксили" и "не знали N лет и не пофиксили".

    Как ловко ты спрыгнул с неудобной темы "наколенности", сразу чувствуется огромный опыт и непревзойденное мастерство ...

    > И остальные вулны тоже были починены с таймлайном явно приличнее чем "бакланили
    > 10 лет". Я мог бы показать позор такого вида от грандов но зачем ламу не способному к пониманию чем я недоволен подсказывать? :)

    Ты мог бы сам себе показать ссылку на новость с 15-летней уязвимостью qmail, но "это другое!"?
    А ты самокритичен, но почему о себе в третьем лице?


     
     
  • 7.146, Аноним (-), 21:20, 16/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Как ловко ты спрыгнул с неудобной темы "наколенности",

    Наколенность вылезает и в таких вот вещах.

    > Ты мог бы сам себе показать ссылку на новость с 15-летней уязвимостью qmail, но "это другое!"?

    Нет, это как раз то самое, только с учетом бэкграунда - "и на старуху бывает проруха". Что впрочем не отменяет лулзовости.

    А если уж об этом, сколько CVE в qmail и сколько в питонах? :)

     

  • 1.6, Аноним (5), 10:57, 15/05/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    canary found
    nx enabled
    pie enabled
    fortify enabled

    и ничего не помогает, а зачем тогда это всё?

     
     
  • 2.8, Аноним (7), 10:59, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Стек никто и не переполнял, почему должно было помочь?
     
  • 2.9, Sergey (??), 11:10, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    selinux заюзай и поможет.
     
  • 2.18, Аноним (18), 12:10, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Навертели бесполезной фигни, вместо того, чтобы писать на адекватных задачам языках.
     
     
  • 3.26, YetAnotherOnanym (ok), 13:26, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Адекватные задачам языки учить надо, а на это времени нет. Месячные курсы питона или жабоскрипта закончил - и вперёд, фигачить код любой задачи на единственном освоенном языке.
     
     
  • 4.33, Аноним (-), 14:00, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Адекватные задачам языки учить надо, а на это времени нет. Месячные курсы
    > питона или жабоскрипта закончил - и вперёд, фигачить код любой задачи
    > на единственном освоенном языке.

    Только вот если читать дальше заголовка, то окажется что ошибка там - совсем не "на питончике" навяана, а как раз на "труЪ-ЯП".


     
  • 4.36, another_one (ok), 14:09, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Сам догадаешься, на каком языке написан CPython (в котором как раз уязвимость) или подсказать?
     
     
  • 5.47, Аноним (-), 15:38, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Дык на нем тоже практиковали питонячий подход к кодингу если забивали на известный баг 10 лет. Вебмакачить можно даже на сишке. Это не очень удобно и икается, но если очень хочется, вот, пожалуйста.

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

     
     
  • 6.52, Аноним (52), 15:48, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Дык на нем тоже практиковали питонячий подход к кодингу если забивали на известный баг 10 лет. Вебмакачить можно даже на сишке. Это не
    > очень удобно и икается, но если очень хочется, вот, пожалуйста.

    Да что ж это такое - и тут злобные питонисты сишникам тайком в штаны на*рали!
    А вот там, где нет питонистов, там с CVE полнейший порядок (если нет - см. первый пункт про злобных питонистов)!

     
  • 6.57, Аноним (57), 15:59, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Тупейшие логические ошибки, сэкономили на проверках и
    > санитизации ввода, как обычно. И так у этих мегакодеров везде.

    Покажи свой репозиторий, о великий гуру294 ... или как обычно - "я не тактик, я балаб^W стратег"?

     
  • 6.65, another_one (ok), 17:19, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    В соседней новости в unrar дыра уровня "санитизации ввода". Тоже питонисты виноваты или будем честны и признаем, что элитные С-макаки не отличаются от других макак?
     
     
  • 7.86, Аноним (-), 18:24, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > или будем честны и признаем, что элитные С-макаки не отличаются от других макак?

    Опеннетные - отличаются ЧСВ и ылитизмом, верой в свою избранность и непогрешимость ... вон, у Гуру выше - даже DJB стал "вебмакачьим мегакодером" (правда, чсх - ссылку на свой рабочий проектик на пару тысяч строк бросать не спешат) :)

     
  • 7.102, Аноним (-), 21:32, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > В соседней новости в unrar дыра уровня "санитизации ввода". Тоже питонисты виноваты
    > или будем честны и признаем, что элитные С-макаки не отличаются от других макак?

    Ты будешь ржать аки конь, но я таки трахнул кус питонятины вот именно через ../../ :D

     
  • 5.118, YetAnotherOnanym (ok), 01:15, 16/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Сам догадаешься, на каком языке написан CPython (в котором как раз уязвимость)
    > или подсказать?

    Даже догадываюсь кем оно на том Си написано.

     
     
  • 6.143, aname (?), 18:54, 16/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Поттеринг?
     
     
  • 7.152, Аноним (-), 02:48, 17/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Поттеринг?

    Гвидо небось, известен тем что заварил столь лютый трэш что задолбался в нем BDFLом быть и сбежал из помойки которую сам же и организовал :)

     

  • 1.10, Аноним (10), 11:20, 15/05/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    > обращение к уже освобождённой памяти

    @
    > Изначально предполагалось, что ошибка не представляет угрозы безопасности

    Вот к чему приводит смузи разработка без знания сишечки.

     
     
  • 2.11, Аноним (-), 11:32, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • +4 +/
    >> Эксплоит реализован на чистом языке Python и работает без импорта внешних библиотек и без установки обработчика "code.__new__".
    > Вот к чему приводит классическая сишно-снобизная разработка без знания питончика.

    пофиксил, не благодари.

     
     
  • 3.12, Аноним (12), 11:40, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Рантайм на сях.
     
     
  • 4.13, Аноним (-), 11:47, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • +4 +/
    >>> Изначально предполагалось, что ошибка не представляет угрозы безопасности
    >> классическая сишно-снобизная разработка без знания питончика.
    > Рантайм на сях.

    Че сказать-то хотел?


     
  • 4.16, Онаним (?), 12:05, 15/05/2022 Скрыто модератором
  • +5 +/
     
     
  • 5.25, Аноним (15), 13:25, 15/05/2022 Скрыто модератором
  • +4 +/
     
     
  • 6.48, Аноним (-), 15:39, 15/05/2022 Скрыто модератором
  • +1 +/
     
  • 5.35, Аноним (35), 14:06, 15/05/2022 Скрыто модератором
  • +/
     
     
  • 6.37, Аноним (-), 14:20, 15/05/2022 Скрыто модератором
  • +/
     
     
  • 7.39, Аноним (35), 14:35, 15/05/2022 Скрыто модератором
  • +1 +/
     
     
  • 8.41, Аноним (-), 14:46, 15/05/2022 Скрыто модератором
  • +/
     
     
  • 9.68, Аноним (68), 17:27, 15/05/2022 Скрыто модератором
  • –1 +/
     
     
  • 10.74, Аноним (-), 17:35, 15/05/2022 Скрыто модератором
  • +/
     
  • 5.63, Вы забыли заполнить поле Name (?), 17:14, 15/05/2022 Скрыто модератором
  • +/
     
  • 4.54, Аноним (54), 15:53, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Бесполезно, местные не поймут.
     
  • 2.14, Аноним (15), 11:59, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Как будто, CPython не на Сишечке написан.
     

     ....большая нить свёрнута, показать (15)

  • 1.22, Аноним (21), 12:33, 15/05/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    *звук непонимания новости очередным покорителем вайти с модномолодежных курсов*
     
  • 1.32, Неуклюжий танцор (?), 14:00, 15/05/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Народ, объясните мне почему это ошибка CPython, а не ядра, если распределением прав доступа, выделением памяти и времени ЦПУ управляет ядро операционной системы? Почему защитой ядра должно заниматься приложение, работающее в пространстве пользователя? Какое исправление могут предложить разработчики Python, если это не их уровень ответсвенности? Это ведь не ошибка, а возможность выполнить какието действия, кторые в том числе могут привести к нарушению прав доступа, и следить за этим должна внешняя по отношению к интерпритатору среда, потому что это задача и облатсть ответсвенности именно ядра, а не интерпритатора.
     
     
  • 2.34, Аноним (35), 14:05, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что это на самом деле общая задача. Надо решать задачу, а не искать виноватых. А рассуждение это «не наш уровень ответственности» это менеджмент, который попахивает.
     
     
  • 3.45, Неуклюжий танцор (?), 15:34, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Такие термины как область видимости и инкапсуляция вам ни о чём не говорят? Или вы думаете это относится только к ЯП, но не может относится к построению систем и организации их работы?
     
     
  • 4.70, Аноним (68), 17:29, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Просто погугли миссия организации, корпоративные ценности. Ты конечно же ничего не поймешь, но просто хотя бы узнаешь что бывают такие термины.
     
  • 2.38, Аноним (38), 14:26, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    При чем тут ядро вообще? Как ты предлагаешь ядру отличать действия самого интерпретатор питона от действий запущенного в нем скрипта? Ядро может только запретить доступ всему процессу, но тогда сам интерпретатор не сможет функционировать. Так что это чистая проблема юзерспейса.
     
     
  • 3.50, Неуклюжий танцор (?), 15:40, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ядро и не должно отличать действия скрипта от действий интерпритатора, это и не нужно. Для ядра всё равно чем вызваны эти действия, самим интерпритатором или скриптом, но ядро должно завершать программу если она выполняет недопустимые действия. Если программа на питоне может это сделать, то и любая другая программа тоже. Поэтому нет смысла править кучу интерпритаторов с разных языков, если дыра в ядре.
     
     
  • 4.71, Аноним (68), 17:32, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Я сейчас переверну твою картину мира и заодно порву тебе шаблон. В этом мире никто никому ничего не должен.
     
     
  • 5.131, Аноним (131), 13:13, 16/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Да и Деда Мороза не существует.
     
     
  • 6.135, 1 (??), 14:58, 16/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Это наглая ложь !!!!
     
  • 4.82, Аноним (38), 18:08, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    А где там недопустимые действия? Запуск другой программы или доступ к файлам абсолютно обычные действия, которые совершают 99% программ. О какой дыре в ядре идет речь?
     
  • 4.96, Аноним (96), 20:23, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >ядро должно завершать программу если она выполняет недопустимые действия.

    undecideable.

    >Если программа на питоне может это сделать, то и любая другая программа тоже.

    Если программа на питоне не сможет это сделать, значит и ни одна программа не сможет это сделать. Любую программу элементарно сделать безопасной, никогда её не выполняя.

     
  • 4.97, Тфьу (?), 20:41, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Допустимость или недопустимость в данном случае - сущности, которые таковыми являются в рамках того, что позволяет сам (с?)python. с точки зрения ОС/ядра питон совершает обычные действия, которые разрешены всем процессам и ему в частности.
     
  • 2.62, Аноним (62), 17:02, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    С точки зрения Python это даже не ошибка. Это проблема вот этих типа "безопасных" сред, которые почему-то считают что можно сделать некое "изолированное" окружение где почему-ты невозможны системные вызовы. С учётом динамичности самого языка (например, программы которые могут переписывать сами себя в ходе исполнения) задача совершенно безнадёжная и бессмысленная. Если с компилируемыми языками есть хотя бы DEP (который в теории защищает программный код в памяти от записи), то с Python это невозможно, ибо это часть языка.

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

     

  • 1.42, Интел (?), 14:59, 15/05/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +9 +/
    Чем питон лучше паскаля или перла? Откуда такой хайп?
     
     
  • 2.61, Аноним (15), 16:59, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Лучше Перла он синтаксисом. Окромя спорного - отступов пробелами, но это не для всех однозначно.
     
     
  • 3.155, bym (?), 07:11, 18/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Почему то я чувствую своей (_._), что на моём веку либо Перл5 воскреснет, либо очередной отпрыск из поколения Z напишет Перл5, но с другим названием (но он не будет знать, что до него это уже было сделано, ведь молодые не читают книги старых). Ибо синтаксис и логика питона ужасна.
     
  • 2.64, Вы забыли заполнить поле Name (?), 17:19, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Сейчас бы сравнивать питон с паскалем. С перлом очевидно, что он write-only.
     
     
  • 3.66, Аноним (66), 17:24, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Сейчас бы сравнивать питон с паскалем

    Вполне уместное сравнение (если опустить скриптуозность питона), оба языка используются в основном новичками и для обучения. А на счёт перла – бред, ибо перл это не только однострочники. Я на нем много cgi скриптов написал в свое время, язык отличный, и что самое радостное – в сообществе нет смyзихлeбcтва.

     
     
  • 4.76, Вы забыли заполнить поле Name (?), 17:43, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Python используется далеко не новичками и в проде В этом и смысл, что можно и о... большой текст свёрнут, показать
     
     
  • 5.91, Интел (?), 19:03, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > ООП

    В 99% случаев в скриптовых языках оно НЕ_нужно и лишь искусственно усложняет разработку. Другое дело – большие и ОЧЕНЬ большие проекты на моей любимой джавушке, где реально без ООП можно запутаться в бизнес-логике.

     
     
  • 6.104, Вы забыли заполнить поле Name (?), 21:40, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > В 99% случаев в скриптовых языках оно НЕ_нужно и лишь искусственно усложняет разработку.

    Усложнение - это вопрос из ряда зависящих от человека (дай бездарю волю, он и без ООП все усложнит). Касательно темы спора в python ООП как раз ок, единственное, что мне не хватает - это нормальных private полей. В perl насколько я помню ООП сбоку пришито через модули и функция bless... Серьезно? Ларри Уолл церковь с кодом перепутал?

     
     
  • 7.107, Аноним (18), 21:55, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    В перле ничего не сбоку. Просто оно там очень просто сделано. Есть символьная таблица и к ней возможность прилепить ссылку, так что потом можно дергать функции, определенные в ней. Вот и все ООП, в принципе. Скорее это неймспейсы или модульность, потому что управления доступом нет, а оно де-факто стандарт в мире ООП.
    Bless очень мощная штука. Можно прямо на ходу "инстанс" перекрасить в другой "класс", сделать дела и вернуть на место. Любые извращения, на что фантазии хватит. Круче только в Lua с метатаблицами (тоже язык непонимаемый 95% программистов).
     
     
  • 8.116, Вы забыли заполнить поле Name (?), 01:02, 16/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    В реальном коде за такие извращения нужно бить палкой по рукам Это где забыл l... текст свёрнут, показать
     
     
  • 9.126, Аноним (12), 10:48, 16/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, это не когда забыл local Это как прототип в JS Не знаю, выучи перл, выучи... текст свёрнут, показать
     
  • 8.145, Аноним (145), 19:09, 16/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Perl, lua 3642 тьфу ля Круче форта ничего нет И самая непонятная в нём не... текст свёрнут, показать
     
  • 7.108, Пыщь (?), 22:03, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Давай ещё к словам придираться. Начнём по повестке пятилетки: master/slave.
     
     
  • 8.115, Вы забыли заполнить поле Name (?), 00:56, 16/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Это не придирка, а вопрос ко всем, кто кричит о читабельности perl Давай обьясн... текст свёрнут, показать
     
     
  • 9.120, Аноним (120), 02:15, 16/05/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Перл тут несомненно более читабелен ... текст свёрнут, показать
     
     
  • 10.123, Вы забыли заполнить поле Name (?), 02:20, 16/05/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Как определил ... текст свёрнут, показать
     
     
  • 11.134, Аноним (129), 14:13, 16/05/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    sarcasm Перл тут несомненно более читабелен sarcasm ... текст свёрнут, показать
     
  • 4.144, Аноним (145), 19:04, 16/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    и пофиксить простейшую багу там стоит $200
    правда, сейчас может уже и все 400, я бросил зас#p@ть себе моск и ушёл на питон
    и если даю пользователю выполнять свой код, то только простейшую арифметику, а чтобы курлхацкеров пнуть - есть ast
    ну и доку смузихлёбам читать надо научиться уже за десять-то лет, где ясно написано, что изолированные окружения в питоне - полная лажа
     
  • 4.154, тигар.логиниться.лень (?), 14:33, 17/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > и что самое радостное – в сообществе нет смyзихлeбcтва.

    потому что последний пеглоёп умер еще до изобретения "смузи" полагаю.

     
  • 2.109, Аноним (18), 22:03, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Питон - основной язык, которому обучают не программистов, но и например ученых (математиков и прочих). В гугле скучковалось много таких, они там всё на нем написали, попутно распространяя моду на него в интернетах. Кроме гугла были и другие компании, дропбокс ЕМНИП.
    Сейчас это основной язык для обучения на всевозможных курсах, и опять же флер обучения нейросетей витает в воздухе (там тоже все на питоне - отрасль вышла из математических кругов).

    Как язык питон наверно чуть лучше паскаля, но сильно хуже перла. Однако, перл требует мозгов, а на питоне любой да^Cжун может. На перле много писали в эру CGI, когда уровень кодеров был выше, и все равно получалось отвратно.

     
     
  • 3.117, Вы забыли заполнить поле Name (?), 01:06, 16/05/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Однако, перл требует мозгов, а на питоне любой да^Cжун может.

    Если аналогичную задачу можно сделать дешевле и быстрее - это же замечательно.

    p.s. по поводу мозгов - это бред откровенный


     
  • 2.124, name (??), 09:58, 16/05/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Сильно пропиарен любителями подушить питона во времена смуты (200х годы), когда web разработка плакала кровавыми слезами. Да и не только веб, поюсы были адом, ява сырым гогном ну с про js итак все знают. И тут на белом коне врывается наш герой, вмеру доступный и в тойже мере непонятный каждому дауну. Когда не-дауны окстились от хайпу, вспыли тысячи проблем одноглазого, было уже поздно, индустрия макак плотненько присела и миллиарды кода переписывать уже нельзя. Вот и грызут. А так, в 2022 это уже маячок, видишь питон в проде - беги!
     
     
  • 3.149, Вы забыли заполнить поле Name (?), 22:13, 16/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Сильно пропиарен любителями подушить питона во времена смуты (200х годы), когда web
    > разработка плакала кровавыми слезами. Да и не только веб, поюсы были
    > адом, ява сырым гогном ну с про js итак все знают.
    > И тут на белом коне врывается наш герой, вмеру доступный и
    > в тойже мере непонятный каждому дауну. Когда не-дауны окстились от хайпу,
    > вспыли тысячи проблем одноглазого, было уже поздно, индустрия макак плотненько присела
    > и миллиарды кода переписывать уже нельзя. Вот и грызут. А так,
    > в 2022 это уже маячок, видишь питон в проде - беги!

    Какие 200x? Ты видимо родился тогда? Язык в 91 году появился. В 2000 году у него была версия 2.0 https://www.python.org/doc/versions/

     

     ....большая нить свёрнута, показать (22)

  • 1.53, Sergey (??), 15:48, 15/05/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Примерно в 2005-2007, была большая дыра в php, где поимели кучу народу, окромя серверов с selinux, там доступ к памяти был ограничен.
     
     
  • 2.73, Аноним (66), 17:34, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Основные дыры порождали сами те, кто без знания матчасти ринулись клепать сайты на пэхэпэ. Если бы не фреймворки, то и сейчас 90% кодеров не являются программистами т.к. не смогут пояснить без гугла в тетради как происходит побитовый сдвиг влево.
     
     
  • 3.81, Аноним (81), 17:59, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > побитовый сдвиг

    Это что-то на кобольдском?
    /* отхлебнул еше смузи */

     
     
  • 4.136, 1 (??), 15:02, 16/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    В COBOL-е такого не было !!!
     
  • 3.85, Онаним (?), 18:24, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Они со своими-то сдвигами без смузи никак не разберутся, а вы им про битовые. Пожалейте уже.
     
  • 3.88, Аноним (88), 18:35, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Основное число дыр написаны  именно теми кто хорошо разбираются в побитовых сдвигах. В чем же тут закономерность?
     
     
  • 4.89, Интел (?), 18:53, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Основное число дыр написаны  именно теми кто насмотрелся ютуб-курсов "язык за 1 час" не имея базового технического высшего образования.

    Фиксанул, не благодари.

     
  • 4.103, Аноним (-), 21:34, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Основное число дыр написаны  именно теми кто хорошо разбираются в побитовых
    > сдвигах. В чем же тут закономерность?

    Вас обманули. Вебмакаки в побитовых сдвигах вроде не разбираются...


     

  • 1.58, Аноним (-), 16:45, 15/05/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Что только не сделают, лишь бы не кодить на лиспе, в котором есть environments, который можно компилировать и который легче вставлять в программу, чем lua. Не говоря об обрезанных вариантах, которые поставляются без этих ваших батареек на все случаи жизни.
     
     
  • 2.67, Аноним (66), 17:27, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • +8 +/
    А где используется этот Лисп кроме как для "академического" программирования? Из реальных продуктов могу припомнить разве что автолисп для Автокад из 80-х годов ⁉️
     
     
  • 3.72, Аноним (68), 17:34, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ты шутишь? Конечно же в emacs.
     
     
  • 4.75, Аноним (66), 17:36, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > emacs

    Это д@рьмо мамонта ещё кто-то использует?

     
     
  • 5.79, Аноним (68), 17:51, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ты хотел сказать эту божественную ОС? Знаю человека у которого это основная среда разработки.
     
     
  • 6.90, Интел (?), 18:56, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • +8 +/
    > Ты хотел сказать эту божественную ОС? Знаю человека у которого это основная
    > среда разработки.

    Что он разработывает? Однострочные хеллоуворды на баше?

     
     
  • 7.92, Аноним (92), 19:10, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Разухабистые распределенные системы.
     
     
  • 8.94, Онаним (?), 19:26, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Канализацию что-ли ... текст свёрнут, показать
     
     
  • 9.125, Аноним (125), 10:17, 16/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Между прочим, качественно работающая канализация - это очень важно, без всяких ш... текст свёрнут, показать
     
     
  • 10.147, Аноним (-), 21:22, 16/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Может он из тех которые гадят в дырку в полу ... текст свёрнут, показать
     
  • 10.150, Онаним (?), 23:17, 16/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Да я и не шучу Но в емаксе ... текст свёрнут, показать
     
  • 5.106, Вы забыли заполнить поле Name (?), 21:47, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • –3 +/
    >> emacs
    > Это д@рьмо мамонта ещё кто-то использует?

    Много людей им пользьуется. Переживет еще все смузиредакторы.

     
  • 3.105, Вы забыли заполнить поле Name (?), 21:45, 15/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > А где используется этот Лисп кроме как для "академического" программирования? Из реальных
    > продуктов могу припомнить разве что автолисп для Автокад из 80-х годов
    > ⁉️

    Guile Scheme - сейчас вроде официальный язык расширения GNU проектов https://www.gnu.org/software/guile/. Использование? guix, в gimp можно на нем расширения писать, встраивать в makefile'ы https://www.gnu.org/software/make/manual/html_node/Guile-Integration.html#Guil

     

  • 1.119, Ууууу... (?), 01:58, 16/05/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Чёт вспомнилась игрушка Vampire: Bloodlines, где для игровой логики был заюзан Питон 1.6 (кажется). Дык там сама игрушка делает import sys и nt, и из этих скриптов можно делать с системой ваще всё что хочешь :D Радует лишь, что никто из моддеров до этого не додумался.
     
     
  • 2.130, bOOster (ok), 13:03, 16/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Вспомнилась Civilization и что-то еще под Mac - портированные MacGames/Firaxis - которые тоже пихтона куда не попадя пихали, тормозило это безбожно даже на крутых, в те 1995 года PowerPC 80 Mhz..
     
     
  • 3.133, Аноним (7), 14:05, 16/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    The Fall (2004) на питоне. Ооо такого количества багов и тормозов вы ещё не встречали, особенно, для 2004 это было достижение. Игра в лучших традициях немецкого игропрома. Поляки с их жавой в играх (в хром энжин) просто котята.
     
  • 2.137, Совершенно другой аноним (?), 15:52, 16/05/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ещё был Blade of Darkness с Python 1.5
     

  • 1.127, bOOster (ok), 12:59, 16/05/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    То-то еще будет с Растом когда его копать серьезно возьмутся...
     
     
  • 2.142, Аноним (-), 18:32, 16/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    сложность отладки для крякинга блобов санкционочки
     

  • 1.140, Аноним (-), 18:21, 16/05/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > segmentation fault  python exploit.py

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

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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