0

在被要求解决这个问题之前,我对 XSS 的了解并不多,但我已经阅读了几个关于堆栈溢出的问题,但他们似乎没有解决我的问题。

我正在使用 Whitehat 安全检查我的网站是否存在漏洞,并且它显示了我拥有的表单的 XSS 问题。

它说参数值 = $1<%whscheck

在描述中说:

正文: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