📜  存储跨站脚本和反射跨站脚本的区别(1)

📅  最后修改于: 2023-12-03 15:25:03.926000             🧑  作者: Mango

存储跨站脚本和反射跨站脚本的区别

存储型跨站脚本
定义

存储型跨站脚本攻击是指将恶意代码存储在被攻击的服务器上,该代码被多个用户请求时注入到网页中,在用户访问时执行该恶意代码,并从用户身上窃取敏感信息。

示例

例如,在一个社交网络网站上,攻击者通过评论区向网站注入JavaScript代码。一旦用户点击评论区的链接或页面刷新,该恶意代码就会执行,并通过窃取cookie或其他敏感信息的方式将用户的信息发送到攻击者的服务器上。

防御

防御存储型跨站脚本的关键是对用户输入的内容进行过滤和编码,以确保不会存储和执行任何恶意代码。

  • 对用户输入的数据进行有效的输入验证和过滤。
  • 在输出时对数据进行编码,以避免对网站产生破坏性攻击。
反射型跨站脚本
定义

反射型跨站脚本攻击是指将恶意代码添加到攻击者的url链接中,当用户点击这些链接时,恶意代码就会在用户的浏览器中执行。与存储型跨站脚本不同,反射型跨站脚本攻击不会将恶意代码存储在服务器上。

示例

例如,攻击者可以在搜索框中注入JavaScript代码,并将该代码作为参数添加到URL链接中。当用户点击链接时,恶意代码就会被执行,并从用户身上窃取敏感信息。

防御

防御反射型跨站脚本的关键是对用户输入的内容进行过滤和编码,以确保不会执行任何恶意代码。

  • 对用户输入的数据进行有效的输入验证和过滤。
  • 在输出时对数据进行编码,以避免对网站产生破坏性攻击。
区别
  1. 存储型跨站脚本将恶意代码存储在被攻击的服务器上,而反射型跨站脚本不会将恶意代码存储在服务器上。
  2. 存储型跨站脚本攻击是将恶意代码注入到服务器上,因此可以对多个用户造成影响。而反射型跨站脚本攻击是将恶意代码添加到攻击者的URL链接中,只有点击链接的用户才会受到攻击。
  3. 防御措施上,两者都需要对用户输入的数据进行过滤和编码,以确保不会执行任何恶意代码。

参考资料:OWASP