Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
lua_CVE-2020-24370 — Exploit per CVE-2020-24370 che prende di mira l'interprete Lua 5.3, dimostrando una vulnerabilità nel runtime del linguaggio di scripting. | Kitploit
Strumenti/GitHubGitHub/renukaselvar/lua_cve-2020-24370
Utilità GenericheAnalisi delle VulnerabilitàExploitAnalisi di Binari
GitHubrenukaselvar/lua_cve-2020-24370

lua_CVE-2020-24370

Exploit per CVE-2020-24370 che prende di mira l'interprete Lua 5.3, dimostrando una vulnerabilità nel runtime del linguaggio di scripting.

Vedi Repository
1 anno faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
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 Benvenuti in Lua 5.3

informazioni · installazione · modifiche · licenza · manuale di riferimento

Informazioni su Lua

Lua è un linguaggio di scripting potente, veloce, leggero e incorporabile, sviluppato da un team della PUC-Rio, la Pontificia Università Cattolica di Rio de Janeiro in Brasile. Lua è software libero utilizzato in molti prodotti e progetti in tutto il mondo.

Il sito ufficiale di Lua fornisce informazioni complete su Lua, inclusi un sommario esecutivo e una documentazione aggiornata, in particolare il manuale di riferimento, che potrebbe differire leggermente dalla copia locale distribuita in questo pacchetto.

Installazione di Lua

Lua viene distribuito in formato sorgente. È necessario compilarlo prima di utilizzarlo. Compilare Lua dovrebbe essere semplice, perché Lua è implementato in ANSI C puro e si compila senza modifiche su tutte le piattaforme conosciute che dispongono di un compilatore ANSI C. Lua si compila senza modifiche anche come C++. Le istruzioni seguenti per compilare Lua sono per sistemi Unix-like. Vedi anche istruzioni per altri sistemi e opzioni di personalizzazione.

Se non hai il tempo o la voglia di compilare Lua da solo, scarica un binario da LuaBinaries. Prova anche LuaDist, una distribuzione multipiattaforma di Lua che include batterie.

Compilare Lua

