Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
lua_CVE-2020-24370 — Exploit für CVE-2020-24370, der auf den Lua 5.3-Interpreter abzielt und eine Schwachstelle in der Laufzeitumgebung der Skriptsprache demonstriert. | Kitploit
Tools/GitHubGitHub/renukaselvar/lua_cve-2020-24370
Allgemeine DienstprogrammeSchwachstellenanalyseExploitationBinäranalyse
GitHubrenukaselvar/lua_cve-2020-24370

lua_CVE-2020-24370

Exploit für CVE-2020-24370, der auf den Lua 5.3-Interpreter abzielt und eine Schwachstelle in der Laufzeitumgebung der Skriptsprache demonstriert.

Repository anzeigen
vor 1 JahrNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
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 Willkommen bei Lua 5.3

Über · Installation · Änderungen · Lizenz · Referenzhandbuch

Über Lua

Lua ist eine leistungsstarke, schnelle, leichte, eingebettbare Skriptsprache, die von einem Team an der PUC-Rio, der Pontifícia Universidade Católica do Rio de Janeiro in Brasilien, entwickelt wurde. Lua ist freie Software, die in vielen Produkten und Projekten weltweit eingesetzt wird.

Die offizielle Website von Lua bietet vollständige Informationen über Lua, einschließlich einer Zusammenfassung und aktualisierter Dokumentation, insbesondere das Referenzhandbuch, das geringfügig von der lokalen Kopie abweichen kann, die in diesem Paket enthalten ist.

Lua installieren

Lua wird in Quellcode-Form verteilt. Sie müssen es kompilieren, bevor Sie es verwenden können. Das Kompilieren von Lua sollte unkompliziert sein, da Lua in reinem ANSI C implementiert ist und auf allen bekannten Plattformen mit einem ANSI-C-Compiler unverändert kompiliert wird. Lua lässt sich auch unverändert als C++ kompilieren. Die unten angegebenen Anweisungen zum Kompilieren von Lua gelten für Unix-ähnliche Plattformen. Siehe auch Anweisungen für andere Systeme und Anpassungsoptionen.

Wenn Sie keine Zeit oder Lust haben, Lua selbst zu kompilieren, holen Sie sich ein Binärpaket von LuaBinaries. Versuchen Sie auch LuaDist, eine plattformübergreifende Distribution von Lua, die zusätzliche Pakete enthält.

Lua kompilieren

Auf den meisten Unix-ähnlichen Plattformen führen Sie einfach "make" mit einem passenden Ziel aus. Hier sind die Details.

  1. Öffnen Sie ein Terminalfenster und wechseln Sie in das oberste Verzeichnis, das lua-5.3.5 heißt. Die Makefile dort steuert sowohl den Kompilierungs- als auch den Installationsprozess.

  2. Führen Sie "make" aus und prüfen Sie, ob Ihre Plattform aufgelistet ist. Die derzeit unterstützten Plattformen sind:

    aix bsd c89 freebsd generic linux macosx mingw posix solaris

    Wenn Ihre Plattform aufgelistet ist, führen Sie einfach "make xxx" aus, wobei xxx der Name Ihrer Plattform ist.

    Wenn Ihre Plattform nicht aufgelistet ist, versuchen Sie die nächstgelegene oder posix, generic, c89, in dieser Reihenfolge.

  3. Die Kompilierung dauert nur wenige Augenblicke und erzeugt drei Dateien im Verzeichnis src: lua (der Interpreter), luac (der Compiler), und liblua.a (die Bibliothek).

  4. Um zu überprüfen, ob Lua korrekt kompiliert wurde, führen Sie "make test" nach dem Kompilieren von Lua aus. Dies startet den Interpreter und gibt seine Version aus.

Wenn Sie Linux verwenden und Kompilierungsfehler erhalten, stellen Sie sicher, dass Sie das readline-Entwicklungspaket installiert haben (das wahrscheinlich libreadline-dev oder readline-devel heißt). Wenn Sie danach Linkfehler erhalten, versuchen Sie "make linux MYLIBS=-ltermcap".

Lua installieren

Sobald Sie Lua kompiliert haben, möchten Sie es vielleicht an einem offiziellen Ort in Ihrem System installieren. Führen Sie in diesem Fall "make install" aus. Der offizielle Ort und die Art der Installation der Dateien sind in der Makefile definiert. Sie benötigen wahrscheinlich die entsprechenden Berechtigungen, um Dateien zu installieren.

Um Lua in einem Schritt zu kompilieren und zu installieren, führen Sie "make xxx install" aus, wobei xxx der Name Ihrer Plattform ist.

Um Lua lokal zu installieren, führen Sie "make local" aus. Dies erstellt ein Verzeichnis install mit den Unterverzeichnissen bin, include, lib, man, share, und installiert Lua wie unten aufgeführt.

Um Lua lokal, aber in einem anderen Verzeichnis zu installieren, führen Sie "make install INSTALL_TOP=xxx" aus, wobei xxx Ihr gewähltes Verzeichnis ist. Die Installation beginnt in den Verzeichnissen src und doc, seien Sie also vorsichtig, wenn INSTALL_TOP kein absoluter Pfad ist.

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

