XSS Challenge(1)
XSS Challenges
http://xss-quiz.int21h.jp/
Stage #1

注入alert(document.domain),先试一试输入后会返回什么;

返回在标签中,直接尝试输入payload;

Stage #2

测试一下返回;

可以发现,test返回在value属性里,注意闭合value属性的双引号即可;


Stage #3

测试一下返回情况;

通过观察源码我们可以发现一共POST了两个参数,p1和p2,通过测试发现p1被过滤了,于是用burp修改p2的值;


Stage #4

先测试一下返回;

发现有个隐藏的参数p3,尝试注入payload;

发现p3的值返回在value属性中,重新POST p3的参数,注意闭合双引号即可;


Stage #5


查看源码发现对输入的长度做了限制;
直接用burp传递参数即可;


Stage #6

先测试一下返回情况;

发现返回在value属性中,注意闭合;

发现未成功,查看源码,发现<、>被编码了,于是我们就无法闭合标签了,那么input标签里是否有什么可以利用的属性呢?

这些都是form中的属性,我们这里选onselect尝试注入;


注入成功,当我们选中表单的时候,就会触发payload;

Stage #7

测试返回;

发现返回在value属性中,尝试注入;


发现引号被过滤了,但是本身的value属性不带引号,那么我们不用引号即可;


Stage #8

测试一下返回;

发现返回了一个<a href></a>的标签,直接尝试注入payload;

点击链接;

Stage #9

测试返回;

可以注意到有两个参数,其中一个是p1,返回值在value里,经过测试引号、<、>等均被过滤,另一个参数charset,值为euc-jp,可以看出是一种日本的编码,这道题应该和编码相关;
自己想了很久没有头绪,去看看本题提示;

原来是要用UTF-7编码;


Stage #10

Hint:提示的意思应该是正则把domain过滤了;
那可以尝试双写绕过,先测试返回在何处;

返回在value里,注意闭合双引号;


Stage #11

Hint:过滤了script,on开头的和style;
经测试结果返回在value属性中;

由于过滤规则是将带on的词变成onxxx,所以双写没法绕过;
在script当中加tab绕过;


Stage #12

Hint:x00、x20、<、>、”、’等均被过滤;
因为返回值在value中,所以必须要先闭合引号才有用,然而现在双引号和单引号均被过滤,经过我花了很长时间的搜索,发现`在IE中可以充当引号的作用!


(未完待续~)
XSS Challenge(1)的更多相关文章
- XSS Challenge(2)
XSS Challenges http://xss-quiz.int21h.jp/ Stage #13 Hint:style attribute:要用到style属性,在style属性中有个expre ...
- xss框架(二)基础框架实现
简述 自上一篇博客介绍浏览器通信以来已经过去将近两个月了,兜兜转转挖了不少坑,也走了很多弯路.期间研究saml2.0和单点登录等技术都最后无疾而终. 只有xss框架这部分坚持了下来,这个框架还有很多事 ...
- xss攻击(跨站脚本)
原理跨站脚本(Cross site script,简称xss)是一种“HTML注入”,由于攻击的脚本多数时候是跨域的,所以称之为“跨域脚本”. 我们常常听到“注入”(Injection),如SQL注入 ...
- xss 学习(一)
存储型 .反射型.DOM 型这是最常见的三种分类: 存储型存储型XSS也叫持久型XSS,存储的意思就是Payload是有经过存储的,当一个页面存在存储型XSS的时候,XSS注入成功后,那么每次访问该页 ...
- XSS攻击(笔记)
XSS攻击 XSS概述 XSS即跨站脚本攻击,(Cross-Site Scripting, CSS),但是为了与层叠样式表(Cascading Style Sheets, CSS)缩写区分开来,所以命 ...
- hdu 6127---Hard challenge(思维)
题目链接 Problem Description There are n points on the plane, and the ith points has a value vali, and i ...
- XSS事件(一)
前言 最近做的一个项目因为安全审计需要,需要做安全改造.其中自然就包括XSS和CSRF漏洞安全整改.关于这两个网络安全漏洞的详细说明,可以参照我本篇博客最后的参考链接.当然,我这里并不是想写一篇安 ...
- XSS挑战赛(2)
进入第六关 简单判断过滤情况 <>script"'/ 查看源代码 可以看到第二个红框部分跟之前类似,闭合双引号尝试进行弹窗 "><script>ale ...
- XSS漏洞(跨站脚本)
不要轻信用户提交上来的数据alert消息太难看,因此开发一个aspx页面用来统一展示消息ShowMessage.ashx //主页将判断重定向到另一个页面 if (TextBox1.Text != & ...
随机推荐
- 【tensorflow2.0】张量的结构操作
张量的操作主要包括张量的结构操作和张量的数学运算. 张量结构操作诸如:张量创建,索引切片,维度变换,合并分割. 张量数学运算主要有:标量运算,向量运算,矩阵运算.另外我们会介绍张量运算的广播机制. 本 ...
- PTA数据结构与算法题目集(中文) 7-36 社交网络图中结点的“重要性”计算 (30 分)
PTA数据结构与算法题目集(中文) 7-36 社交网络图中结点的“重要性”计算 (30 分) 7-36 社交网络图中结点的“重要性”计算 (30 分) 在社交网络中,个人或单位(结点)之间通过某 ...
- mpvue微信小程序怎么写轮播图,和官方微信代码的差别
目前用mpvue很多第三方的ui库是引入不了的,因为它不支持含有dom操作. 那我们要做轮播图的话一个是手写另外一个就是用小程序的swiper组件了: 官方代码: <swiper indicat ...
- python 函数--迭代器
一.迭代协议: 可以被迭代要满足要求的就叫做可迭代协议.内部实现__iter__方法. iterable:可迭代的--对应的标志. 什么叫做迭代?:可以一个一个取值,就像for循环一样取值. 字符串, ...
- bootstraptable 必备知识点
1.如何动态刷新表中数据? (1).无参刷新: $("#table").bootstrapTable('refresh'); (2).带参刷新: var opt = { url: ...
- Python常见数据结构-字符串
字符串基本特点 用引号括起来,单引号双引号均可,使用三个引号创建多行字符串. 字符串不可变. Python3直接支持Unicode编码. Python允许空字符串存在,不含任何字符且长度为0. 字符串 ...
- 中阶d03.2 JDBC联合properties使用,通过读取本地配置文件为代码传递参数
* 使用properties读取本地配置文件为代码传递参数 * url.用户名.密码.驱动地址等配置可以在配置文件中使用 main package zj_1_JDBC.properties; impo ...
- Pytest系列(17)- pytest-xdist分布式测试的原理和流程
pytest-xdist分布式测试的原理 前言 xdist的分布式类似于一主多从的结构,master机负责下发命令,控制slave机:slave机根据master机的命令执行特定测试任务 在xdist ...
- Linux Mint(Ubuntu)如何管理开机自动启动项?
Linux Mint自带了一个简洁的开机自启管理应用,使用方法也很简单: 依次点击“Menu”==>“控制中心”==>“个人”==>“启动应用程序”,界面如图所示: 上面打勾的就是系 ...
- mysql添加,授权,删除用户以及连接数据库Can't connect to MySQL server on '192.168.31.106' (113)错误排查
centos7下面操作mysql添加,授权,删除用户 添加用户 以root用户登录数据库,运行以下命令: create user test identified by '; 上面创建了用户test,密 ...