検索
ホームページ運用・保守安全性piwigo v2.9.5 の 5 つの SQL インジェクションとは何ですか?

0x0 プロジェクトの紹介

プロジェクト アドレス: https://github.com/Piwigo/Piwigo

プロジェクトの紹介: piwigo は、インターネット ソフトウェア。組織、チーム、個人が写真ライブラリを管理できるように設計されています。

公式 Web サイトのアドレス: piwigo.org

0x1 準備

Linux でダウンロード https://github.com/Piwigo/Piwigo/archive/ 2.9.5.zip を解凍し、権限を与え、ディレクトリに入り、docker を使用してインストールします。

docker run -d --name piwigo_mysql -e MYSQL_DATABASE=piwigo -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
docker run -d -p 3000:80 -v $(pwd)/:/var/www/html/ --link piwigo_mysql:mysql --name piwigo nimmis/apache-php5

起動インターフェイスが表示されます

0x2 Audit

##admin/group_perm.php への選択パラメータと親パラメータの挿入:

選択値は検証なしで move_categories 関数に入力されます

piwigo v2.9.5的5个sql注入分别是怎样的

move_categories 関数をトレースすると、この関数が値を分解し、それを SQL ステートメントに直接接続していることがわかります

piwigo v2.9.5的5个sql注入分别是怎样的

脆弱性はテスト後に発見できます

piwigo v2.9.5的5个sql注入分别是怎样的piwigo v2.9.5的5个sql注入分别是怎样的

admin/group_list.php 内の group_selection パラメータの 2 番目の SQL インジェクション:

図で、group_selection が値は $groups に入れられます。 コードでは、selectAction の値は $action に入れられます。 コード内の

piwigo v2.9.5的5个sql注入分别是怎样的

$action は複数のアクションに対応しますが、複数のアクションでは $group がSQL に直接結合 ステートメント内で、ここでは delete メソッドを見ていきます:

piwigo v2.9.5的5个sql注入分别是怎样的

これが SQL ステートメントに組み込まれていることが非常に直感的にわかります。

piwigo v2.9.5的5个sql注入分别是怎样的

cat_false パラメータが admin/user_perm.php に存在する場所での 3 つの SQL インジェクション:

図でわかるように、

piwigo v2.9.5的5个sql注入分别是怎样的

この関数を追跡し、admin/include/functions.php で関数を見つけます。$cat_false の値は $category に変更されます。配列かどうか、個数を判断して get_uppercat_ids 関数に入れて処理します、

piwigo v2.9.5的5个sql注入分别是怎样的

get_uppercat_ids 関数を追跡し続けます。 $cat_ids. 図を見ると、単純な判断の後に $cat_ids が SQL ステートメントに入れられ、クエリが開始されることがわかります。 ,

piwigo v2.9.5的5个sql注入分别是怎样的

この種の脆弱な関数には多くのジャンプがあります、エコーを確認できる明確な場所がありません。この状況は、時間注入に特に適しています。

1 と if(ascii(substr(database(),1,1))> を使用します;97,1,sleep(5)) 検証では、Web ページを開く際の遅延を検出し、脆弱性が存在することを証明できます。SQLmap を使用して

piwigo v2.9.5的5个sql注入分别是怎样的# のウェーブを実行します

piwigo v2.9.5的5个sql注入分别是怎样的

##admin/group_perm.php の 4 つの SQL 脆弱性:

この脆弱性は、上記の 3 つの admin/user_perm.php 脆弱性と同じです。同じ関数が呼び出されます。唯一の違いは、ユーザーとグループです。理解するには、エントリの図を見てください:

piwigo v2.9.5的5个sql注入分别是怎样的sqlmap run での filter_category パラメータの挿入を見てみましょう。 admin/batch_manager.php:

具体的なコードを見てみましょう:

投稿パッケージに「filter_category_use」キーが存在する場合、「filter_category」の値を xx['category']

に設定します。 piwigo v2.9.5的5个sql注入分别是怎样的

piwigo v2.9.5的5个sql注入分别是怎样的下に進み、xx[' Where category'] が呼び出されている部分を見つけます。値がフィルタリングされずに SQL ステートメントに直接配置されていることがわかります。

このリクエスト リンクは Web ページには見つからないため、投稿パッケージに手動で追加する必要があることに注意してください filter_category_use=on&filter_category=1

piwigo v2.9.5的5个sql注入分别是怎样的

##sqlmap 実行

piwigo v2.9.5的5个sql注入分别是怎样的

piwigo v2.9.5的5个sql注入分别是怎样的

以上がpiwigo v2.9.5 の 5 つの SQL インジェクションとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事は亿速云で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール