ネットワーク セキュリティ上級学習レッスン 13 - SQL インジェクション バイパス ポスチャ


1. 等号はフィルタリングされます

  • 1. Like、rlike ステートメント (rlike は正規表現)
  • 2. より大きい記号 >、より小さい記号 <
  • 3. 記号 <>: <> は != と等しくないことを意味します
  • 4. 正規表現関数を使用する
  • 5、で
  • 6、間

2. substr、midなどがフィルタリングされます

  • 1、substring、substrB

  • 2. locate(str1,str2)
    str1 文字列が str2 内で最初に出現する位置を返します。そうでない場合は 0 を返します。
    ここに画像の説明を挿入します

    • locate(str1,str2, pos)
      は、str1 文字列の pos (開始位置) が str2 に出現する位置を返します。そうでない場合は 0 を返します。2
      番目の出現位置を表示するには、pos は最初の出現位置より大きい必要があります。
      ここに画像の説明を挿入します
  • 3.position(str1 in str2)
    使い方はlocateと似ており、str1の文字列がstr2に出現する位置を返し、それ以外の場合は0を返します。
    ここに画像の説明を挿入します

  • 4. instr( string1, string2 )
    #string1: ソース文字列。この文字列内を検索します。
    #string2: string1 で見つかる文字列。
    ここに画像の説明を挿入します

  • 5. lpad(string , length , pad_string)rpad(string , length , pad_string)
    #string: 塗りつぶされた文字列、length: 返された文字列の長さ、pad_string: 塗りつぶされた文字列はオプションのパラメータです。
    ここに画像の説明を挿入します
    ここに画像の説明を挿入します


3. カンマはフィルタリングされます

  • 1. %EF%BC%8C を使用します
    %EF%BC%8C. これは中国語のカンマです. ほとんどは使用できませんが、一部の機能は使用できます。

  • 2. from xx for xx の使用は、
    通常、mid および substr 関数で使用できます。
    ここに画像の説明を挿入します


4. および/またはフィルタリングされている

  • &&、|| などを使用します

5. スペースはフィルタリングされます

  • 1. コメント文字のバイパス: //, -- , /**/, #, --+, -- -, ;,%00,--a,/*!*/
    ここに画像の説明を挿入します

    • 1.1./*!*/インラインコメントですので、中の数値がデータバージョンより大きい場合は崩れます。ここでの私のバージョンは、図に示すように
      ここに画像の説明を挿入します
      5.7.26 です/ !23232user() / その中の user() が実行されます。しかし、63232に変更するとバージョンより大きくなり実行できなくなります。
      ここに画像の説明を挿入します
      这方法可以用来绕waf
  • 2. 改行をバイパスします。たとえば、%0a を使用します。
    ここに画像の説明を挿入します

  • 3. 論理ブラケットのバイパス
    ここに画像の説明を挿入します


5. その他のバイパス方法

  • 1. User()、dAtaBASE()、SelEct などの大文字と小文字の区別。

  • 2. 1 回のみフィルタリングする場合、selselectect、ununionion、oorr などの二重キーワードはバイパスされます。

  • 3. and/or+space が空に置き換えられた場合、andand+space (oror+space) はバイパスされます。

  • 4. エンコーディング バイパス: URLEncode エンコーディング、ASCII、HEX、Unicode エンコーディング バイパスなど。


おすすめ

転載: blog.csdn.net/p36273/article/details/132141151