Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
lua_CVE-2020-24370 — Exploit pour CVE-2020-24370 ciblant l'interpréteur Lua 5.3, démontrant une vulnérabilité dans le runtime du langage de script. | Kitploit
Outils/GitHubGitHub/renukaselvar/lua_cve-2020-24370
Utilitaires GénérauxAnalyse des VulnérabilitésExploitationAnalyse de Binaires
GitHubrenukaselvar/lua_cve-2020-24370

lua_CVE-2020-24370

Exploit pour CVE-2020-24370 ciblant l'interpréteur Lua 5.3, démontrant une vulnérabilité dans le runtime du langage de script.

Voir le dépôt
il y a 1 anPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
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 Bienvenue dans Lua 5.3

à propos · installation · changements · licence · manuel de référence

À propos de Lua

Lua est un langage de script puissant, rapide, léger et embarquable développé par une équipe de PUC-Rio, l'Université catholique pontificale de Rio de Janeiro au Brésil. Lua est un logiciel libre utilisé dans de nombreux produits et projets dans le monde entier.

Le site web officiel de Lua fournit des informations complètes sur Lua, y compris un résumé exécutif et une documentation mise à jour, notamment le manuel de référence, qui peut différer légèrement de la copie locale distribuée dans ce paquet.

Installer Lua

Lua est distribué sous forme source. Vous devez le compiler avant de l'utiliser. Compiler Lua devrait être simple car Lua est implémenté en ANSI C pur et se compile sans modification sur toutes les plateformes connues disposant d'un compilateur ANSI C. Lua se compile également sans modification en C++. Les instructions ci-dessous pour compiler Lua concernent les systèmes de type Unix. Voir aussi instructions pour d'autres systèmes et les options de personnalisation.

Si vous n'avez pas le temps ou l'envie de compiler Lua vous-même, obtenez un binaire depuis LuaBinaries. Essayez aussi LuaDist, une distribution multi-plateforme de Lua qui inclut des batteries.

Compiler Lua

Sur la plupart des plateformes de type Unix, faites simplement "make" avec une cible appropriée. Voici les détails.

  1. Ouvrez une fenêtre de terminal et déplacez-vous vers le répertoire de premier niveau, nommé lua-5.3.5. Le Makefile qui s'y trouve contrôle à la fois le processus de compilation et d'installation.

  2. Faites "make" et vérifiez si votre plateforme est listée. Les plateformes actuellement supportées sont :

    aix bsd c89 freebsd generic linux macosx mingw posix solaris

    Si votre plateforme est listée, faites simplement "make xxx", où xxx est le nom de votre plateforme.

    Si votre plateforme n'est pas listée, essayez la plus proche ou posix, generic, c89, dans cet ordre.

  3. La compilation ne prend que quelques instants et produit trois fichiers dans le répertoire src : lua (l'interpréteur), luac (le compilateur), et liblua.a (la bibliothèque).

  4. Pour vérifier que Lua a été compilé correctement, faites "make test" après avoir compilé Lua. Cela exécutera l'interpréteur et affichera sa version.

Si vous utilisez Linux et obtenez des erreurs de compilation, assurez-vous d'avoir installé le paquet de développement readline (qui est probablement nommé libreadline-dev ou readline-devel). Si vous obtenez ensuite des erreurs de liaison, essayez "make linux MYLIBS=-ltermcap".

Installer Lua

Une fois que vous avez compilé Lua, vous voudrez peut-être l'installer à un emplacement officiel de votre système. Dans ce cas, faites "make install". L'emplacement officiel et la façon d'installer les fichiers sont définis dans le Makefile. Vous aurez probablement besoin des droits appropriés pour installer les fichiers.

Pour compiler et installer Lua en une seule étape, faites "make xxx install", où xxx est le nom de votre plateforme.

Pour installer Lua localement, faites "make local". Cela créera un répertoire install avec les sous-répertoires bin, include, lib, man, share, et installera Lua comme indiqué ci-dessous.

Pour installer Lua localement, mais dans un autre répertoire, faites "make install INSTALL_TOP=xxx", où xxx est le répertoire de votre choix. L'installation commence dans les répertoires src et doc, alors faites attention si INSTALL_TOP n'est pas un chemin absolu.

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

Ce sont les seuls répertoires dont vous avez besoin pour le développement. Si vous voulez seulement exécuter des programmes Lua, vous n'avez besoin que des fichiers dans bin et man. Les fichiers dans include et lib sont nécessaires pour embarquer Lua dans des programmes C ou C++.

Personnalisation

Trois types de choses peuvent être personnalisés en éditant un fichier :

  • Où et comment installer Lua — éditez Makefile.
  • Comment compiler Lua — éditez src/Makefile.
  • Les fonctionnalités de Lua — éditez src/luaconf.h.

Vous n'avez pas réellement besoin d'éditer les Makefiles car vous pouvez définir les variables pertinentes en ligne de commande lors de l'appel de make. Néanmoins, il est probablement préférable d'éditer et de sauvegarder les Makefiles pour enregistrer les modifications que vous avez apportées.

D'autre part, si vous devez personnaliser certaines fonctionnalités de Lua, vous devrez éditer src/luaconf.h avant de compiler et installer Lua. Le fichier édité sera celui installé, et il sera utilisé par tous les clients Lua que vous compilez, pour assurer la cohérence. Une personnalisation supplémentaire est disponible pour les experts en éditant les sources de Lua.

Compiler Lua sur d'autres systèmes

Si vous n'utilisez pas les outils Unix habituels, alors les instructions pour compiler Lua dépendent du compilateur que vous utilisez. Vous devrez créer des projets (ou ce que votre compilateur utilise) pour compiler la bibliothèque, l'interpréteur et le compilateur, comme suit :

bibliothèque :
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
interpréteur :
bibliothèque, lua.c
compilateur :
bibliothèque, luac.c

Pour utiliser Lua comme bibliothèque dans vos propres programmes, vous devrez savoir comment créer et utiliser des bibliothèques avec votre compilateur. De plus, pour charger dynamiquement des bibliothèques C pour Lua, vous devrez savoir comment créer des bibliothèques dynamiques et vous devrez vous assurer que les fonctions de l'API Lua sont accessibles à ces bibliothèques dynamiques — mais ne liez pas la bibliothèque Lua dans chaque bibliothèque dynamique. Pour Unix, nous recommandons que la bibliothèque Lua soit liée statiquement au programme hôte et que ses symboles soient exportés pour la liaison dynamique ; src/Makefile fait cela pour l'interpréteur Lua. Pour Windows, nous recommandons que la bibliothèque Lua soit une DLL. Dans tous les cas, le compilateur luac doit être lié statiquement.

Comme mentionné ci-dessus, vous pouvez éditer src/luaconf.h pour personnaliser certaines fonctionnalités avant de compiler Lua.

Changements depuis Lua 5.2

Voici les principaux changements introduits dans Lua 5.3. Le manuel de référence liste les incompatibilités qui ont dû être introduites.

Principaux changements

  • entiers (64 bits par défaut)
  • support officiel des nombres 32 bits
  • opérateurs bit à bit
  • support de base UTF-8
  • fonctions pour empaqueter et dépaqueter des valeurs

Voici les autres changements introduits dans Lua 5.3 :

Langage

  • les userdata peuvent avoir n'importe quelle valeur Lua comme uservalue
  • division entière (floor)
  • règles plus flexibles pour certaines métaméthodes

Bibliothèques

  • ipairs et la bibliothèque table respectent les métaméthodes
  • option strip dans string.dump
  • la bibliothèque table respecte les métaméthodes
  • nouvelle fonction table.move
  • nouvelle fonction string.pack
  • nouvelle fonction string.unpack
  • nouvelle fonction string.packsize

API C

  • API plus simple pour les fonctions de continuation en C
  • lua_gettable et fonctions similaires retournent le type de la valeur résultante
  • option strip dans lua_dump
  • nouvelle fonction : lua_geti
  • nouvelle fonction : lua_seti
  • nouvelle fonction : lua_isyieldable
  • nouvelle fonction : lua_numbertointeger
  • nouvelle fonction : lua_rotate
  • nouvelle fonction : lua_stringtonumber

Interpréteur Lua autonome

  • peut être utilisé comme calculatrice ; pas besoin de préfixer avec '='
  • la table arg est disponible pour tout le code

Licence

[osi certified] Lua est un logiciel libre distribué sous les termes de la licence MIT reproduite ci-dessous ; il peut être utilisé à n'importe quelle fin, y compris commerciale, sans aucun coût et sans avoir à nous demander.

La seule exigence est que si vous utilisez Lua, vous devez nous créditer en incluant l'avis de copyright approprié quelque part dans votre produit ou sa documentation.

Pour plus de détails, voir ceci.

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.

Dernière mise à jour : Mon Jun 18 22:57:33 -03 2018

Télécharger l’outil