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

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

王林
リリース: 2023-05-17 15:37:14
転載
1621 人が閲覧しました

ワイド バイト インジェクション: 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 サイトの他の関連記事を参照してください。

関連ラベル:
sql
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート