pikachu漏洞练习平台使用笔记-XSS(存储型、DOM型、DOM-x、盲打、过滤、htmlspecialchars、herf输出、js输出)

XSS漏洞大同小异,都是想办法让自己的输入被浏览器解析成代码执行。

存储型

存储型XSS就是把恶意代码存储在服务器中,攻击持久,每个访问该页面的用户都会受到攻击。

这是一个留言板,对我们留言的内容没有做过滤,经过实验,输入的内容直接输出在页面中,那么我们直接输入payload即可。

 提交后,我们也可以发现,刷新页面代码被执行,页面不会显示我们输入的字符,审查元素可以发现,我们的输入已经被当作js代码执行。

pikachu漏洞练习平台使用笔记-XSS(存储型、DOM型、DOM-x、盲打、过滤、htmlspecialchars、herf输出、js输出)_第1张图片

 DOM型

首先应该了解一下什么是DOM型XSS

DOM它允许程序或脚本动态地访问和更新文档内容、结构和样式,处理后的结果能够成为显示页面的一部分。

在html中,我们可以通过JavaScript,我们可以重构整个HTML文档。比如添加、移除、改变或重排页面上的项目,说白了就是利用javascript操控html的标签、内容等等。

接下来我们来看一下这个漏洞,可以发现这有一个输入框,我们输入内容后,提交,会出现一个链接,而链接的地址就是我们输入的内容。

pikachu漏洞练习平台使用笔记-XSS(存储型、DOM型、DOM-x、盲打、过滤、htmlspecialchars、herf输出、js输出)_第2张图片 

 那么这个漏洞是如何形成的呢,观察源代码,可以看到,他把我们的输入通过js写入到了html中,那么我们只要针对what do you see?这段代码进行闭合操作就行。

pikachu漏洞练习平台使用笔记-XSS(存储型、DOM型、DOM-x、盲打、过滤、htmlspecialchars、herf输出、js输出)_第3张图片

下边是payload,通过这个,对上边js代码进行闭合。

'οnclick=alert(1)>

pikachu漏洞练习平台使用笔记-XSS(存储型、DOM型、DOM-x、盲打、过滤、htmlspecialchars、herf输出、js输出)_第4张图片 DOM-X

这个跟上一个是一样的方法,闭合标签即可,payload也是一样的。

XSS盲打

直接输入payload,提交,登陆后台查看,可以发现弹框

pikachu漏洞练习平台使用笔记-XSS(存储型、DOM型、DOM-x、盲打、过滤、htmlspecialchars、herf输出、js输出)_第5张图片

审查元素,可以发现有一条记录是空白的,里边放的js代码已经被执行 

pikachu漏洞练习平台使用笔记-XSS(存储型、DOM型、DOM-x、盲打、过滤、htmlspecialchars、herf输出、js输出)_第6张图片 

XSS-过滤

我们直接输入payload会过滤掉,查看一下源代码,可以发现过滤了

pikachu漏洞练习平台使用笔记-XSS(存储型、DOM型、DOM-x、盲打、过滤、htmlspecialchars、herf输出、js输出)_第7张图片

实际上,网站可能会过滤很多东西,用的方法也很多,我们需要不断积累经验,通过输入简单字符,去判断他的过滤规则。

XSS-htmlspecialchars

首先了解一下什么是htmlspecialchars:

htmlspecialchars() 函数把预定义的字符转换为 HTML 实体。

我们输入

你可能感兴趣的:(pikachu漏洞练习平台使用笔记-XSS(存储型、DOM型、DOM-x、盲打、过滤、htmlspecialchars、herf输出、js输出))