Перейти к содержанию

TechnoViking

Administrators
  • Постов

    13
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные TechnoViking

  1. Уязвимости OpenSSH

    В мире кибербезопасности каждый день появляются новые вызовы, и исследователи из Qualys Security Advisory недавно выявили две серьезные уязвимости, связанные с популярным инструментом OpenSSH. Давайте разберемся, что именно было обнаружено и как это может повлиять на вас и вашу инфраструктуру.

    1. Атака типа MitM (Man-in-the-Middle)

    Представьте себе ситуацию: вы пытаетесь подключиться к своему серверу, и злоумышленник, находящийся между вами и сервером, смог выдать себя за него. Это возможно благодаря уязвимости в OpenSSH, связанной с опцией VerifyHostKeyDNS. Хотя по умолчанию эта опция отключена, она может быть включена в некоторых системах (например, FreeBSD). При активированной проверке, атакующий может обойти все проверки идентичности сервера, что ставит под угрозу безопасность ваших данных.

    1. Атака DoS (Denial of Service)

    Но это ещё не всё! Открытая возможность для DoS-атак может вызвать недоступность вашего сервиса как для клиента, так и для сервера. Здесь злоумышленники могут использовать метод, при котором клиент будет активно запрашивать сервер, что создаст ненужную нагрузку на ресурсы и может привести к исчерпанию памяти или процессора. Это ненадолго, но достаточно, чтобы вызвать серьезные перебои в работе вашего бизнеса.

    Что делать?

    Обновите OpenSSH до последних версий! Это важно не только для исправления найденных уязвимостей, но также для получения дополнительных функций безопасности. Кроме того, внедряйте встроенные механизмы защиты, такие как LoginGraceTime и MaxStartups, чтобы минимизировать риски атак.

    Источник

  2. Существует множество способов для решения вашей задачи. Будем опираться на использование Lua внутри Vikingo Engine.

    Способ через json:

    local json = require"json"
    local t = {a=100, b={c=200}}
    print(json.encode(t))

    1708426327-489604-lua-dump-table-json.jpg.3ef3c21fbcfadf5b6101a909a270ecbb.jpg

    Способ через inspect:

    local inspect = require"inspect"
    local t = {a=100, b={c=200}}
    print(inspect(t))

    1708426434-866888-lua-dump-table-inspect.thumb.jpg.0a145486f6e438e31c0eba44f5970bac.jpg

    Некоторые примеры из интернета на чистом Lua:

    #1

    function tprint(t, s)
        for k, v in pairs(t) do
            local kfmt = '["' .. tostring(k) .. '"]'
            if type(k) ~= "string" then
                kfmt = "[" .. k .. "]"
            end
            local vfmt = '"' .. tostring(v) .. '"'
            if type(v) == "table" then
                tprint(v, s or "" .. kfmt)
            else
                if type(v) ~= "string" then
                    vfmt = tostring(v)
                end
                print(type(t)..(s or '')..kfmt..' = '..vfmt)
            end
        end
    end
    
    local t = {a = 100, b = {c = 200}}
    print(tprint(t))

    1708426785-676610-lua-dump-table-print1.thumb.jpg.da4a7de463c5d7a3801253b61dac7410.jpg

    #2

    function dump_table(o)
        if type(o) == "table" then
            local s = "{ "
            for k, v in pairs(o) do
                if type(k) ~= "number" then
                    k = '"' .. k .. '"'
                end
                s = s .. "[" .. k .. "] = " .. dump_table(v) .. ","
            end
            return s .. "} "
        else
            return tostring(o)
        end
    end
    
    local t = {a = 100, b = {c = 200}}
    print(dump_table(t))

    1708426974-711408-lua-dump-table-2.thumb.jpg.06272851f821413c2c25ebd207d46801.jpg

  3. Если вы используете Vikingo Engine, то там можно использовать функцию split из пакета strings:

    local strings = require("strings")
    local s = "a,b"
    local elements = strings.split(s, ",")
    for _, element in pairs(elements) do
      print(element)
    end

    Ссылка на документацию по пакету https://vikingo.org/ru/engine/docs/lua-api/strings

  4. Для этого можно написать функцию на чистом lua:

    local charset = "abcdefghijklmnopqrstuvwxyz1234567890"
    function string.random(length)
        if length > 0 then
            return string.random(length - 1) .. charset:sub(math.random(1, #charset), 1)
        else
            return ""
        end
    end
    print (string.random(10))

    В engine есть встроенная функция random_string, которая входит в пакет utils.

    lua-random-string.thumb.gif.905be4caf5ca4bd4e88c4cb08401b26f.gif

  5. Запустили русскоязычный канал и группу в телеграме. Там будем публиковать новости о нашем софте, важные изменения и анонсы. В группе можно пообщаться на разные темы.

    Ссылка на канал: https://t.me/vkngpub

    Ссылка на группу: https://t.me/vkngru

×
×
  • Создать...