XSS 在没有数据库的应用程序中是否危险?

信息安全 应用安全 Web应用程序 xss
2021-09-09 02:28:56

我认为肯定不是,因为没有保存在任何地方的 XSS 只会损害攻击者。

我是对的还是在任何情况下 XSS 可能会伤害非数据库应用程序?(我的意思是数据没有保存在任何地方)

4个回答

非常错误,XSS 的基本形式是反射型 XSS,其中有效载荷是从受害者本人的 URL(例如)中发送的。
这最常用于网络钓鱼攻击,其中攻击者制作恶意链接,并将其通过社会工程攻击邮寄给他的受害者,或将其发布到公共论坛等
。通常 XSS 与数据库无关(除非它是持久的/ 存储的 XSS)。

有关详细信息,请参阅OWASP 上的 XSS。

XSS 可以通过多种方式利用并造成大量破坏,而无需将其存储在数据库中。请记住,XSS 甚至可以存储在cookie中!

但是,如果您只谈论非持久反射型 XSS,它仍然非常危险,但更多的是从社会工程学的角度来看。这是因为您必须实际分发 XSS 有效负载,而不是自行传播。例如,有效载荷的分配方式可以是:

  • 向合适的受害者发送电子邮件
  • 在论坛、论坛、推特上发布 URL。通常在 URL 缩短器的帮助下
  • 在记忆棒上。例如,在您在 USB 记忆棒上免费赠送的程序的自述文件中伪装 XSS。

可以从BEEF 项目中看到一个很好的例子,说明带有或不带有附加数据库的 XSS 的危险。这显示了一旦用户浏览器受到 XSS 问题的影响,可以对它执行的一些操作。

如果您查看此页面上的 youtube 视频,就会有一些很好的例子来说明可以做什么。

我认为如果 XSS 是一个漏洞,那么下一步就是查看代码注入。让我们以 SSI 为例。如果这有效:

<javascript>alert('x');</javascript>

那么这也可能起作用:

<!--#exec cmd="ls /" -->

无论如何,你应该清理你的输入。

更多关于 SSI 注入的信息