xss之挑战小靶场(1-10)
在线靶场(http://xss.fbisb.com)
w
第一关
get请求,没有什么过滤,直接上<script>alert()</script>
源码:
第二关
输入参数会显示在文本框,直接看页面源码
发现对输入的参数<>进行了HTML实体化导致不能执行js,但是输入参数会显示在文本框并且没有经过处理
进行对input标签的闭合,使输入的js代码执行
源码
htmlspecialchars()函数是使用来把一些预定义的字符转换为HTML实体
被转换的预定义的字符有:
&:转换为& ":转换为"':转换为成为 '<:转换为<>:转换为>
第三关
和第二个差不多,直接上"><script>alert()</script>,但是发现没有像上一关一样
查看页面源码发现input文本框的值也被实体化了,注意这一关使用的是单引号
这时候该是考虑为协议的时候到了,onclick 当点击按钮时执行一段 JavaScript
不错,成功,输入成功文本框是空的。当我们点击他就会执行js代码
源码
第四关
输入敏感字体发现<>不见了,直接看页面源码
可以看到<>被过滤了,但是我们还有onclick,注意双引号了,这二货
完美
源码
第5关
上面是我输入的直接实体化,不用想了,拿来看还是不错的,文本框是服务器处理后的可以发现script被替换了,直接查源码
可以看出,script ,onclick 等都被替换了,不过<>"都没有,这个可以利用<a>标签
直接构造代码,注意闭合input,变成"><a href=javascript:alert()>123</a>,页面重新超链接,点击就会调用我们的js了
源码
第六关
经过前面的做题,我发现太慢了,直接在空格输入敏感词,这样方便多了,这不把我可爱的href也也替换了
我瞬间又想到了<img>,谁知道,又把src替换了
居然你有规则知道我输入非法参数,那我就试试绕过你的规则,大小写,复写,编码,这一题,复现肯定不合适,所有大小写咯,
源码
第七题
把我可爱的script替换了,这不这一天复现的机会来了
不错,
源码
第八关
输入敏感词,没反应直接看页面源码
也是script被替换了,试过大小写不行,那么只能是编码
把其中的p转换成16进制,
xss之挑战小靶场(1-10)的更多相关文章
- Xss Game挑战
前言 最新学习了下xss的更深入的东西,学习了一波浏览器解析机制和XSS向量编码的知识. 这里就些xss的练习题巩固知识 学习的话结合如下两篇文章看,从例子和基础原理层面都有: http://boba ...
- xss games20关小游戏附源代码
1. get方式的的值直接输出来了. ?name=<script>alert(1)</script> 2. 同样没有过滤,不过需要闭合前边的双引号和>. "&g ...
- Wordpress搭建社交型小游戏网站10大步骤
http://www.aliyun.com/zixun/content/2_8_196141.html ———————————————————————————————————————————————— ...
- 【CTF】某xss练手小游戏
http://test.xss.tv 1.http://47.94.13.75/test/level1.php?name=test 直接插入即可,如: http://47.94.13.75/test/ ...
- 先定一个小目标:10天自学C语言编程,教你如何改变一生
C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构.C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现 ...
- 《java入门第一季》之有趣的集合小案例---获取10个【1-20之间】的随机数,要求不能重复。
import java.util.ArrayList; import java.util.Random; /* * 获取10个[1-20之间]的随机数,要求不能重复.(注意:不是获取10个数,如果单纯 ...
- 探秘小程序(10):分享功能+webview
场景: 小程序页面用webview嵌入了h5页面,h5页面需要与小程序进行交互,h5页面内容不同,分享的链接也不一样 分享功能: 小程序的分享功能即用户点击小程序右上角,转发功能页面.可以指定分享卡片 ...
- 趣味CSS3效果挑战小汇总
众所周知,在CSS3中产生了诸多优秀的特性,现在就来分享一下我这段时间对于这些特性的效果实践,希望对大家有所启发. 挑战1: 画一个对话框 要画一个对话框,首先来学习做一个三角形.其实非常的简单. & ...
- 第九届极客大挑战——小帅的广告(二阶sql注入)
也是经过一通扫描和测试,没发现其他有用信息,感觉这是个sql注入.其实对于二阶sql注入我以前没实践过,也没看过资料,只是知道这个名字,但不知道为何看到这道题就让我回想起了这个名词,所以查了一下二阶s ...
随机推荐
- Java编程基础——数组和二维数组
Java编程基础——数组和二维数组 摘要:本文主要对数组和二维数组进行简要介绍. 数组 定义 数组可以理解成保存一组数的容器,而变量可以理解为保存一个数的容器. 数组是一种引用类型,用于保存一组相同类 ...
- DRF简易了解
Drf框架 一丶API接口 # 为了在团队内部形成共识.防止个人习惯差异引起的混乱,我们需要找到一种大家都觉得很好的接口实现规范,而且这种规范能够让后端写的接口,用途一目了然,减少双方之间的合作成本. ...
- vue-router 在项目中的使用
一.下载vue-router npm install vue-router --save 二.编码 1.在项目中新建文件夹 router/index.js /* * 路由对象模块 * */ impor ...
- npm 查看全局安装模块
方法一: npm list -g --depth 0 方法二: 输入npm root -g 得到全局node_modules的地址 在任意文件夹输入此地址,便可查看所安模块 https://blog ...
- js字符串转为数字方法parseInt()、减号、乘号、JSON.parse()、Number()的效率比较
var a = '1'; var b = '0x1'; var runTest = function(timeTag, testFunction) { console.time(timeTag); f ...
- element-ui Rate组件源码分析整理笔记(十三)
Rate组件源码比较简单,有添加部分注释 main.vue <template> <!--valuenow当前的评分 valuetext当前显示的文本--> <div c ...
- 二叉搜索树(BST)基本操作
什么是二叉搜索树? 二叉搜索树也叫做二叉排序树.二叉查找树,它有以下性质: 若任意节点的左子树不空,则左子树上所有节点的值均小于它的根节点的值: 若任意节点的右子树不空,则右子树上所有节点的值均大于它 ...
- 结对编程-python实现
目录 软件工程结对项目:Python实现wc程序 结对项目Github地址 项目成员 项目要求 说明 需求 PSP表格 解题思路描述 设计实现 代码组织图 代码分析 代码覆盖率 测试 单元测试 回归测 ...
- ES6之Proxy 的巧用
摘要: Proxy的骚操作. 作者:前端小智 原文:Proxy 的巧用 Fundebug经授权转载,版权归原作者所有. Proxy 介绍 使用Proxy,你可以将一只猫伪装成一只老虎.下面大约有6个例 ...
- 转:oracle 体系结构
前几天面试的时候面试官才问过我ORACLE的体系结构,让我在一张白纸上画出来.回头想想当时答得还不错,大部分内容都描述出来了,呵呵,刚才在网上看到一篇讲解ORACLE体系结构的文章,觉得不错,转过来存 ...