0x0 プロジェクトの紹介
プロジェクト アドレス: https://github.com/Piwigo/Piwigo
プロジェクトの紹介: piwigo は、インターネット ソフトウェア。組織、チーム、個人が写真ライブラリを管理できるように設計されています。
公式 Web サイトのアドレス: piwigo.org
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
起動インターフェイスが表示されます
##admin/group_perm.php への選択パラメータと親パラメータの挿入:
選択値は検証なしで move_categories 関数に入力されます
admin/group_list.php 内の group_selection パラメータの 2 番目の SQL インジェクション:
図で、group_selection が値は $groups に入れられます。 コードでは、selectAction の値は $action に入れられます。 コード内の
cat_false パラメータが admin/user_perm.php に存在する場所での 3 つの SQL インジェクション:
図でわかるように、1 と if(ascii(substr(database(),1,1))> を使用します;97,1,sleep(5)) 検証では、Web ページを開く際の遅延を検出し、脆弱性が存在することを証明できます。SQLmap を使用して
# のウェーブを実行します
この脆弱性は、上記の 3 つの admin/user_perm.php 脆弱性と同じです。同じ関数が呼び出されます。唯一の違いは、ユーザーとグループです。理解するには、エントリの図を見てください:
sqlmap run での filter_category パラメータの挿入を見てみましょう。 admin/batch_manager.php:
に設定します。
下に進み、xx[' Where category'] が呼び出されている部分を見つけます。値がフィルタリングされずに SQL ステートメントに直接配置されていることがわかります。
このリクエスト リンクは Web ページには見つからないため、投稿パッケージに手動で追加する必要があることに注意してください filter_category_use=on&filter_category=1
以上がpiwigo v2.9.5 の 5 つの SQL インジェクションとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。