Sulla maggior parte delle piattaforme Unix-like, basta eseguire "make" con un target appropriato. Ecco i dettagli.

  1. Apri una finestra di terminale e spostati nella directory principale, che si chiama lua-5.3.5. Il Makefile lì presente controlla sia il processo di compilazione che quello di installazione.

  2. Esegui "make" e verifica se la tua piattaforma è elencata. Le piattaforme attualmente supportate sono:

    aix bsd c89 freebsd generic linux macosx mingw posix solaris

    Se la tua piattaforma è elencata, esegui semplicemente "make xxx", dove xxx è il nome della tua piattaforma.

    Se la tua piattaforma non è elencata, prova la più vicina o posix, generic, c89, in quest'ordine.

  3. La compilazione richiede solo pochi istanti e produce tre file nella directory src: lua (l'interprete), luac (il compilatore), e liblua.a (la libreria).

  4. Per verificare che Lua sia stato compilato correttamente, esegui "make test" dopo la compilazione. Questo avvierà l'interprete e stamperà la sua versione.

Se stai usando Linux e ricevi errori di compilazione, assicurati di aver installato il pacchetto di sviluppo di readline (probabilmente chiamato libreadline-dev o readline-devel). Se dopo ciò ricevi errori di linking, prova con "make linux MYLIBS=-ltermcap".

Installare Lua

Una volta compilato Lua, potresti volerlo installare in una posizione ufficiale del sistema. In tal caso, esegui "make install". La posizione ufficiale e il modo di installare i file sono definiti nel Makefile. Probabilmente avrai bisogno dei permessi appropriati per installare i file.

Per compilare e installare Lua in un unico passaggio, esegui "make xxx install", dove xxx è il nome della tua piattaforma.

Per installare Lua localmente, esegui "make local". Questo creerà una directory install con le sottodirectory bin, include, lib, man, share, e installerà Lua come elencato di seguito.

Per installare Lua localmente, ma in un'altra directory, esegui "make install INSTALL_TOP=xxx", dove xxx è la directory scelta. L'installazione inizia nelle directory src e doc, quindi fai attenzione se INSTALL_TOP non è un percorso assoluto.

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

Queste sono le uniche directory necessarie per lo sviluppo. Se vuoi solo eseguire programmi Lua, ti servono solo i file in bin e man. I file in include e lib sono necessari per incorporare Lua in programmi C o C++.

Personalizzazione

Tre tipi di cose possono essere personalizzate modificando un file:

  • Dove e come installare Lua — modifica Makefile.
  • Come compilare Lua — modifica src/Makefile.
  • Funzionalità di Lua — modifica src/luaconf.h.

Non è necessario modificare i Makefile perché puoi impostare le variabili pertinenti sulla riga di comando quando invochi make. Tuttavia, è probabilmente meglio modificare e salvare i Makefile per registrare le modifiche apportate.

D'altra parte, se devi personalizzare alcune funzionalità di Lua, dovrai modificare src/luaconf.h prima di compilare e installare Lua. Il file modificato sarà quello installato e sarà utilizzato da tutti i client Lua che costruirai, per garantire coerenza. Ulteriori personalizzazioni sono disponibili per esperti modificando i sorgenti di Lua.

Compilare Lua su altri sistemi

Se non stai usando i soliti strumenti Unix, le istruzioni per compilare Lua dipendono dal compilatore utilizzato. Dovrai creare progetti (o qualunque cosa usi il tuo compilatore) per compilare la libreria, l'interprete e il compilatore, come segue:

libreria:
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
interprete:
libreria, lua.c
compilatore:
libreria, luac.c

Per utilizzare Lua come libreria nei tuoi programmi, devi sapere come creare e utilizzare librerie con il tuo compilatore. Inoltre, per caricare dinamicamente librerie C per Lua, devi sapere come creare librerie dinamiche e devi assicurarti che le funzioni dell'API Lua siano accessibili a tali librerie dinamiche — ma non linkare la libreria Lua in ogni libreria dinamica. Per Unix, raccomandiamo che la libreria Lua sia linkata staticamente nel programma host e che i suoi simboli siano esportati per il linking dinamico; src/Makefile fa questo per l'interprete Lua. Per Windows, raccomandiamo che la libreria Lua sia una DLL. In ogni caso, il compilatore luac deve essere linkato staticamente.

Come menzionato sopra, puoi modificare src/luaconf.h per personalizzare alcune funzionalità prima di compilare Lua.

Modifiche rispetto a Lua 5.2

Ecco le principali modifiche introdotte in Lua 5.3. Il manuale di riferimento elenca le incompatibilità che sono state introdotte.

Modifiche principali

  • interi (64 bit per impostazione predefinita)
  • supporto ufficiale per numeri a 32 bit
  • operatori bitwise
  • supporto base per utf-8
  • funzioni per impacchettare e spacchettare valori

Ecco le altre modifiche introdotte in Lua 5.3:

Linguaggio

  • userdata può avere qualsiasi valore Lua come uservalue
  • divisione intera (floor division)
  • regole più flessibili per alcuni metametodi

Librerie

  • ipairs e la libreria table rispettano i metametodi
  • opzione strip in string.dump
  • la libreria table rispetta i metametodi
  • nuova funzione table.move
  • nuova funzione string.pack
  • nuova funzione string.unpack
  • nuova funzione string.packsize

API C

  • API più semplice per funzioni di continuazione in C
  • lua_gettable e funzioni simili restituiscono il tipo del valore risultante
  • opzione strip in lua_dump
  • nuova funzione: lua_geti
  • nuova funzione: lua_seti
  • nuova funzione: lua_isyieldable
  • nuova funzione: lua_numbertointeger
  • nuova funzione: lua_rotate
  • nuova funzione: lua_stringtonumber

Interprete Lua autonomo

  • può essere usato come calcolatrice; non è necessario il prefisso '='
  • la tabella arg disponibile per tutto il codice

Licenza

[certificato OSI] Lua è software libero distribuito secondo i termini della licenza MIT riprodotta di seguito; può essere utilizzato per qualsiasi scopo, inclusi scopi commerciali, a costo zero assoluto senza doverci chiedere nulla.

L'unico requisito è che, se usi Lua, devi riconoscerci includendo un'appropriata nota di copyright da qualche parte nel tuo prodotto o nella sua documentazione.

Per i dettagli, vedi questo.

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

Con la presente è concessa, gratuitamente, a qualsiasi persona che ottenga una copia di questo software e dei relativi file di documentazione (il "Software"), l'autorizzazione a trattare il Software senza restrizioni, inclusi, senza limitazione, i diritti di utilizzo, copia, modifica, fusione, pubblicazione, distribuzione, concessione in sottolicenza e/o vendita di copie del Software, e di consentire alle persone a cui il Software è fornito di fare altrettanto, soggette alle seguenti condizioni:

La suddetta nota sul copyright e questa nota di autorizzazione devono essere incluse in tutte le copie o parti sostanziali del Software.

IL SOFTWARE VIENE FORNITO "COSÌ COM'È", SENZA GARANZIA DI ALCUN TIPO, ESPRESSA O IMPLICITA, INCLUSI MA NON LIMITATI A GARANZIE DI COMMERCIABILITÀ, IDONEITÀ PER UN FINE PARTICOLARE E NON VIOLAZIONE. IN NESSUN CASO GLI AUTORI O I TITOLARI DEL COPYRIGHT SARANNO RESPONSABILI PER QUALSIASI RECLAMO, DANNO O ALTRA RESPONSABILITÀ, SIA IN UN'AZIONE CONTRATTUALE, EXTRACONTRATTUALE O ALTRO, DERIVANTE DA, O IN CONNESSIONE CON IL SOFTWARE O L'USO O ALTRE OPERAZIONI CON IL SOFTWARE.

Ultimo aggiornamento: Mon Jun 18 22:57:33 -03 2018

Scarica lo strumento