3-3存储形XSS漏洞演示

本文深入剖析了存储型XSS和DOM型XSS的原理,通过实例展示了这两种漏洞的产生过程。存储型XSS允许攻击者将恶意脚本存储到后台,造成持久性威胁,而DOM型XSS则源于前端DOM对象的不安全操作。文章指出,尽管在数据输入时进行了SQL注入防护,但输出时未对内容进行转义,导致存储型XSS漏洞。此外,还探讨了两者的区别及危害,并强调了预防措施的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

存储型XSS和DOM型XSS的解析

 存储型XSS演示和与原理分析

 Dom型XSS演示和原理分析

存储型XSS漏洞

存储型XSS漏洞跟反射型形成的原因一样,不同的是存储型XSS下攻击者可以将脚本注入到后台存储起来,构成更加持久的危害,因此存储型XSS也称“永久型”XSS。

存储型XSS漏洞演示

我们切换到pikachu存储型xss栏目

在这里插入图片描述

我们看到他这个地方有留言板,我们试着留个言,点提交

在这里插入图片描述

我们发现这个留言会被存储到页面上面,我们刷新这个页面,留言一直在这里,也就是说,我们提交的这个留言,被后台给存下来了,存到数据库里面,或者配置文件里面

我们按照之前的思路测试一下,输入特殊字符

"'<>?&7777

然后点提交

在这里插入图片描述

我们看到我们从表面上,我们输入的这一串东西,被直接当作留言显示出来了

我们在来看一下页面源码,然后ctrl+f,去搜一下

在这里插入图片描述

我们发现我们输入的特殊字符,被输出到了p标签里面,跟反射型的xss输出点其实是一样的,看了一些,是没有做任何的过滤和转义处理的

接下来,我们输入一个对应的payload来做对应的测试,我们在这里输入一个简单的弹窗

<script>alert('xss')</script>

我们点提交,流程是前端把这串字符,提交给后台,后台把他存下来之后,重新在页面上刷新,显示出来,这串代码会被前端浏览器执行,弹个窗,这是我们的一个预期,我们点提交

在这里插入图片描述

也就意味着,我们刚刚输入的js被存到数据库里面了

我们每次去刷新的时候,他还是会弹,因为我们刚刚的留言被存到数据库里面了,每次你去访问页面的时候,都会从数据库里面,把这个留言给加载出来,然后触发这个脚本的运行,这个就是存储型的xss

显而易见,存储型的xss他的危害会更大,因为他可以造成持久性的伤害,所有访问这个页面的用户,都会中招

存储型XSS-代码分析

在这里插入图片描述

在这里插入图片描述

他会判断我们的输入有没有对应的message,并且这个message不是为空,对它进行转义,这个主要是防sql注入的

虽然它前面插数据库的时候,做了数据库的转义,防止sql注入,接着它就通过insert,把这个message插入到了表里面

在这里插入图片描述

页面上,它还做了一个操作,在p标签里面,去做一个select,把表里面所有的留言,都给查出来,然后去echo一下,把它读出来,显示到这个页面上

在这里插入图片描述

也就是说,虽然在输入的时候,做了数据库的转义,它考虑到sql注入的问题,但是从数据库里面读取出来之后,输出的时候,它是直接把数据库里面的content,也就是对应内容的字段,给原封不动的输出到了前端的浏览器里面,这样就形成了一个存储型的xss漏洞

它是直接把数据库里面的content,内容的字段,给原封不动的输出到了前端的浏览器里面,那这样就形成了存储型的xss漏洞

存储型的xss跟反射型的xss的区别在于一个有存,另一个没有存

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值