ホームページ >バックエンド開発 >PHPチュートリアル >PHP_PHP チュートリアルでインジェクションを決定する 10 の方法の紹介

PHP_PHP チュートリアルでインジェクションを決定する 10 の方法の紹介

WBOY
WBOYオリジナル
2016-07-13 17:42:25963ブラウズ

1. インジェクションがあるかどうかを判断し、1=1; と 1=2

2. バージョンと ord(mid(version(),1,1))>51 /* 通常に戻して指示します。バージョン 4.0 以降である場合は、union を使用してクエリを実行できます

3. order by を使用してフィールドを分割し、URL の後に order by 10 /* を追加します。戻り値が正常であれば、フィールドは 10 より大きいです。 4. 次に、union を使用して正確なフィールドをクエリします。たとえば、1=2 Union select 1,2,3,..../* が正常に返され、フィールドの正確な数が推測されたことを示します。スペースがフィルタリングされる場合は、代わりに /**/ を使用できます。

5. データベース接続アカウントに書き込み権限があるかどうかを確認し、(select count(*) from mysql.user)>0 /*結果がエラーを返した場合は、管理者アカウントとパスワードを推測することしかできません。

6. 正常に返された場合は、1,2,3,4,5,6,load_file(char(カンマ区切りのファイルパスのASCII値)),8,9,10 /*を選択できます。 :load_file
(char (カンマで区切られたファイル パスの ASCII 値)) を 16 進数で使用することもできます。この方法で、設定ファイルを読み取ったり、データベース接続を検索したりすることができます。

7. まず、次のようにユーザー テーブルを推測します。 and 1=2 Union select 1,2,3,4,5,6.... from user /* 戻り値が正常であれば、このテーブルが存在することを意味します。

8. テーブルを理解した上でフィールドを推測し、1=2 Union select 1,username,3,4,5,6.... from user/*2 フィールドにフィールドの内容が表示されている場合、いくつかのフィールド。

9. 同様に、パスワードフィールドを再度推測します。推測が成功した場合は、バックエンドにログインします。

10. バックエンドにログインし、シェルをアップロードします

http://www.bkjia.com/PHPjc/486055.html

tru​​ehttp://www.bkjia.com/PHPjc/486055.html技術記事 1. インジェクションがあるかどうかを判断し、1=1; および 1=2 を決定します。 2. バージョンと ord(mid(version(),1,1))51 /* バージョン 4.0 であることを示します。以上の場合は、union Query 3 を使用できます。フィールドによる順序を使用します...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。