IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> XSS小游戏level1-18解题思路 -> 正文阅读

[游戏开发]XSS小游戏level1-18解题思路

XSS过关游戏

level1

在这里插入图片描述

f12,然后在能执行的地方插入onclick=“alert(1)”,然后过关

在这里插入图片描述

level2

在这里插入图片描述

在这里插入图片描述

输入框输入测试内容,接下来每关都会先测试,然后查看源码

在这里插入图片描述

由源码可知,需要闭合

所以输入

"><script>alert(1)</script>

level3

在这里插入图片描述

在这里插入图片描述

由源码可知,尖括号被转义,还需闭合

所以输入

' onclick='alert(1)'

然后点击输入的地方

level4

在这里插入图片描述

在这里插入图片描述

由源码可知,尖括号被过滤了,需要闭合

所以输入

" onclick="alert(1)"

然后点击输入的地方

level5

在这里插入图片描述

在这里插入图片描述

由源码可知,script关键字被处理了,需闭合

所以输入

"onclick="alert(1)"

结果不行,onclick也被处理了

在这里插入图片描述

所以利用a标签,JavaScript伪协议 输入

"><a href="javascript:alert(1)">test</a>

在这里插入图片描述

然后点击test成功

level6

在这里插入图片描述

在这里插入图片描述

由源码可知,script关键字被处理,需闭合

所以输入

" onclick="alert(1)

在这里插入图片描述

发现,onclick也被处理了

所以输入

"><a href="javascript:alert(1)">test</a>"

在这里插入图片描述

发现href也被处理了

最后我尝试一下大小写绕过

输入

"><SCRipt>alert(1)</script>

成功

level7

在这里插入图片描述

在这里插入图片描述

查看源码可知,把script过滤了,需闭合

所以输入

" onclick="alert(1)"

在这里插入图片描述

查看源码,发现on被去掉了

所以输入

"><a href="javascript:alert(1)">test</a>"

在这里插入图片描述

过滤了href和script

所以我想到了双写和大小写,输入

" ONclick="alert(1)"

在这里插入图片描述

大小写不行

"><scrscriptipt>alert(1)</scrscriptipt>

成功,看来双写可以!

level8

在这里插入图片描述

在这里插入图片描述

由源码可知,尖括号被转义,需闭合

所以输入

" onclick="alert(1)"

在这里插入图片描述

双引号也被转义

这个时候,我发现有个input的操作
在这里插入图片描述

所以只用在输入框输入

javascript:alert(1)

在这里插入图片描述

结果发现,script还是被处理了

于是,尝试html编码

在这里插入图片描述

把编码后的内容复制到输入框,点击添加友情链接,再点击友情链接,成功!

&#x6a;&#x61;&#x76;&#x61;&#x73;&#x63;&#x72;&#x69;&#x70;&#x74;&#x3a;&#x61;&#x6c;&#x65;&#x72;&#x74;&#x28;&#x31;&#x29;&#x6a;&#x61;&#x76;&#x61;&#x73;&#x63;&#x72;&#x69;&#x70;&#x74;&#x3a;&#x61;&#x6c;&#x65;&#x72;&#x74;&#x28;&#x31;&#x29;

level9

在这里插入图片描述在这里插入图片描述

在这里插入图片描述

分析源码,尖括号被转义,而且链接有问题,点击友情链接为

显示我的链接不合法,这个时候就不会了,于是去网上查找,发现得在前面或者后面加http://,于是我尝试

输入http://javascript:alert(1) 结果空白

在这里插入图片描述

在这里插入图片描述

查看源码,发现忘记把script编码处理了,我再尝试一下

输入http://&#x6a;&#x61;&#x76;&#x61;&#x73;&#x63;&#x72;&#x69;&#x70;&#x74;:alert(1)


发现还是空白,查看源码,发现不能全部编码处理

所以我把script里面的c用html编码一下,再输入

http://javas&#x63;ript:alert(1)

发现还是不行,然后看大佬说要把http放在后面注释掉,我试试

javas&#x63;ript:alert(1) //http://

然后点击友情链接,成功!

这里的原理是

它的网页源码中要检查有没有http://来判断是不是正常的链接,放在了最后再用//注释掉,就可以绕过了

level10

在这里插入图片描述

在这里插入图片描述
我尝试了一下第一关的方法,发现可以在能修改的地方添加,再点击就可以了,我觉得这个过关方法有点投机取巧的感觉,所以我去网上查了一下,果然是投机取巧!因为没有在表单里进行,没有提交,我这样做只是自己能看到而已

所以我f12,审计代码,发现

在这里插入图片描述

于是我尝试,我用onclick事件,这里经过尝试只有第三个地方可以

在这里插入图片描述

成功

level11-referer

在这里插入图片描述

又没有输出点,看来后面的应该都是这样的

老样子,f12

在这里插入图片描述

我以为和上关一样,尝试了很久,发现不行,于是去查看源代码

在这里插入图片描述

好家伙,是实体输出,我去请教大佬,这关应该是Referer头注入

因为可以获取到referer–> $_SERVER[‘HTTP_REFERER’]

需要抓包添加请求头referer内容

在这里插入图片描述

放包,回到浏览器点击

在这里插入图片描述

成功!

level12-user_agent

老样子,代码审计

在这里插入图片描述

有了上关的经验,得知这关肯定就是抓包修改user-agentle1

在这里插入图片描述

点击

在这里插入图片描述

成功!

level13-cookie

代码审计

在这里插入图片描述

抓包修改

在这里插入图片描述

点击

在这里插入图片描述

level14

在这里插入图片描述

无响应的地址,所以做不了

level15

not found,所以也做不了

level16

代码审计

在这里插入图片描述

发现过滤规则,过滤了大小写,script 空格 /

所以我直接在center里面添加onclick事件

在这里插入图片描述

然后点击图片

在这里插入图片描述

成功

level17

在这里插入图片描述

在这里插入图片描述

所以查看f12

在这里插入图片描述

那可不可以在这里闭合呢

于是我修改url头为

在这里插入图片描述

这时代码为[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传在这里插入图片描述

结果没用

我又修改了一下

在这里插入图片描述

在这里插入图片描述

还是不阔以

我猜测是不是因为没有点击的地方

在这里插入图片描述

改成了onfoucus聚焦事件就可以了。。。。

level18

查看url

在这里插入图片描述

和f12

在这里插入图片描述

尝试和上关一样的方法

在这里插入图片描述

成功

level19

在这里插入图片描述

在这里插入图片描述

发现和上关一样

所以尝试[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传在这里插入图片描述

发现不行了

在这里插入图片描述

于是我尝试加个双引号

在这里插入图片描述

结果为
在这里插入图片描述

还是不行

去网上查找资料

发现只能通过构建a标签

然后上网查,发现不支持这个插件没办法去做。。。

level20

和上一关一样

在这里插入图片描述

所以做不了。。

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2021-08-24 15:52:55  更:2021-08-24 15:53:49 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/4 19:54:01-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码