1. SQL / Говнокод #24817

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    https://ru.wikipedia.org/wiki/Хранимая_процедура#Возможности_программирования
    Начиная с версии Oracle 10g поддерживается так называемая естественная компиляция
    (native compilation) хранимого процедурного кода в Си и затем в машинный код целевой
    машины, после чего при вызове хранимой процедуры происходит прямое выполнение её
    скомпилированного объектного кода.

    Можно сделать вирусню, живущую в этих самых хранимых процедурах в машинном коде и инфицирующую другие БД с хранимыми процедурами

    Запостил: j123123, 26 Сентября 2018

    Комментарии (21) RSS

    • А теперь давай пример.
      Ответить
    • Поэтому я за "MySQL".
      Ответить
    • Пажжи, там ведь PL/SQL транслируется в Си? Если так, то вся петушня ограничена кодогенерацией самого Сракла.
      Ответить
      • Надо попробовать найти баг в кодогенерации Сракла и написать такую хранимку, которая бы этот баг юзала. Хотя вот если в самой БД хранится именно уже машинный откомпиленый код, то тогда это не надо
        Ответить
        • для этого тебе нужен доступ на запись к БД, которая обычно живёт в интранете.

          > живущую в этих самых хранимых процедурах в машинном коде и инфицирующую другие БД с хранимыми процедурами

          Вот это я вообще не понял.
          Ответить
          • > живущую в этих самых хранимых процедурах в машинном коде и инфицирующую другие БД с хранимыми процедурами

            Ну а че тут непонятного? Хранимая процедура — объект базы данных, представляющий собой набор SQL-инструкций, который компилируется один раз и хранится на сервере.

            Если хранимая процедура в самой БД (.dba файле) оракла хранится не как набор SQL-инструкций, а как набор инструкций процессора x86-64, то в хранимку можно насрать кодом, который найдет другие .dba файлы с хранимками, и их тоже завирусует
            Ответить
    • Смотря как они запускаются. Если в том же адресном пространстве что и СУБД то да, в теории можно.

      Интересно посмотреть на систему где с ботлнеком боряца посредством копеляции хранимок
      Ответить
      • Настоящие цари не признают эти заедушные говноязычки вроде SQL. В царской БД все запросы пишутся прямо в машинном коде
        Ответить
        • БД — это лишняя абстракция, которую придумали заедушные анскилябры чтобы имитировать деятельность и не вылететь с заедушной работы. Цари же, как известно, хранят данные только в массивах, а сами массивы записывают в строго заданные сектора жёсткого диска.
          Ответить
          • Поэтому я за "PHP" - с помощью "file_get_contents", "json_decode", "json_encode" и "file_put_contents" "MySQL" может и приотсосать; но лишь в том случае, если сайт примитивен.
            P.S.: Возможна замена "json_decode" и "json_encode" на "unserialize" и "serialize".
            Ответить
            • Настоящие цари смотрят на «PHP», «MySQL» и «JSON» как на говно.
              Ответить
              • Между тем, "ВКонтакте" написана на "PHP", "Facebook" - на "PHP" и "MySQL".
                Ответить
                • Цари прекрасно знают, что «ВКонтакте» — это говно. И «Facebook» — тоже говно. Потому что написаны на анскильных заедушных языках!
                  Ответить
          • А слабо́ замапить какой-нибудь диапазон адресного пространства процессора на сектора жёсткого диска, чтобы запись в определённый массив в божественной сишечке сразу приводила к записи на жёсткий диск?
            Ответить
    • Ты и без нативного кода можешь заражать процедуры на других серваках.

      Вроде одно время на mssql подобный червь по сервакам прыгал.
      Ответить

    Добавить комментарий