Pikachu靶场通关笔记--Cross-Site Scripting (XSS)

1.反射型XSS(get)

首先,我们先区分get和post的区别。GET是以url方式提交数据;POST是以表单方式在请求体里面提交。通过get提交的数据是可以直接在url中看到的,所以GET方式的XSS漏洞更加容易被利用, 一般利用的方式是将带有跨站脚本的URL伪装后发送给目标,而POST方式由于是以表单方式提交,无法直接使用URL方式进行攻击。

先尝试我们的普通一击 看看效果

Pikachu靶场通关笔记--Cross-Site Scripting (XSS)_第1张图片

我们发现后边的内容被截断了,判断可能有字符数量限制,F12找一下看看,找到字符限制20 

Pikachu靶场通关笔记--Cross-Site Scripting (XSS)_第2张图片

 直接前端修改字符数到2000再尝试,成功弹窗。 并且写入的js语句是在url中直接显示的。

Pikachu靶场通关笔记--Cross-Site Scripting (XSS)_第3张图片

2.反射型XSS(post)

Pikachu靶场通关笔记--Cross-Site Scripting (XSS)_第4张图片Pikachu靶场通关笔记--Cross-Site Scripting (XSS)_第5张图片

 提示先要登陆账号,登录账号后开始行动!

Pikachu靶场通关笔记--Cross-Site Scripting (XSS)_第6张图片

输入123456可以看到输入内容会显示在前端,但是请求方法变成了post,url不会显示出输入的内容。

直接输入payload,,弹窗成功!

Pikachu靶场通关笔记--Cross-Site Scripting (XSS)_第7张图片 总结一下,反射型xss,这种攻击的特点是非持久化。

3.存储型xss

 Pikachu靶场通关笔记--Cross-Site Scripting (XSS)_第8张图片

这是一个留言板,我们随便留言一些内容。

Pikachu靶场通关笔记--Cross-Site Scripting (XSS)_第9张图片

可以看到,我们输入的内容,都在前端中显示了出来,那么我们如果留言一段xss的payload呢?

 

Pikachu靶场通关笔记--Cross-Site Scripting (XSS)_第10张图片

留言以后出现了弹窗,当我们退出这个页面,重新进入留言板时 ,依然会弹窗。

Pikachu靶场通关笔记--Cross-Site Scripting (XSS)_第11张图片

依此,我们可总结区分出反射型xss和存储型xss的一个区别,就是反射型xss攻击是非持久型的,而存储型xss攻击是持久型的。

4.Dom型xss 

Pikachu靶场通关笔记--Cross-Site Scripting (XSS)_第12张图片

DOM XSS的XSS代码并不需要服务器解析响应的直接参与,触发XSS靠的就是前端的DOM解析,可以认为完全前端的事情。用户输入的参数中如果包含js语句,输入内容就会被当做js执行,就有可能导致DOM XSS

输入123后,点击click me下面显示出来what do you see?,我们查看前端代码发现123直接赋值给了a标签的href,这就导致了xss漏洞产生。

Pikachu靶场通关笔记--Cross-Site Scripting (XSS)_第13张图片

payload使用:  javascript:alert("123")

Pikachu靶场通关笔记--Cross-Site Scripting (XSS)_第14张图片

输入之后,点击what do you see?发生弹窗。

Pikachu靶场通关笔记--Cross-Site Scripting (XSS)_第15张图片

5.Dom型xss -x

Pikachu靶场通关笔记--Cross-Site Scripting (XSS)_第16张图片

 请说出你的伤心往事,点一下,会发现出现一个链接“有些费尽心机想要忘记的事情,后来真的就忘掉了”,同时text=空

Pikachu靶场通关笔记--Cross-Site Scripting (XSS)_第17张图片

查看源代码 

点一下这个链接“有些费尽心机想要忘记的事情,后来真的就忘掉了”,text=#

Pikachu靶场通关笔记--Cross-Site Scripting (XSS)_第18张图片

会出现“让往事都随风,都随风吧”

Pikachu靶场通关笔记--Cross-Site Scripting (XSS)_第19张图片

点一下都随风,会发现回到了上一级,text为空的状态,F12定位一下链接位置 ,原来a标签中,href的值是空。

Pikachu靶场通关笔记--Cross-Site Scripting (XSS)_第20张图片

重新开始,尝试在input输入框输入

'onclick="alert(666)">

 

再依次点击链接,发生弹窗。

Pikachu靶场通关笔记--Cross-Site Scripting (XSS)_第21张图片

查看源代码,原来是'οnclick="alert(666)">闭合掉了a标签,οnclick="alert(666)"被执行。

Pikachu靶场通关笔记--Cross-Site Scripting (XSS)_第22张图片

6.XSS之-盲打 

 XSS盲打指的是一种攻击场景,在数据提交界面提交数据后,前端不管是url还是源代码都看不到输入的内容和效果,这种数据只有后端管理员可以看见,当管理员触发盲打被X到的话,危害是非常大的,很可能造成管理员的cookie泄露,使攻击者可以通过管理员权限登录网站后台。

Pikachu靶场通关笔记--Cross-Site Scripting (XSS)_第23张图片我们尝试输入一段xss的payload 提交上去,按照提示前往管理员后台。

Pikachu靶场通关笔记--Cross-Site Scripting (XSS)_第24张图片

 Pikachu靶场通关笔记--Cross-Site Scripting (XSS)_第25张图片

一登陆,发现被弹窗,进入后看到了留言者的信息。

7.XSS之过滤

Pikachu靶场通关笔记--Cross-Site Scripting (XSS)_第26张图片

人生苦短嘛?输入一些内容看看会不会过滤,输入<>,.

 输入后发生弹窗,观察发现大小写混写的 使用单引号闭合$mc,再由闭合script标签,而后构造script标签,写入alert弹窗,成功弹出。

x'

Pikachu靶场通关笔记--Cross-Site Scripting (XSS)_第34张图片

 后记

在pikachu-master\pkxss下,有rkeypress、xcookie、xfish文件夹,对应pikachuXss后台的键盘记录、cookie收集、和钓鱼结果,可以通过以上的xss漏洞进行类似实战的测试,获取被害人的一些敏感信息。

Pikachu靶场通关笔记--Cross-Site Scripting (XSS)_第35张图片

Pikachu靶场通关笔记--Cross-Site Scripting (XSS)_第36张图片

 具体操作参考pikachu靶场通关_yyysec的博客-CSDN博客_pikachu靶场通关中的内容。

你可能感兴趣的:(xss,安全,前端)