Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
explo — 人間と機械が読み取り可能なWeb脆弱性テスト形式 | Kitploit
ツール/GitHubGitHub/telekom-security/explo
脆弱性分析スクリプトと自動化ウェブアプリケーション悪用ウェブセキュリティペネトレーションテストArchived
GitHubtelekom-security/explo

explo

人間と機械が読み取り可能なWeb脆弱性テスト形式

リポジトリを見る
195493年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

explo

screenshot

exploは、人間と機械の両方が読み取り可能な形式でWebセキュリティ問題を記述するためのシンプルなツールです。 リクエスト/条件ワークフローを定義することで、exploはスクリプトを書くことなくセキュリティ問題を悪用できます。これにより、複雑な脆弱性をシンプルで読み取り可能かつ実行可能な形式で共有できます。

CSRFトークンを抽出し、フォームで使用する例:

root@kitploit:~
name: get_csrf
description: extract csrf token
module: http
parameter:
    url: http://example.com/contact
    method: GET
    header:
        user-agent: Mozilla/5.0
    extract:
        csrf: [CSS, "#csrf"]
---
name: exploit
description: exploits sql injection vulnerability with valid csrf token
module: http
parameter:
    url: http://example.com/contact
    method: POST
    body:
        csrf: "{{get_csrf.extracted.csrf}}"
        username: "' SQL INJECTION"
    find: You have an error in your SQL syntax

目次

  • インストール
  • 使用方法
  • モジュール
    • HTTP (基本)
    • HTTP (ヘッダー)
    • SQLI (ブラインド)
    • メタデータ

この定義ファイルの例では、セキュリティ問題は上から下に実行される2つのステップを実行してテストされます。最後のステップは、文字列「You have an error in your SQL syntax」が見つかるかどうかに応じて成功または失敗を返します。

インストール

PyPIからインストール

root@kitploit:~
pip install explo

ソースからインストール

root@kitploit:~
git clone https://github.com/dtag-dev-sec/explo
cd explo
python setup.py install

使用方法

root@kitploit:~
explo [--verbose|-v] testcase.yaml
explo [--verbose|-v] examples/*.yaml

examples/フォルダにはいくつかのテストケース例があります。

root@kitploit:~
$ explo examples/SQLI_simple_testphp.vulnweb.com.yaml

exploをPythonライブラリとして組み込むこともできます:

root@kitploit:~
from explo.core import from_content as explo_from_content
from explo.core import ExploException, ProxyException

def save_log(msg):
    print(msg)

try:
    result = explo_from_content(explo_yaml_file, save_log)
except ExploException as err:
    print(err)

オプション

HTTP/HTTPSプロキシとリクエストのタイムアウトは環境変数で設定できます。デフォルトのタイムアウトは15秒です。

root@kitploit:~
$ export http_proxy=http://proxy:8089
$ export https_proxy=https://proxy:8090
$ export timeout=10
$ explo ...

モジュール

モジュールを追加して、機能やセキュリティ問題のクラスを拡張できます。

http (基本)

httpモジュールは、HTTPリクエストを行い、コンテンツを抽出し、検索/検証することを可能にします。

以下のデータが後続のステップで利用可能になります:

  • HTTPレスポンスボディ: stepname.response.content
  • HTTPレスポンスクッキー: stepname.response.cookies
  • 抽出されたコンテンツ: response.extracted.variable_name

find_regexパラメータが設定されている場合、レスポンスボディに対して正規表現マッチが実行されます。これに失敗すると、このモジュールは失敗を返し、現在のワークフロー(およびすべてのステップ)の実行を停止します。

正規表現で抽出する場合は、マッチグループextractを使用して抽出する値をマークします(以下の例を参照)。

クッキーを参照するには、クッキーを取得する前のステップの名前を参照します(cookies: the_other_step.response.cookies)。

パラメータ例:

root@kitploit:~
parameter:
    url: http://example.com
    method: GET
    allow_redirects: True
    headers:
        User-Agent: explo
        Content-Type: abc
    cookies: stepname.response.cookies
    body:
        key: value
    find: search for string
    find_regex: search for (reg|ular)expression
    find_in_headers: searchstring in headers
    expect_response_code: 200
    extract:
        variable1: [CSS, '#csrf']
        variable2: [REGEX, '<input(.*?)value="(?P<extract>.*?)"']

http_header

http_headerモジュールは、レスポンスが指定されたヘッダー(および値)のセットを欠いているかどうかをチェックします。その他のパラメータはhttpモジュールと同一です。

以下のデータが他のモジュールで利用可能になります:

  • HTTPレスポンスボディ: stepname.response.content
  • HTTPレスポンスクッキー: stepname.response.cookies

パラメータ例:

root@kitploit:~
parameter:
    url: http://example.com
    method: GET
    allow_redirects: True
    headers:
        User-Agent: explo
        Content-Type: abc
    body:
        key: value
    headers_required:
        X-XSS-Protection: 1
        Server: .               # all values are valid

sqli_blind

sqli_blindモジュールは、時間ベースのブラインドSQLインジェクションを識別できます。

以下のデータが他のモジュールで利用可能になります:

  • HTTPレスポンスボディ: stepname.response.content
  • HTTPレスポンスクッキー: stepname.response.cookies

パラメータ例:

root@kitploit:~
parameter:
    url: http://example.com/vulnerable.php?id=1' waitfor delay '00:00:5'--
    method: GET
    delay_seconds: 5

5秒(delay_seconds)のしきい値を超えると、チェックはtrueを返し(したがって成功となります)。

metadata

メタデータブロックは、.yamlファイルの最初のブロックとして追加できる特別なブロックで、脆弱性にメタデータを追加して後処理に使用します。これは、exploがライブラリとして使用され、各脆弱性の説明のメタデータをmeta_from_content(content)で読み取ることができる場合に便利です。このモジュールには名前や説明は必要ありません。

例:

root@kitploit:~
module: metadata
parameter:
    cvss: 8.9
    author: Robin Verton
---
name: login
description: login with test credentials
module: http
parameter:
    url: http://testphp.vulnweb.com/userinfo.php
    method: POST
    body:
        uname: test
        pass: test
ツールをダウンロード