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

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

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

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

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

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

            Если хранимая процедура в самой БД (.dba файле) оракла хранится не как набор SQL-инструкций, а как набор инструкций процессора x86-64, то в хранимку можно насрать кодом, который найдет другие .dba файлы с хранимками, и их тоже завирусует
            Ответить
    • показать все, что скрытоvanished
      Ответить
      • Настоящие цари не признают эти заедушные говноязычки вроде SQL. В царской БД все запросы пишутся прямо в машинном коде
        Ответить
        • БД — это лишняя абстракция, которую придумали заедушные анскилябры чтобы имитировать деятельность и не вылететь с заедушной работы. Цари же, как известно, хранят данные только в массивах, а сами массивы записывают в строго заданные сектора жёсткого диска.
          Ответить
    • Ты и без нативного кода можешь заражать процедуры на других серваках.

      Вроде одно время на mssql подобный червь по сервакам прыгал.
      Ответить
      • Как твоя мать по хуям?
        Ответить
      • ни как нет, slammer был нативным и как раз исполнял данные udp покета
        Ответить
    • Ну учитывая что на ораклах и mssqlях DBAшники могут чуть ли не полные CRMы писать (включая генерацию веб страниц, отчетов в pdf, и отсылку оных на email), это логичное решение

      Вот когда в PL/SQL можно будет делать вставки на машинных кодах (чтобы использовать инструкции процессора, неизвестные софту) вот тогда будет кайф
      Ответить
      • Можно из Berkeley DB такое сделать. Хранить в базе позиционно-независимый код, грузить его в память и запускать.
        Ответить
        • типа просто считать бинарные данные, пометить страничку как executable, и запустить?

          А потом пустить туда ПХПшника, чтобы он в этой базе сохранил данные, переданные гетом

          Хорошо, что кое-где есть W^X
          Ответить
          • > сохранил данные, переданные гетом

            Ну охуенно же! Не хватает какой-то фичи в серваке -- пишешь, компилишь, заливаешь и радуешься. И себе и людям. Да ещё и пирфоманс хороший.
            Ответить
            • да, получается довольно гибко.. В CMS на PHP можно через веб-интерфейс править шаблоны, а тут можно добавлять вообще весь функционал

              <html>
              <?asm
              Ответить
            • Какие смарт-контракты )))
              Ответить

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