Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
lua_CVE-2020-24370 — Эксплойт для CVE-2020-24370, нацеленный на интерпретатор Lua 5.3, демонстрирующий уязвимость в среде выполнения скриптового языка. | Kitploit
Инструменты/GitHubGitHub/renukaselvar/lua_cve-2020-24370
Утилиты общего назначенияАнализ уязвимостейЭксплуатацияАнализ Бинарных Файлов
GitHubrenukaselvar/lua_cve-2020-24370

lua_CVE-2020-24370

Эксплойт для CVE-2020-24370, нацеленный на интерпретатор Lua 5.3, демонстрирующий уязвимость в среде выполнения скриптового языка.

Репозиторий

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
1 год назадЕщё не проверено
Lua 5.3 readme blockquote, .display { border: solid #a0a0a0 2px ; border-radius: 8px ; padding: 1em ; margin: 0px ; } .display { word-spacing: 0.25em ; }

dl.display dd { padding-bottom: 0.2em ; }

tt, kbd, code { font-size: 12pt ; }

Lua Добро пожаловать в Lua 5.3

о Lua · установка · изменения · лицензия · справочное руководство

О Lua

Lua — это мощный, быстрый, легковесный, встраиваемый скриптовый язык, разработанный командой в PUC-Rio, Папском католическом университете Рио-де-Жанейро в Бразилии. Lua является свободным программным обеспечением, используемым во многих продуктах и проектах по всему миру.

Официальный веб-сайт Lua предоставляет полную информацию о Lua, включая краткий обзор и обновлённую документацию, особенно справочное руководство, которое может незначительно отличаться от локальной копии, распространяемой в этом пакете.

Установка Lua

Lua распространяется в исходном коде. Перед использованием его необходимо собрать. Сборка Lua должна быть простой, поскольку Lua реализован на чистом ANSI C и компилируется без изменений на всех известных платформах, имеющих компилятор ANSI C. Lua также компилируется без изменений как C++. Инструкции по сборке Lua, приведённые ниже, предназначены для Unix-подобных платформ. Смотрите также инструкции для других систем и варианты настройки.

Если у вас нет времени или желания компилировать Lua самостоятельно, возьмите бинарный файл с LuaBinaries. Попробуйте также LuaDist, мультиплатформенную дистрибуцию Lua с дополнительными библиотеками.

Сборка Lua

На большинстве Unix-подобных платформ просто выполните "make" с подходящей целью. Вот подробности.

  1. Откройте терминал и перейдите в корневой каталог с именем lua-5.3.5. Находящийся там Makefile управляет как процессом сборки, так и процессом установки.

  2. Выполните "make" и посмотрите, есть ли ваша платформа в списке. Поддерживаемые в настоящее время платформы:

    aix bsd c89 freebsd generic linux macosx mingw posix solaris

    Если ваша платформа есть в списке, просто выполните "make xxx", где xxx — это имя вашей платформы.

    Если вашей платформы нет в списке, попробуйте ближайшую или posix, generic, c89, в этом порядке.

  3. Компиляция занимает всего несколько минут и создаёт три файла в каталоге src: lua (интерпретатор), luac (компилятор), и liblua.a (библиотека).

  4. Чтобы проверить, что Lua собран правильно, после сборки выполните "make test". Это запустит интерпретатор и выведет его версию.

Если вы работаете в Linux и получаете ошибки компиляции, убедитесь, что установлен пакет разработки readline (вероятно, он называется libreadline-dev или readline-devel). Если после этого возникают ошибки компоновки, попробуйте выполнить "make linux MYLIBS=-ltermcap".

Установка Lua

После сборки Lua, возможно, вы захотите установить его в системное место. В этом случае выполните "make install". Место установки и способ установки файлов определены в Makefile. Вам вероятно понадобятся соответствующие права для установки файлов.

Чтобы собрать и установить Lua за один шаг, выполните "make xxx install", где xxx — имя вашей платформы.

Чтобы установить Lua локально, выполните "make local". Это создаст каталог install с подкаталогами bin, include, lib, man, share, и установит Lua, как указано ниже.

Чтобы установить Lua локально, но в другой каталог, выполните "make install INSTALL_TOP=xxx", где xxx — выбранный каталог. Установка начинается в каталогах src и doc, поэтому будьте внимательны, если INSTALL_TOP не является абсолютным путём.

bin:
lua luac
include:
lua.h luaconf.h lualib.h lauxlib.h lua.hpp
lib:
liblua.a
man/man1:
lua.1 luac.1

Это единственные каталоги, необходимые для разработки. Если вы хотите только запускать программы на Lua, вам нужны только файлы в bin и man. Файлы в include и lib необходимы для встраивания Lua в программы на C или C++.

Настройка

Три вида вещей могут быть настроены редактированием файла:

  • Где и как устанавливать Lua — редактируйте Makefile.
  • Как собирать Lua — редактируйте src/Makefile.
  • Возможности Lua — редактируйте src/luaconf.h.

Вам не обязательно редактировать Makefile'ы, так как вы можете задать соответствующие переменные в командной строке при вызове make. Тем не менее, вероятно, лучше отредактировать и сохранить Makefile'ы, чтобы зафиксировать сделанные изменения.

С другой стороны, если вам нужно настроить некоторые возможности Lua, вам придётся отредактировать src/luaconf.h перед сборкой и установкой Lua. Отредактированный файл будет установлен, и он будет использоваться любыми клиентами Lua, которые вы собираете, для обеспечения согласованности. Дополнительная настройка доступна экспертам через редактирование исходных текстов Lua.

Сборка Lua в других системах

Если вы не используете обычные инструменты Unix, инструкции по сборке Lua зависят от используемого компилятора. Вам нужно будет создать проекты (или то, что использует ваш компилятор) для сборки библиотеки, интерпретатора и компилятора следующим образом:

библиотека:
lapi.c lcode.c lctype.c ldebug.c ldo.c ldump.c lfunc.c lgc.c llex.c lmem.c lobject.c lopcodes.c lparser.c lstate.c lstring.c ltable.c ltm.c lundump.c lvm.c lzio.c lauxlib.c lbaselib.c lbitlib.c lcorolib.c ldblib.c liolib.c lmathlib.c loslib.c lstrlib.c ltablib.c lutf8lib.c loadlib.c linit.c
интерпретатор:
библиотека, lua.c
компилятор:
библиотека, luac.c

Чтобы использовать Lua как библиотеку в своих программах, вам нужно знать, как создавать и использовать библиотеки в вашем компиляторе. Кроме того, для динамической загрузки C-библиотек для Lua вам нужно знать, как создавать динамические библиотеки, и нужно убедиться, что функции API Lua доступны для этих динамических библиотек — но не подключайте библиотеку Lua к каждой динамической библиотеке. Для Unix мы рекомендуем, чтобы библиотека Lua статически компоновалась в основную программу, а её символы экспортировались для динамической компоновки; src/Makefile делает это для интерпретатора Lua. Для Windows мы рекомендуем, чтобы библиотека Lua была DLL. Во всех случаях компилятор luac должен компоноваться статически.

Как упоминалось выше, вы можете редактировать src/luaconf.h для настройки некоторых возможностей перед сборкой Lua.

Изменения по сравнению с Lua 5.2

Вот основные изменения, введённые в Lua 5.3. Справочное руководство перечисляет несовместимости, которые пришлось ввести.

Основные изменения

  • целые числа (64-битные по умолчанию)
  • официальная поддержка 32-битных чисел
  • побитовые операторы
  • базовая поддержка utf-8
  • функции для упаковки и распаковки значений

Вот остальные изменения, введённые в Lua 5.3:

Язык

  • пользовательские данные могут иметь любое значение Lua в качестве uservalue
  • целочисленное деление (floor division)
  • более гибкие правила для некоторых метаметодов

Библиотеки

  • ipairs и библиотека table учитывают метаметоды
  • опция strip в string.dump
  • библиотека table учитывает метаметоды
  • новая функция table.move
  • новая функция string.pack
  • новая функция string.unpack
  • новая функция string.packsize

C API

  • упрощённый API для функций продолжения в C
  • lua_gettable и подобные функции возвращают тип полученного значения
  • опция strip в lua_dump
  • новая функция: lua_geti
  • новая функция: lua_seti
  • новая функция: lua_isyieldable
  • новая функция: lua_numbertointeger
  • новая функция: lua_rotate
  • новая функция: lua_stringtonumber

Автономный интерпретатор Lua

  • может использоваться как калькулятор; не нужно ставить префикс '='
  • таблица arg доступна для всего кода

Лицензия

[сертифицировано OSI] Lua — это свободное программное обеспечение, распространяемое на условиях лицензии MIT, воспроизведённой ниже; он может использоваться для любых целей, включая коммерческие, абсолютно бесплатно, без необходимости спрашивать разрешения.

Единственное требование: если вы используете Lua, вы должны указать нас как авторов, включив соответствующее уведомление об авторских правах в ваш продукт или его документацию.

Подробнее см. здесь.

Copyright © 1994–2017 Lua.org, PUC-Rio.

Настоящим бесплатно предоставляется разрешение любому лицу, получающему копию этого программного обеспечения и сопутствующей документации (далее — «Программа»), на использование Программы без ограничений, включая, без ограничений, права на использование, копирование, изменение, объединение, публикацию, распространение, сублицензирование и/или продажу копий Программы, а также на разрешение лицам, которым предоставляется Программа, делать это, при соблюдении следующих условий:

Вышеуказанное уведомление об авторских правах и данное уведомление о разрешении должны быть включены во все копии или значительные части Программы.

ПРОГРАММА ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ, ГАРАНТИИ ТОВАРНОЙ ПРИГОДНОСТИ, СООТВЕТСТВИЯ ОПРЕДЕЛЁННОЙ ЦЕЛИ И ОТСУТСТВИЯ НАРУШЕНИЙ. НИ В КАКОМ СЛУЧАЕ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ПО КАКИМ-ЛИБО ИСКАМ, УБЫТКАМ ИЛИ ИНЫМ ОБЯЗАТЕЛЬСТВАМ, БУДЬ ТО В РАМКАХ ДОГОВОРА, ДЕЛИКТА ИЛИ ИНЫМ ОБРАЗОМ, ВОЗНИКШИМ ИЗ ИЛИ В СВЯЗИ С ПРОГРАММОЙ ИЛИ ИСПОЛЬЗОВАНИЕМ ИЛИ ДРУГИМИ ДЕЙСТВИЯМИ С ПРОГРАММОЙ.

Последнее обновление: Mon Jun 18 22:57:33 -03 2018

Скачать инструмент