存储型XSS(持久型)
前言:
介绍:
博主:网络安全领域狂热爱好者。
殊荣:华为云博主、CSDN网络安全领域优质创作者(CSDN:黑色地带(崛起)),2022年双十一业务安全保卫战-某厂第一名,某厂特邀数字业务安全研究员,edusrc高白帽,vulfocus、攻防世界等平台排名100+、高校漏洞证书、cnvd原创漏洞证书等。
擅长:对于技术、工具、漏洞原理、黑产打击的研究。
导读:
面向读者:对于网络安全方面的学者。
本文知识点:
(1)【XSS跨站脚本】存储型XSS(持久型)(√)
目录
存储型XSS(持久型)
1.1、简介:
当用户每次访问服务器中带有js脚本代码的URL地址时,服务器将返回给用户这个带有js代码页面,脚本并被浏览器解析执行,即能被持续执行,所以称为“持久型XSS”
一般,利用保存型XSS漏洞的攻击至少需要向应用程序提出两个请求。攻击者在第一个请求中传送一些专门设计的数据, 其中包含恶意代码, 应用程序接受并保存这些数据。在第二个请求中,一名受害者查看某个包含攻击者的数据的页面,这时恶意代码开始执行,这种漏洞有时也叫做二阶跨站点脚本
1.2、原理:
恶意代码存储到服务器的数据库中。将恶意脚本和正常内容写在一起,以后提交到服务器进行存储,如果未检验数据是否存在XSS代码时,恶意脚本便被存入到数据库中。当再次打开此页面,会从数据库中获取该数据,若也未对其进行过滤,页面将执行XSS代码持续攻击用户。
(注:不一定是存储到数据库,只要是能存入到某个地方且能被调用)
1.3、示例:
在支持终端用户交互的应用程序中, 或者在具有管理权限的员工访问同一个应用程序中的用户记录和数据的应用程序中, 保存型XSS漏洞很常见。
如一个拍卖应用程序为例, 它允许买家提出与某件商品有关的问题, 然后由卖家回答。如果一名用户能够提出一个包含嵌人式JavaScript的问题, 而且应用程序并不过滤或净化这个JavaScript, 那么攻击者就可以提出一个专门设计的问题, 在任何查看该问题的用户(包括卖家和潜在的买家)的浏览器中执行任意脚本。在这种情况下, 攻击者就可让不知情的用户去竞标一件他不想要的商品,或让一位卖家接受他提出的低价, 结束竞标
1.4、利用原理:
反射型与保存型XSS攻击在实施步骤上存在两个重要的区别, 这也使得后者往往造成更大的
安全威胁1、在反射型XSS脚本攻击中, 要利用一个漏洞, 攻击者必须以某种方式诱使受害者访问他专门设计的URL,而存储型XSS脚本攻击则没有这种要求,在应用程序中展开攻击后, 攻击者只需要等待受害者浏览已被攻破的页面或功能。通常这个页面是一个正常用户将会主动访问的常规页面
2、如果受害者在遭受攻击时正在使用应用程序,攻击者就更容易实现其利用XSS漏洞的目的。例如,如果用户当前正在进行会话,那么攻击者就可以劫持这个会话。在反射型XSS攻击中, 攻击者可能会说服用户登录, 然后单击他们提供的一个链接, 从而制造这种情况。或者他可能会部署一个永久性的有效载荷并等待用户登录。但在存储型XSS攻击中,攻击者能够保证,受害用户在他实施攻击时已经在访问应用程序。因为攻击有效载荷被保存在用户自主访问的一个应用程序页面中, 所以当有效载荷执行时, 任何攻击受害者都在使用应用程序。如果上述页面位于应用程序通过验证的区域内, 那么那时攻击受害者一定已经登录。
3、反射型与存储型XSS攻击之间的这些区别意味着存储型XSS漏洞往往会给应用程序带来更严重的安全威胁。许多时候, 攻击者可以向应用程序提交一些专门设计的数据, 然后等待受害者访问它们。如果其中一名受害者是管理员, 那么攻击者就能够完全攻破整个应用程序
1.5、利用过程:
第一步:检测是否对输入内容未过滤
发现是这样的,未过滤,所以可能存在XSS存储型漏洞利用
弹窗了,并且在留言地方是看不见内容的
并且每次点到这个页面就会弹窗
- 点赞
- 收藏
- 关注作者
评论(0)