pikachu--XSS--DOM型xss

在pikachu平台中,XSS漏洞主要有:
1、反射型xss(get)
2、反射型xss(post)
3、存储型xss
4、DOM型xss
5、DOM型xss-x
6、xss之盲打
7、xss之过滤
8、xss之htmlspecialchars
9、xss之href输出
10、xss之js输出

首先我们大概了解一下什么是XSS漏洞。XSS漏洞是一种发生在前端浏览器端的漏洞,所以其危害的对象也是前端用户。形成XSS漏洞的主要原因是程序对输入和输出没有做合适的处理,导致“精心构造”的字符输出在前端时被浏览器当作有效代码解析执行从而产生危害。

反射型XSS是攻击者过给别人发送带有恶意脚本代码参数的URL,当URL地址被打开时,特有的恶意代码参数被HTML解析、执行。它的特点是非持久化,必须用户点击带有特定参数的链接才能引起。接下来我们测试一下该漏洞。

4、DOM型xss
在了解DOM型xss前,我们需要了解一下什么是DOM? DOM,文档对象模型(Document Object Model)。DOM是 W3C(万维网联盟)的标准,DOM定义了访问HTML和XML文档的标准。在W3C的标准中,DOM是独于平台和语言的接口,它允许程序和脚本动态地访问和更新文档的内容、结构和样式。具体可以参考这篇文章大概有个了解:https://www.jianshu.com/p/706a977d18f2

接下来我们通过实验看一下什么是DOM型xss。在提示框中,我们随意输入一个字符串,例如 test,然后点击click me!,会发现有一个返回页面:

这里返回了一个URL,我们看一下页面源码这个URL是什么:

从服务端的源码中,也看到类似的一段:

从这两段我们可以分析出,客户端提交请求至服务端,在服务端中会用函数domxss()处理。domxss获取客户端提交的内容,定义了一个节点名字和值,然后再返给客户端,所以在客户端的代码中看到这样的节点名称和值,并构成了一个href。

所以构造这样的脚本,和反射型差不多。首先现在输入框里构造脚本进行测试,然后再构造欺骗页面让用户点击。这里我们仅在输入框里构造脚本进行测试:
'>

构造这样的脚本,是需要将href标签先闭合,然后再执行脚本。输入后,点击图片即可弹出cookie:

5、DOM型xss-x
这里我们同样在输入框内输入:test

然后查看一下客户端的源码:

代码里就是点击那句话(是一个链接),然后会显示另外一句话。

所以构造脚本方式和前面一样:
'>

点击链接和图标后同样会获得cookie:

猜你喜欢

转载自www.cnblogs.com/tangjf10/p/12670796.html