Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
lua_CVE-2020-24370 — Exploit para CVE-2020-24370 direcionado ao interpretador Lua 5.3, demonstrando uma vulnerabilidade no tempo de execução da linguagem de script. | Kitploit
Ferramentas/GitHubGitHub/renukaselvar/lua_cve-2020-24370
Utilitários de Propósito GeralAnálise de VulnerabilidadesExploraçãoAnálise de Binários
GitHubrenukaselvar/lua_cve-2020-24370

lua_CVE-2020-24370

Exploit para CVE-2020-24370 direcionado ao interpretador Lua 5.3, demonstrando uma vulnerabilidade no tempo de execução da linguagem de script.

Ver Repositório

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
há 1 anoAinda não revisado
Leia-me do Lua 5.3 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 Bem-vindo ao Lua 5.3

sobre · instalação · mudanças · licença · manual de referência

Sobre o Lua

Lua é uma linguagem de script poderosa, rápida, leve e embutível, desenvolvida por uma equipe da PUC-Rio, a Pontifícia Universidade Católica do Rio de Janeiro no Brasil. Lua é um software livre usado em muitos produtos e projetos ao redor do mundo.

O site oficial do Lua fornece informações completas sobre Lua, incluindo um resumo executivo e documentação atualizada, especialmente o manual de referência, que pode diferir ligeiramente da cópia local distribuída neste pacote.

Instalando o Lua

Lua é distribuído em formato fonte. Você precisa compilá-lo antes de usá-lo. Compilar o Lua deve ser simples, pois Lua é implementado em ANSI C puro e compila sem modificações em todas as plataformas conhecidas que possuam um compilador ANSI C. Lua também compila sem modificações como C++. As instruções abaixo para compilar o Lua são para sistemas do tipo Unix. Veja também instruções para outros sistemas e opções de personalização.

Se você não tem tempo ou disposição para compilar o Lua você mesmo, obtenha um binário em LuaBinaries. Experimente também LuaDist, uma distribuição multi-plataforma do Lua que inclui baterias.

Compilando o Lua

Na maioria das plataformas do tipo Unix, simplesmente faça "make" com um alvo adequado. Aqui estão os detalhes.

  1. Abra uma janela de terminal e vá para o diretório de nível superior, chamado lua-5.3.5. O Makefile ali controla tanto o processo de compilação quanto o de instalação.

  2. Execute "make" e veja se sua plataforma está listada. As plataformas atualmente suportadas são:

    aix bsd c89 freebsd generic linux macosx mingw posix solaris

    Se sua plataforma estiver listada, apenas execute "make xxx", onde xxx é o nome da sua plataforma.

    Se sua plataforma não estiver listada, tente a mais próxima ou posix, generic, c89, nesta ordem.

  3. A compilação leva apenas alguns momentos e produz três arquivos no diretório src: lua (o interpretador), luac (o compilador), e liblua.a (a biblioteca).

  4. Para verificar se o Lua foi compilado corretamente, execute "make test" após compilar o Lua. Isso executará o interpretador e imprimirá sua versão.

Se você estiver usando Linux e tiver erros de compilação, certifique-se de ter instalado o pacote de desenvolvimento readline (que provavelmente se chama libreadline-dev ou readline-devel). Se depois disso você tiver erros de link, então tente "make linux MYLIBS=-ltermcap".

Instalando o Lua

Depois de compilar o Lua, você pode querer instalá-lo em um local oficial no seu sistema. Nesse caso, execute "make install". O local oficial e a maneira de instalar os arquivos são definidos no Makefile. Você provavelmente precisará das permissões corretas para instalar os arquivos.

Para compilar e instalar o Lua em uma única etapa, execute "make xxx install", onde xxx é o nome da sua plataforma.

Para instalar o Lua localmente, execute "make local". Isso criará um diretório install com subdiretórios bin, include, lib, man, share, e instalará o Lua conforme listado abaixo.

Para instalar o Lua localmente, mas em outro diretório, execute "make install INSTALL_TOP=xxx", onde xxx é o diretório de sua escolha. A instalação começa nos diretórios src e doc, então tome cuidado se INSTALL_TOP não for um caminho absoluto.

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

Estes são os únicos diretórios necessários para desenvolvimento. Se você quiser apenas executar programas Lua, você só precisa dos arquivos em bin e man. Os arquivos em include e lib são necessários para embutir Lua em programas C ou C++.

Personalização

Três tipos de coisas podem ser personalizadas editando um arquivo:

  • Onde e como instalar o Lua — edite Makefile.
  • Como compilar o Lua — edite src/Makefile.
  • Funcionalidades Lua — edite src/luaconf.h.

Você não precisa necessariamente editar os Makefiles, pois você pode definir as variáveis relevantes na linha de comando ao invocar make. No entanto, provavelmente é melhor editar e salvar os Makefiles para registrar as alterações que você fez.

