ホームページ  >  記事  >  運用・保守  >  SQLインジェクションにおけるワイドバイトインジェクションとは何ですか?

SQLインジェクションにおけるワイドバイトインジェクションとは何ですか?

王林
王林転載
2023-05-17 15:37:141577ブラウズ

ワイド バイト インジェクション: SQL インジェクションをバイパスする方法です。

1. ワイド バイトの概念:

1. シングルバイト文字セット: すべての文字が使用されます。1 バイトで表され、 ASCII エンコード (0-127) など

#マルチバイト文字セットでは、一部の文字は複数バイトで構成されますが、他の文字は 1 バイトで表されます (一部の文字は 1 バイトで表現できない場合があります)。

3. UTF-8 エンコード: 1 ~ 4 バイトでシンボルを表現できるエンコード方式 (マルチバイトエンコード) であり、シンボルによってバイト長が変わります。

4. 一般的なワイドバイト: GB2312、GBK、GB18030、BIG5、Shift_JIS GB2312 にはワイドバイトインジェクションがなく、ワイドバイトインジェクションのあるコードが収集できます。

5. ワイドバイトインジェクションを使用する場合、mysql の機能が使用されます。GBK エンコードを使用すると、2 文字を 1 つの漢字とみなします。

2.addslashes() 関数

1.addslashes() 関数は、事前定義された文字の前にバックスラッシュが追加された文字列を返します。

2. 事前定義された文字: 一重引用符 (')、二重引用符 (")、バックスラッシュ (\)、NULL

3。例

https:/ / xxxxx?name=hello'

SQLインジェクションにおけるワイドバイトインジェクションとは何ですか?

入力された一重引用符はエスケープされており、エスケープする方法はありません

次に、ページのソース コードとリクエスト ヘッダーを確認したところ、クライアントエンコーディングは gbk

SQLインジェクションにおけるワイドバイトインジェクションとは何ですか?

と入力しようとすると、「hello」と入力すると、引用符が閉じられていないことを示すエラーがコンソールに表示されます。以下は構造体の外側にある js コードで、次の文字をコメント アウトします。

SQLインジェクションにおけるワイドバイトインジェクションとは何ですか?

3. 射撃場での実際の戦闘

##1. まずページを開いてメンテナンス情報を確認し、クリックして id パラメーターがあることを確認します。質問はワイド バイト インジェクションに関するものであるためです

SQLインジェクションにおけるワイドバイトインジェクションとは何ですか?2. ワイド バイト インジェクションの古典的なバイパス方法「�」を直接入力すると、エラー ページ

# が表示されます。 #3. SQLmap の id パラメータを直接変更して定期的に検出するSQLインジェクションにおけるワイドバイトインジェクションとは何ですか?

4. パスワードは MD5 で暗号化されており、復号化後、ログインパスワードを取得できます。ログイン後、KEY を取得します。 SQLインジェクションにおけるワイドバイトインジェクションとは何ですか?

以上がSQLインジェクションにおけるワイドバイトインジェクションとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。