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 リードミー 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は、ブラジルのリオデジャネイロにあるポンティフィカル・カトリック大学 PUC-Rio の チームによって開発された、 強力で高速、軽量、組込み可能なスクリプト言語です。 Luaは世界中の多くの製品やプロジェクトで使用されている フリーソフトウェアです。

Luaの 公式ウェブサイトでは、 Luaに関する完全な情報が提供されています。 これには、 概要 や更新された ドキュメント、 特にこのパッケージに含まれる ローカルコピーとは若干異なる可能性のある リファレンスマニュアルが含まれます。

Luaのインストール

Luaは ソース形式で配布されています。 使用する前にビルドする必要があります。 Luaは純粋なANSI Cで実装されており、 ANSI Cコンパイラを持つすべての既知のプラットフォームで そのままコンパイルできるため、Luaのビルドは簡単です。 LuaはC++としてもそのままコンパイルできます。 以下に示すLuaのビルド手順は、Unix系プラットフォーム向けです。 他のシステム向けの手順および カスタマイズオプションも参照してください。

自分でLuaをコンパイルする時間や余裕がない場合は、 LuaBinariesからバイナリを入手してください。 また、バッテリーを含んだマルチプラットフォームのLuaディストリビューションである LuaDistも試してみてください。

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 ディレクトリに3つのファイルが生成されます。 lua(インタプリタ)、luac(コンパイラ)、liblua.a(ライブラリ)です。

  4. Luaが正しくビルドされたことを確認するには、ビルド後に "make test" を実行してください。 これによりインタプリタが起動し、バージョンが表示されます。

Linuxを実行していてコンパイルエラーが発生した場合は、 readline 開発パッケージ(おそらく libreadline-dev または readline-devel という名前)が インストールされていることを確認してください。 その後リンクエラーが発生した場合は、 "make linux MYLIBS=-ltermcap" を試してください。

Luaのインストール

Luaをビルドしたら、システムの公式な場所にインストールすることもできます。 その場合は、"make install" を実行してください。 公式の場所とファイルのインストール方法は Makefile で定義されています。 ファイルをインストールするには適切な権限が必要になるでしょう。

ビルドとインストールを一度に行うには、"make xxx install" を実行してください。 ここで xxx はプラットフォーム名です。

Luaをローカルにインストールするには、"make local" を実行してください。 これにより、サブディレクトリ bin、include、lib、man、share を持つ install ディレクトリが作成され、以下にリストするように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 のファイルは、 C または C++ プログラムに Lua を埋め込む場合に必要です。

カスタマイズ

ファイルを編集することで、次の3種類の項目をカスタマイズできます。

  • Luaのインストール場所と方法 — Makefile を編集します。
  • Luaのビルド方法 — src/Makefile を編集します。
  • Luaの機能 — src/luaconf.h を編集します。

Makefileを実際に編集する必要はありません。makeを呼び出すときにコマンドラインで関連する変数を設定できるからです。 とはいえ、変更内容を記録するためにMakefileを編集して保存するのがおそらく最善です。

一方、Luaの機能をカスタマイズする必要がある場合は、 Luaをビルドしてインストールする前に src/luaconf.h を編集する必要があります。 編集されたファイルがインストールされ、一貫性を保つためにビルドするすべての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をライブラリとして使用するには、コンパイラでライブラリを作成して使用する方法を知っている必要があります。 さらに、Lua用にCライブラリを動的にロードするには、動的ライブラリの作成方法を知っている必要があり、 Lua API関数がそれらの動的ライブラリからアクセス可能であることを確認する必要があります。 ただし、各動的ライブラリにLuaライブラリをリンクしないでください。 Unixでは、Luaライブラリをホストプログラムに静的にリンクし、そのシンボルを動的リンクのためにエクスポートすることをお勧めします。 src/Makefile はLuaインタプリタに対してこれを行います。 Windowsでは、LuaライブラリをDLLにすることをお勧めします。 すべての場合において、コンパイラ luac は静的にリンクする必要があります。

前述のとおり、Luaをビルドする前に src/luaconf.h を編集して一部の機能をカスタマイズできます。

Lua 5.2 からの変更点

以下に、Lua 5.3 で導入された主な変更点を示します。 リファレンスマニュアルには、 導入せざるを得なかった 非互換性がリストされています。

主な変更点

  • 整数(デフォルトで64ビット)
  • 32ビット数の正式サポート
  • ビット演算子
  • 基本的なUTF-8サポート
  • 値のパック/アンパック関数

以下がLua 5.3で導入されたその他の変更点です。

言語

  • ユーザーデータは任意のLua値をuservalueとして持つことができる
  • 床除算
  • 一部のメタメソッドのより柔軟なルール

ライブラリ

  • ipairs とテーブルライブラリがメタメソッドを尊重する
  • string.dump のストリップオプション
  • テーブルライブラリがメタメソッドを尊重する
  • 新しい関数 table.move
  • 新しい関数 string.pack
  • 新しい関数 string.unpack
  • 新しい関数 string.packsize

C API

  • Cでの継続関数のためのよりシンプルなAPI
  • lua_gettable および類似の関数が結果の値の型を返す
  • 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.

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.

最終更新: Mon Jun 18 22:57:33 -03 2018

ツールをダウンロード