Dies sind die einzigen Verzeichnisse, die Sie für die Entwicklung benötigen. Wenn Sie nur Lua-Programme ausführen möchten, benötigen Sie nur die Dateien in bin und man. Die Dateien in include und lib werden benötigt, um Lua in C- oder C++-Programme einzubetten.

Anpassung

Drei Arten von Dingen können durch Bearbeiten einer Datei angepasst werden:

  • Wo und wie Lua installiert wird — bearbeiten Sie die Makefile.
  • Wie Lua kompiliert wird — bearbeiten Sie src/Makefile.
  • Lua-Funktionen — bearbeiten Sie src/luaconf.h.

Sie müssen die Makefiles nicht unbedingt bearbeiten, da Sie die relevanten Variablen in der Befehlszeile beim Aufruf von make setzen können. Dennoch ist es wahrscheinlich am besten, die Makefiles zu bearbeiten und zu speichern, um die von Ihnen vorgenommenen Änderungen festzuhalten.

Wenn Sie hingegen einige Lua-Funktionen anpassen müssen, müssen Sie src/luaconf.h vor dem Kompilieren und Installieren von Lua bearbeiten. Die bearbeitete Datei wird installiert, und sie wird von allen Lua-Clients verwendet, die Sie kompilieren, um Konsistenz zu gewährleisten. Experten stehen weitere Anpassungsmöglichkeiten durch Bearbeiten der Lua-Quellen zur Verfügung.

Lua auf anderen Systemen kompilieren

Wenn Sie nicht die üblichen Unix-Werkzeuge verwenden, hängen die Anweisungen zum Kompilieren von Lua von dem von Ihnen verwendeten Compiler ab. Sie müssen Projekte (oder was auch immer Ihr Compiler verwendet) zum Kompilieren der Bibliothek, des Interpreters und des Compilers erstellen, wie folgt:

library:
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
interpreter:
library, lua.c
compiler:
library, luac.c

Um Lua als Bibliothek in Ihren eigenen Programmen zu verwenden, müssen Sie wissen, wie Sie Bibliotheken mit Ihrem Compiler erstellen und verwenden. Darüber hinaus müssen Sie für das dynamische Laden von C-Bibliotheken für Lua wissen, wie Sie dynamische Bibliotheken erstellen, und sicherstellen, dass die Lua-API-Funktionen für diese dynamischen Bibliotheken zugänglich sind — aber verlinken Sie die Lua-Bibliothek nicht in jede dynamische Bibliothek. Für Unix empfehlen wir, die Lua-Bibliothek statisch in das Host-Programm einzubinden und ihre Symbole für die dynamische Verknüpfung zu exportieren; src/Makefile tut dies für den Lua-Interpreter. Für Windows empfehlen wir, dass die Lua-Bibliothek eine DLL ist. In allen Fällen sollte der Compiler luac statisch gelinkt werden.

Wie bereits erwähnt, können Sie src/luaconf.h bearbeiten, um einige Funktionen vor dem Kompilieren von Lua anzupassen.

Änderungen seit Lua 5.2

Hier sind die wichtigsten Änderungen, die in Lua 5.3 eingeführt wurden. Das Referenzhandbuch listet die Inkompatibilitäten auf, die eingeführt werden mussten.

Wichtigste Änderungen

  • Ganzzahlen (standardmäßig 64-Bit)
  • offizielle Unterstützung für 32-Bit-Zahlen
  • bitweise Operatoren
  • grundlegende UTF-8-Unterstützung
  • Funktionen zum Packen und Entpacken von Werten

Hier sind die weiteren Änderungen, die in Lua 5.3 eingeführt wurden:

Sprache

  • userdata kann jeden Lua-Wert als uservalue haben
  • Ganzzahldivision
  • flexiblere Regeln für einige Metamethoden

Bibliotheken

  • ipairs und die table-Bibliothek respektieren Metamethoden
  • strip-Option in string.dump
  • table-Bibliothek respektiert Metamethoden
  • neue Funktion table.move
  • neue Funktion string.pack
  • neue Funktion string.unpack
  • neue Funktion string.packsize

C-API

  • einfachere API für Fortsetzungsfunktionen in C
  • lua_gettable und ähnliche Funktionen geben den Typ des resultierenden Werts zurück
  • strip-Option in lua_dump
  • neue Funktion: lua_geti
  • neue Funktion: lua_seti
  • neue Funktion: lua_isyieldable
  • neue Funktion: lua_numbertointeger
  • neue Funktion: lua_rotate
  • neue Funktion: lua_stringtonumber

Lua-Standalone-Interpreter

  • kann als Taschenrechner verwendet werden; kein vorangestelltes '=' erforderlich
  • arg-Tabelle für gesamten Code verfügbar

Lizenz

[osi certified] Lua ist freie Software, die unter den Bedingungen der MIT-Lizenz (unten wiedergegeben) verteilt wird; sie darf für jeden Zweck, einschließlich kommerzieller Zwecke, absolut kostenlos verwendet werden, ohne dass wir gefragt werden müssen.

Die einzige Voraussetzung ist, dass Sie uns, wenn Sie Lua verwenden, Anerkennung zollen, indem Sie den entsprechenden Copyright-Hinweis irgendwo in Ihrem Produkt oder dessen Dokumentation anbringen.

Einzelheiten finden Sie hier.

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

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Last update: Mon Jun 18 22:57:33 -03 2018

Tool herunterladen