1.ツール
1.実験プラットフォーム:http : //123.206.87.240 : 8002 / chengjidan/
2.ツールキット:Burp Suiteおよびsqlmap:リンク:https
://pan.baidu.com/s/1qC6FxXwXtt4ReZF3QyGNYg抽出コード:yjew
2.分析
1.入力後、それはクエリインターフェイスです。風の種類が1、2、3の場合、さまざまな人の筆記録が表示されます。
2.まず、SQLインジェクションについて考えましたが、クエリボックスで「and 1 = 1」ページに入力するのは間違っているため、デジタルインジェクションではありません。
3.文字注入を試してください:
入力ボックスに「1 'and 1 = 1#」と入力すると表示は正常になり、「1」と1 = 2#」を入力するとエラーが発生するため、これは文字SQLインジェクションである必要があります。(文字の脆弱性と数字の脆弱性を理解していない人は、https://blog.csdn.net/weixin_43919144/article/details/105552701から学ぶことができます)
3、SQLインジェクション
方法1:直接注入
1.現在のクエリをテストして複数のフィールドを表示し、結合クエリを使用して表示可能なフィールドを見つけます。
2.現在のデータベース名をクエリします。
3.データベース内のテーブル名を取得します。id = -1 'union select 1,2,3、group_concat(table_name)from information_schema.tables where table_schema = database()#
4.テーブルのフィールドを取得します。
5.最後のステップは、フィールド名に基づいてフラグを取得することです。id = -1 'union select 1,2,3、skctf_flag from fl4g、sc#
方法2:sqlmapツールを使用する
1. BPパケットキャプチャを実行し、txtファイルとして保存します
2. sqlmapを使用してデータベースをクエリします:-r:ファイルタイプ、-pパラメータを指定、-dbs query database
続行するかどうか、はいを選択し、データベース名のクエリを続行します。
3.データベーステーブル名をクエリします。
4.テーブルのフィールドを取得します。
5.フィールドの値を取得します。
旗を手に入れた!!