xss.haozi.me弹窗练习0x00-0x10
目录
练习:
00x0
编辑
0x01
0x02
0x03
编辑
0x04
0x05
0x06
0x07
0x08
0x09
0x0A
0x0B
0x0C
0x0D
0x0E
0x0F
0x10
弹窗练习地址:https://xss.haozi.me
练习:
00x0
第一关没什么好注意的,会语句就行。
示例:
1、<svg οnlοad=alert(1)>
2、<script>alert(1)</script>
3、<script>javascript:alert(1)</script>
0x01
此关查看代码,发现输入的值在“<textarea> </textarea>”中:定义多行的文本输入控件。
因此知道输入的表达式将被转换为文本,所以可以先将他闭合,闭合后再输入0x00的语句就行。
示例:</textarea><script>alert(1)</script>
0x02
此关查看代码输入的值在"value"属性中。
于是先闭合使输入语句逃离双引号及尖括号。
示例:"> <script>alert(1)</script>
0x03
查看代码,可以知道该关过滤了“ () ”。
因为“alert”具有“tostring”方法,所以我们采用反引号“ ` ”代替括号。
示例:<script>alert`1`</script>
0x04
查看代码,发现它将“ () ` ”替换为“ ”空。
于是我们想到编码“ () ”试试。
可以发现编码“ () ”并不能成功,因为js中不能编码符号。
如果js不行我们可以转换标签,采用其他表达式,例如:<svg>,<img><a>等于是成功。
示例:<svg οnlοad=alert(1)>
0x05
首先查看代码,我们知道他将注释符“-->”替换为了一个表情。
我们输入的值又恰好在注释符中间,但他替换的注释符并不是我们想要闭合的那一个。
示例:--><script>alert(1)</script>
0x06
查看代码可知,他将auto或on.*=或>转换为_。
我们可以采用type="image"的表达式,避免使用 >和换行的方式躲避正则匹配。
示例:type="image" src=1 onerror
=alert(1)
0x07
通过查看代码,使用正则分析 const stripTagsRe = /<\/?[^>]+>/gi
<\/?:需要注意转义符号' \ '与‘ / ’在一起说明将‘ / ’转义,则这部分表示匹配' </ '。
[^>] :' ^> '在' [ ] '中表示匹配“除了' > ' ”。
+>:“+”中为‘和’的意思,表示和匹配‘ > ’
因为html中有纠错功能,单标签如果没有闭合,html会自动帮我们闭合。
示例:<img src="1" οnerrοr=alert(1)
0x08
查看代码,正则中将</style>替换为'/* \u574F\u4EBA */'。
所以我们不能直接闭合,但从前面可以得知,换行可以绕过正则。
示例:<script
><script>alert(1)</script>
0x09
查看代码,必须使用http://www.segmentfault.com作为前缀。
但他在<script>标签里面,我们直接输入alert(1)的话并不能弹出,但我们可以在后面接一个自己写的js代码形如。
然后将该文件接入到网址后面。
示例:http://www.segmentfault.com/127.0.0.1/js.js
0x0A
查看代码,可以看出,过滤掉了&
,`,",<,>,\,之后再正则白名单匹配。
通过html转义, 把能注入的关键字都过滤了。可以直接引用指定网站下的目录文件来达到xss注入的目的,与第九关类似。
0x0B
查看代码,toUpperCase将所有字母小写替换成大写。
html对大小写不敏感,js对大小写敏感。alert是js中的事件,所以我们需要将alert进行编码。alert-->alert
示例:<img src=1 οnerrοr=alert(1)>
0x0C
查看代码,比第0x0b关多限制了将<script>替换成“ ”。
但并不影响<img>标签,所以仍可以使用。
示例:<img src=1 οnerrοr=alert(1)>
0x0D
查看代码,发现有行注释符“//”,使用回车,跳一行填写代码。
由于在<script>标签内,我们直接填入alert(1)。
发现并没有反应。仔细查看,原来我们饼没有逃出" ') "的限制,于是我们采用注释符“-->”将后面的符号注释掉便成功了,注意:需要跳行填写注释符。
0x0E
查看代码,发现该表达式过滤了以“‘<’+任意字母”的开头,并且将所有小写字母替换为大写字母。
“长s”源于手写,后来在欧洲文艺复兴时期广泛地被用于印刷术。也就是说我们可以采用“ſ”来代替“s”。又因为js对大小写较为敏感,所以我们可以使用其他标签,例如:<svg>,<a><img>等,但因为alert是js的事件也不能为大写,所以我们需要将它进行编码。
示例:<ſvg οnlοad=alert(1)> //等于<svg οnlοad=alert(1)>
0x0F
查看代码,发现过滤了部分符号。
该题目对字符进行了html实体编码处理。但是, 它忽略了一点, 由于编码后处于html标签中, 所以当解析代码的时候, 被过滤编码的字符仍然会被还原来执行, 所以可以说, 被过滤的字符可以用。
注入使其闭合, 在注释掉后面的内容即可。
示例:'), alert(1) //
0x10
没有过滤, 随意给window.date一个值,比如空值''
, 再注入。
xss.haozi.me弹窗练习0x00-0x10相关推荐
- xss.haozi.me通关教程
10.xss.haozi.me通关教程 0x00 首先整体浏览网站 分别是xss注入点,注入后的HTML代码以及网页源码 构造常规payload: <script>alert(1)< ...
- xss靶场、xss.haozi.me靶场详细通关教程
文章目录 前言 预备知识 HTML编码 img的可拓展 各种payload形式 0x00 0x01 0x02 0x03(使用了正则过滤圆括号) 其它解法 0x04(使用正则过滤圆括号和反引号) 0x0 ...
- xss.haozi 思路总结 0x00-0x12
xss刷题网站2 https://xss.haozi.me/ 一个非常可爱的网站.这是网站界面,题目序号是十六进制,一共19道题. 0x00 直接输入<script>alert(1)< ...
- XSS表情包靶场通关记录
平台 alert(1)https://xss.haozi.me 0X00 源码无防护,直接常规payload绕过 <script>alert(1)</script> <s ...
- xss绕过字符过滤_XSS绕过实战练习
前言 写这篇博文起源来自于一次网络安全实验课,在实验虚拟环境里有一个xss挑战,估计是搬别人的xss挑战进来,我觉得挺有意思,就记录一下.有些关卡不能再虚拟环境实践,我在自己物理机上找到那个xss挑战 ...
- 从xss挑战之旅来重读xss(一)
在开始这篇文章之前,先简单聊几句: xss很多时候是鸡肋,比如说self-xss 很多厂商都会注明拒收反射xss,如58src 遇到请证明危害性的说法就走,人家的潜台词也是拒收反射xss 遇到收反射x ...
- XSS漏洞基础学习(笔记)
包含一些基础的XSS学习. XSS跨站脚本分类 XSS漏洞介绍 跨站脚本攻击(Cross Site Scripting),为了不和层叠样式表(Cascading Style Sheets,CSS)的缩 ...
- Csrf+Xss组合拳
各位大师傅,第一次在合天发文章,请多多关照 今年年初的疫情确实有点突然,打乱了上半年的所有计划(本来是校内大佬带我拿奖的时刻,没了,学长毕业了,就剩下我这个小垃圾带着下一届去搞ctf了,难啊,难啊) ...
- 小迪安全--xss跨站脚本攻击
xss跨站脚本攻击 xss原理 危害 pikachu靶场 反射型xss 存储型xss DOM型xss xss平台 cookie和session 利用cookie webshell箱子 xss常见位置 ...
- [转]杂谈如何绕过WAF(Web应用防火墙)
技术分享:杂谈如何绕过WAF(Web应用防火墙) 0×01开场白 这个议题呢,主要是教大家一个思路,而不是把现成准备好的代码放给大家. 可能在大家眼中WAF(Web应用防火墙)就是"不要脸& ...
最新文章
- JavaScript的函数
- HTML表单input类型有哪些,HTML表单之input元素的23种type类型
- 【算法知识】详解快速排序算法
- C# partial 关键字的使用
- 基于数据库数据增量同步_基于 Flink SQL CDC 的实时数据同步方案
- Nginx 限制某 IP 在一段时间内对服务器发起请求的连接数
- android javap命令生成自定义类签名
- hdoj1116【欧拉回路】
- 如何给Word中的图片添加题注
- pdf拆分成多个文件,方法步骤
- 删库跑路 php,程序员删库跑路事件,php中文网的几点声明!
- 热点速递 | 超过220家银行加入摩根大通区块链网络;全球IEO项目数已达50
- 快递100显示查询错误?快递100快递查询类FAQ
- 移动开发利器-Bmob后端云使用体验
- xlsm文件格式和xlsm文件打开方法介绍
- Add-Migration
- 计算机考研评分标准,考研复试评分标准来啦!
- 英语3500词(十)adventure主题(2022.1.22)
- java小程序体重监测,分享个可以记录体重的小程序,坚持才能瘦
- 泸州职业技术学院计算机单招试题,泸州职业技术学院普通类9+3单招考试技能测试考纲...
热门文章
- python与ai的关系_Python与人工智能的关系原来是这样的...
- python笔记3 闭包 装饰器 迭代器 生成器 内置函数 初识递归 列表推导式 字典推导式...
- CDN加速的四大解决方案
- Win7 配置 Git 客户端 图文详解
- endless admin_认识Endless OS,轻量级Linux发行版
- 疫情之下,我们该如何选择工作?
- Photoshop抠图(磁性钢笔工具)
- Linux CPU使用率超过100%的原因
- 【报错】CUDA error: device-side assert triggered
- triggered传递参数