查找并修复XSS问题

时间:2013-10-30 15:40:11

标签: php html validation xss

在被要求解决这个问题之前,我对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>";

0 个答案:

没有答案