表单存储mysql数据库中的数据 - XSS漏洞

时间:2011-06-28 05:10:45

标签: php javascript security xss

我有一个带有一个textarea字段的表单。该字段设置为接受任何内容,并在提交时将输入存储在数据库中。然后将代码公开为url ex:domain.com/asd。我没有做任何类型的strip_tagshtmlentities或任何类型的xss预防。

我的问题是,这可能造成什么危害。用户是否可以在输入或输出期间执行任何类型的xss以从数据库中获取信息。

3 个答案:

答案 0 :(得分:2)

您可能面临存储xss攻击的严重威胁,存储跨站点脚本:

  

存储的跨站点脚本漏洞发生在恶意用户可以存储某些攻击时,该攻击将在稍后的某个其他未知用户上调用。攻击实际上存储在某种方法中以便稍后执行。

因此,如果恶意代码位于文本区域并存储它。在稍后显示存储在数据库中的数据时,就像您正在执行代码一样。除此之外,每当您在SQL查询中使用textarea中的数据时,还有很多其他方法可以使用数据库。

答案 1 :(得分:2)

XSS不会对您的服务器进行任何攻击,如果没有XSS,这是不可能的。 XSS的作用是使未经授权的用户充当授权用户。如果您的站点上没有用户身份验证,则XSS通常不构成威胁。

答案 2 :(得分:1)

当您接受用户的输入时,您至少应该:

  • 供数据库使用PDO以防止SQL注入。
  • 使用filter来阻止XSS

否则你的代码将会不安全。

我建议您阅读OWASP以了解更多有关许多漏洞的信息。特别是页面OWASP top 10是必读的。