DOM型XSS;cookie获取及XSS后台使用;XSS钓鱼演示;XSS获取键盘记录实验演示

DOM型XSS

DOM简介(摘录)
通过JavaScript,可以重构整个HTML文档,可以添加、移除、改变或重排页面上的项目。
要改变页面的某个东西,JavaScript就需要获得对HTML文档中所有元素进行添加、移动、改变或移除的方法和属性,都是通过文档对象模型来获得的(DOM)。
所以就可以将DOM理解为访问HTML的标准编程接口。
DOM型XSS漏洞演示
在pikachu平台DOM型XSS分区进行实验的演示,输入1111查看后台源码。
DOM型XSS;cookie获取及XSS后台使用;XSS钓鱼演示;XSS获取键盘记录实验演示_第1张图片
可见当在标签中输入一个字符串时,后台会将字符串用DOM的方法拼接到a标签中。a标签会被写到id=DOM的div标签中。
以< a href=’"+str+"’>what do you see?为基础构建payload。已知”+str+"是我们可以修改的内容。将”+str+“改为#’ “alert(111)”>,将payload进行输入尝试。
DOM型XSS;cookie获取及XSS后台使用;XSS钓鱼演示;XSS获取键盘记录实验演示_第2张图片
点击what do you see的链接弹出111的窗口。可见此处存在XSS漏洞。
分析:DOM型的XSS漏洞不同于反射型和存储型并不经过后台,只是在前端被dom获取到,通过dom又在前端输出了。
另一个DOM型XSS实验案例:
同样首先在前端输入1111,查看后台源码
DOM型XSS;cookie获取及XSS后台使用;XSS钓鱼演示;XSS获取键盘记录实验演示_第3张图片
可见形成漏洞的出入点是在url的参数中,由于依旧是在a标签中输出所以payload与之前相同。
用#’ “alert(111)”>进行尝试。
DOM型XSS;cookie获取及XSS后台使用;XSS钓鱼演示;XSS获取键盘记录实验演示_第4张图片
结果依旧可以弹出窗口。不同点在于DOM的输入是从浏览器中获取的。就将反射型的XSS相同,可以将url发送给需要攻击的人打开链接就会被插入到用户页面中。

cookie获取及XSS后台使用

GET型XSS漏洞利用:cookie获取
流程:首先找到一个存在反射型XSS漏洞的站点(pikachu平台),将带有恶意JS的页面发送给用户,用户点击访问后恶意的JS就会在用户端被执行(读取用户本地的cookie信息,发送给攻击者的xss后台),攻击者就可以通过获取的cookie伪造用户登陆,造成破坏。
在反射型XSS的模块进行cookie获取的操作实际演示
将pkxss中的重定向网站改为http://127.0.0.1/pikachu/index.php。
使用payload对用户的cookie进行获取
在相应的对话框中输入payload
DOM型XSS;cookie获取及XSS后台使用;XSS钓鱼演示;XSS获取键盘记录实验演示_第5张图片payload形成了一个完整的get请求,在点提交之后页面跳转到了首页,而理论上我们也就获取了相关用户的cookie。打开pksxx查看获取cookies获取结果。
DOM型XSS;cookie获取及XSS后台使用;XSS钓鱼演示;XSS获取键盘记录实验演示_第6张图片
可以看到新增了一条记录。有相关的cookie等信息。
在实际的情境下我们可以将payload中的内容进行url编码发送给用户让用户点击。
POST方式下XSS漏洞利用:cookie获取
流程:首先自己搭建一个恶意的站点在其中写好post的表单,将站点链接发送给用户让用户点击,让用户访问页面。一旦用户访问页面,就会向存在漏洞的xss页面提交一个post请求,也就实现了让用户帮忙提交post表单的操作。随后就跟get形式的xss漏洞利用相类似。
实际操作:首先修改pkxss中的post.html文件中的目标地址(存在漏洞界面的地址)等信息。用onload获取post表单用click进行提交。
DOM型XSS;cookie获取及XSS后台使用;XSS钓鱼演示;XSS获取键盘记录实验演示_第7张图片
恶意站点链接:http://127.0.0.1/pikachu/pkxss/xcookie/post.html
在浏览器中输入站点链接访问页面后会转跳至目标网页。此时操作流程就结束了。
DOM型XSS;cookie获取及XSS后台使用;XSS钓鱼演示;XSS获取键盘记录实验演示_第8张图片
查看pkxsscookie获取的界面发现获取了新的记录。

XSS钓鱼演示

思路流程:存储型xss-钓鱼攻击
使用Basic认证搭建钓鱼的场景。(可以在一个存在xss漏洞的页面上嵌入一个请求,当用户打开这个嵌入了恶意代码的页面后,页面会向远端的后台发送一个请求从而返回一个要求用户进行basic认证的界面,如果用户在界面上输入了账号密码等信息,相关信息就会反馈到攻击者的后台。)
实验具体演示:
在pikachu存储型xss模块进行实验演示:
首先分析fish.php文件源代码,将location地址改为xss后台地址:
DOM型XSS;cookie获取及XSS后台使用;XSS钓鱼演示;XSS获取键盘记录实验演示_第9张图片与之前的逻辑相同,在存储型xss界面输入:

弹出对话框要求用户输入账号密码。
DOM型XSS;cookie获取及XSS后台使用;XSS钓鱼演示;XSS获取键盘记录实验演示_第10张图片
由于是存储型xss漏洞,所以每当用户访问这一页面时都会弹出相应的对话框要求用户输入相关信息,同时将会把用户输入的数据传送至后台的数据库中。

XSS获取键盘记录实验演示

跨域概念:http://(协议) www.(子域名)xyz.com(主域名):8080(端口)/ script/text.js(资源地址)
当协议、主机(主域名、子域名)、端口中的任意一个不相同时,称为不同域。不同域之间请求数据的操作,称为跨域操作。
跨域-同源策略
为了安全考虑,所有浏览器都约定了”同源策略“,同源策略规定,两个不同域名之间不能使用JS进行相互操作。比如:x.com域名下的JavaScript并不能操作y,com域名下的对象。
如果想要跨域操作,则需要管理员进行特殊的配置。
比如通过:header(”Acess-Control-Allow-Origin:x.cm“)指定。
tips:以下标签跨域加载资源(资源类型是有限制的)是不受同源策略限制的。


此时这段JavaScript就被嵌入到了页面中,此时在网页上输入的键盘就会被存储到攻击者的后台。

你可能感兴趣的:(DOM型XSS;cookie获取及XSS后台使用;XSS钓鱼演示;XSS获取键盘记录实验演示)