ホームページ  >  記事  >  バックエンド開発  >  システムに重大な脆弱性があります。ユーザーが入力したメタデータをフィルタリングするにはどうすればよいですか?

システムに重大な脆弱性があります。ユーザーが入力したメタデータをフィルタリングするにはどうすればよいですか?

WBOY
WBOYオリジナル
2016-06-13 13:37:38960ブラウズ

システムに重大な脆弱性があります。ユーザーが入力したメタデータをフィルタリングする方法
Web サイトを確認したところ:
システムに重大な脆弱性があります。
脆弱性レベル: 高リスク
脅威の種類: クロスサイト スクリプティング
考えられる結果: 悪意のあるユーザーは、JavaScript、VBScript、ActiveX、HTML 言語、さらには Flash を使用してアプリケーションの脆弱性を悪用し、他のユーザー情報を取得する可能性があります。攻撃者は、セッション Cookie を盗み、アカウントにアクセスし、他のユーザーになりすまして、さらには他のユーザーに表示される Web ページのコンテンツを変更する可能性があります。
説明: このページにはクロスサイト スクリプティング攻撃があります。

クロスサイト スクリプティングの脆弱性 (XSS) は、通常 Javascript 言語で説明され、攻撃者が悪意のあるコードを別のユーザーに送信することを可能にします。ブラウザはスクリプトが信頼できるかどうかを識別できないため、クロスサイトの脆弱なスクリプトが実行され、攻撃者が他のユーザーの Cookie またはセッションを取得できるようになります。
提案: ユーザーが入力したメタデータをフィルタリングすることをお勧めします。
これはどういう意味ですか?フィルタリングの方法を知っている先輩はいますか?

-----解決策---------
addslashes は、SQL 攻撃を防ぐために受信データをエスケープします。 。 magic_quotes_gpc がオンの場合、プログラム内で再度エスケープする必要はなく、


htmlspecialchars をデータ出力に使用できます。 。 。例えば、ユーザーのコメントでは、ユーザーが何を投稿したかを判断することはできません。例えば、上記の脆弱性があります

このとき、ページに出力されたデータに対して htmlspecialchars を実行するだけです。
------解決策------------------
使用。 addedlashes($_POST['username'])

型を判断するために $str または $id が必要になる場合があります。
addslashes を使用してから htmlspecialchars を追加しても、適切な判断をしないと侵入されてしまいます。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。