【问题标题】:Hp fortify issue- showing cross site scripting poor validation in PHPHP fortify 问题 - 显示 PHP 中的跨站点脚本验证不佳
【发布时间】:2016-08-28 06:17:25
【问题描述】:

我正在使用 rawurlencode 方法以 json 格式向客户端发送数据。它在 hpfortify 的 rawurlencode 方法中显示跨站点脚本验证不佳。如何消除此问题。非常感谢任何建议。

我的代码是 -

 $json_encoded = rawurlencode($json);
$json_encoded = (preg_match("/[%\da-zA-Z-_]+/",htmlspecialchars($json_encoded,ENT_QUOTES, 'UTF-8')) ? $json_encoded : 0);
 echo $json_encoded;

echo $json_encoded 出现错误(xss 验证不佳)。

【问题讨论】:

  • 我已经使用 htmlspecailchars()regular expression 进行更多验证,但攻击的东西仍然存在。

标签: javascript php xss sql-injection fortify


【解决方案1】:

如果您使用任何非标准验证功能,它总是会报告此问题,您需要为此功能编写自定义规则集(数据流)以从未来的扫描报告中删除,好在,它将消除具有此函数调用的所有问题。

URLencoding 不是 XSS 问题的正确解决方案,因此无论如何它都正确指出。 (虽然你在 Json 响应中发送这个,所以 xss 漏洞实际上是不可能的)

我不确定 htmlspecialchars 函数在做什么,请参考OWASP cheat sheet以确保您使用正确的验证方式。

【讨论】:

  • 您所说的自定义规则集.. 我是否必须为 HP fortify 或简单的函数编写它来验证我的数据。
  • 您必须为 Fortify 编写它,有关编写自定义规则集以及如何在扫描期间使用自定义规则集,请参阅 HP fortify 文档。
猜你喜欢
  • 2013-01-30
  • 2019-10-13
  • 2016-05-23
  • 2015-08-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-15
  • 1970-01-01
相关资源
最近更新 更多