Por outro lado, se você precisar personalizar algumas funcionalidades do Lua, será necessário editar src/luaconf.h antes de compilar e instalar o Lua. O arquivo editado será o instalado, e será usado por qualquer cliente Lua que você compilar, para garantir consistência. Personalizações adicionais estão disponíveis para especialistas editando os fontes do Lua.

Compilando Lua em outros sistemas

Se você não está usando as ferramentas Unix comuns, então as instruções para compilar Lua dependem do compilador que você usa. Você precisará criar projetos (ou o que seu compilador usar) para compilar a biblioteca, o interpretador e o compilador, da seguinte forma:

biblioteca:
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
interpretador:
biblioteca, lua.c
compilador:
biblioteca, luac.c

Para usar Lua como biblioteca em seus próprios programas, você precisará saber como criar e usar bibliotecas com seu compilador. Além disso, para carregar dinamicamente bibliotecas C para Lua, você precisará saber como criar bibliotecas dinâmicas e precisará garantir que as funções da API Lua sejam acessíveis a essas bibliotecas dinâmicas — mas não vincule a biblioteca Lua a cada biblioteca dinâmica. Para Unix, recomendamos que a biblioteca Lua seja vinculada estaticamente ao programa hospedeiro e que seus símbolos sejam exportados para vinculação dinâmica; src/Makefile faz isso para o interpretador Lua. Para Windows, recomendamos que a biblioteca Lua seja uma DLL. Em todos os casos, o compilador luac deve ser vinculado estaticamente.

Conforme mencionado acima, você pode editar src/luaconf.h para personalizar algumas funcionalidades antes de compilar Lua.

Mudanças desde o Lua 5.2

Aqui estão as principais mudanças introduzidas no Lua 5.3. O manual de referência lista as incompatibilidades que tiveram que ser introduzidas.

Principais mudanças

  • inteiros (64 bits por padrão)
  • suporte oficial para números de 32 bits
  • operadores bit a bit
  • suporte básico para utf-8
  • funções para empacotar e desempacotar valores

Aqui estão as outras mudanças introduzidas no Lua 5.3:

Linguagem

  • userdata pode ter qualquer valor Lua como uservalue
  • divisão por piso (floor division)
  • regras mais flexíveis para alguns metamétodos

Bibliotecas

  • ipairs e a biblioteca table respeitam metamétodos
  • opção strip em string.dump
  • biblioteca table respeita metamétodos
  • nova função table.move
  • nova função string.pack
  • nova função string.unpack
  • nova função string.packsize

API C

  • API mais simples para funções de continuação em C
  • lua_gettable e funções similares retornam o tipo do valor resultante
  • opção strip em lua_dump
  • nova função: lua_geti
  • nova função: lua_seti
  • nova função: lua_isyieldable
  • nova função: lua_numbertointeger
  • nova função: lua_rotate
  • nova função: lua_stringtonumber

Interpretador Lua autônomo

  • pode ser usado como calculadora; não é necessário prefixar com '='
  • tabela arg disponível para todo código

Licença

[certificado OSI] Lua é um software livre distribuído sob os termos da licença MIT reproduzida abaixo; ele pode ser usado para qualquer propósito, incluindo propósitos comerciais, sem custo algum, sem necessidade de nos perguntar.

O único requisito é que, se você usar Lua, você nos dê crédito incluindo o aviso de copyright apropriado em algum lugar do seu produto ou sua documentação.

Para detalhes, veja isto.

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

A permissão é concedida, gratuitamente, a qualquer pessoa que obtenha uma cópia deste software e dos arquivos de documentação associados (o "Software"), para lidar com o Software sem restrições, incluindo, sem limitação, os direitos de usar, copiar, modificar, fundir, publicar, distribuir, sublicenciar e/ou vender cópias do Software, e permitir que as pessoas a quem o Software é fornecido o façam, sujeitas às seguintes condições:

O aviso de copyright acima e este aviso de permissão devem ser incluídos em todas as cópias ou partes substanciais do Software.

O SOFTWARE É FORNECIDO "NO ESTADO EM QUE SE ENCONTRA", SEM QUALQUER TIPO DE GARANTIA, EXPRESSA OU IMPLÍCITA, INCLUINDO, MAS NÃO SE LIMITANDO ÀS GARANTIAS DE COMERCIALIZAÇÃO, ADEQUAÇÃO A UM PROPÓSITO ESPECÍFICO E NÃO VIOLAÇÃO. EM NENHUM CASO OS AUTORES OU DETENTORES DE DIREITOS AUTORAIS SERÃO RESPONSÁVEIS POR QUALQUER REIVINDICAÇÃO, DANOS OU OUTRA RESPONSABILIDADE, SEJA EM UMA AÇÃO CONTRATUAL, ILÍCITA OU DE OUTRA FORMA, DECORRENTE DE, OU EM CONEXÃO COM O SOFTWARE OU O USO OU OUTRAS NEGOCIAÇÕES NO SOFTWARE.

Última atualização: Mon Jun 18 22:57:33 -03 2018

Baixar ferramenta