0

これを修正するように求められる前に、XSS についてあまり知りませんでしたが、スタック オーバーフローに関するいくつかの質問を読みましたが、問題は解決していないようです。

ホワイトハット セキュリティを使用して Web サイトの脆弱性をチェックしていますが、フォームに XSS の問題があることがわかりました。

パラメータ値 = $1<%wscheck と表示されます

そして説明には次のように書かれています:

本文: first_name=&surname=&email_confirm=&signup_password=whs"onmouseover="prompt()&country=null パスワード入力ボックスにカーソルを合わせて、インジェクションを起動します。

これは、フォームが脆弱かどうかをテストする方法ですが、実際の問題が何であるか、またはそれを修正する方法がわかりません.

フォームの値をエコーするときにhtmlspecialchars()を使用するという回答を読んだので、それを行いました。

echo htmlspecialchars($password, ENT_QUOTES)

入力をサニタイズするときもstrip_tags()を使用するので、それを行いました。

$password = ucwords(mysql_escape_string(trim($_POST['password'])));
$password = strip_tags($password);

しかし、問題はまだ解決していません

誰か私に何ができるか考えていますか?

パスワードフィールドの HTML は次のとおりです。

  echo "<input type = \"password\" name = \"password\" value = \"" . $password . "\" class = \"newsletter_complete_input\" />\n";

ユーザーに電子メールで送信されます。これは、電子メールの本文の一部の HTML です。

$message .= "<a href = \"http://www." . $config_website_short_url . "/confirm.php?c=" .  htmlspecialchars($code, ENT_QUOTES) . md5($code) . "&e=" . htmlspecialchars($code_email, ENT_QUOTES) . "\">http://www." . $config_website_short_url . "/confirm.php?" .  htmlspecialchars($code, ENT_QUOTES) . md5($code) . "&e=" . htmlspecialchars($code_email, ENT_QUOTES) . "</a>";
4

0 に答える 0