2

PHPで書かれたWebアプリケーションがあります。テンプレートエンジンはSMARTYです。私の質問は非常に単純ですが、答えはそれほど簡単ではないはずです。

ポート 80 に telnet で接続し、次のコマンドを実行すると:

GET /some_directory_on_my_server/?""><SCRIPT>alert(123)</SCRIPT>

サーバーは html ページで応答します。この HTML ページを保存してブラウザーで開くと、ページの上部にアラート (123) が表示されます。これは、サイトがクロスサイト スクリプティング (XSS) に対して脆弱であることを意味します。

私の質問は、ユーザーが入力した実際の URLにアクセスしてサニタイズするにはどうすればよいですか? フォームまたはデータベース クエリのユーザー入力のサニタイズに関しては、実際には操作する変数が手元にあるため、シナリオははるかに簡単に見えますが、ユーザーがブラウザーに入力した実際の URLの場合、どうすればよいでしょうかURL自体を取得してサニタイズしますか?

参考までに、XSS 防止用のライブラリ関数を提供するすべてのモジュールを既に読みましたが、実際の URL XSS 攻撃に対処する方法の例はありません。ちなみに、magic_quote_gpc私のphp設定はすでにオフになっています。私は今どうすればいい?何かご意見は?

4

0 に答える 0