XSS Challenges学习笔记

第一关

随便输入数据,点击search,按F12查看元素,发现显示在b标签内
在这里插入图片描述
所以先闭合b标签,输入444"</b><script>alert(document.domain)</script><b>就OK了。

第二关

随便输入数据发现不显示,按F12审查元素,找到输入框input标签,发现框框里输入的数据会显示在input标签里的value里
在这里插入图片描述
所以就可以构造语句"><script>alert(document.domain)</script>"<前后闭合标签就OK了。

第三关

这一关发现,在输入框里输入的代码不管怎么闭合,都会被当作字符串输出出来,这样只能把关注点放在后边的下拉选项中,因为它也随着出现在输入框下面
在这里插入图片描述
因为不是输入框,我们没法随意输入,所以可以采用抓包。
修改参数p2,OK了。
在这里插入图片描述

第四关

随便输入数字,点击search,然后抓包截断,发现
在这里插入图片描述
有一个隐藏参数p3,这时我们可以回到页面,点击F12,进行代码审查,搜索hidden,找到form表单里的hidden
在这里插入图片描述
可以看到hackme是在value属性里,所以可以先闭合标签然后写入XSS代码。
在抓包软件修改p3为hackme"><script>alert(document.domain)</script>就OK了。
在这里插入图片描述

第五关

这一关只是把输入框的可输入长度个限制了,只需F12找到输入框input,更改其中的maxlength属性,同时也可以看到value里与相应的数据,所以参考第二关即可。

第六关

这一关,按照往常的思路,输数据,审查元素,闭合标签并加入代码,发现并不行的通,尖括号被转义了。
在这里插入图片描述
这样的话,只能另辟蹊径了。既然不能输尖括号,那干脆就不闭合标签,再input属性里添加一个事件。
关于事件有很多种,JavaScript事件
111" onmouseover="alert(document.domain)"

第七关

这一关直接输入上一关的代码,发现很多地方多了引号,onmouseover那里全部都称了字符串,怪不得执行不了
在这里插入图片描述
所以反过来,把该去的引号去了即可。111 onmouseover=alert(document.domain)

第八关

这一关要用到JavaScript伪协议,输入的数据会直接显示在a标签里的href里,而javascript:这个特殊的协议类型声明了URL的主体是任意的JavaScript代码,它由JavaScript的解释器运行。
转自JavaScript中伪协议
所以可以直接输入javascript:alert(document.domain)

第九关

这一关进行了UTF-7编码,但其实UTF-7在一些浏览器里直接就进行了去除,所以这一关不做演示。
可以在Hint内部添加一个事件,来通关
在这里插入图片描述
同理,前边所有关卡也都可以这样通关。

第十关

这一关进行了domian的过滤,可以采用双写绕过。
"><script>alert(document.dodomainmain)</script>"<
编码绕过
"><script>eval(atob('YWxlcnQoZG9jdW1lbnQuZG9kb21haW5tYWluKQ=='))</script>
eval()函数用于计算JavaScript字符串,并作为脚本代码来执行。
atob()是将base64变为字符串。
注意:编码这个方法在这一关行不通。

第十一关

这一关发现,不仅很多事件的关键字被过滤,onclick被转义称onxxxx,而且script关键字也被转义,相应的JavaScript伪协议中也会被转义,但如果把JavaScript伪协议稍做修改就能成功。
空格绕过"><a href="javascr ipt:document.domain">xss</a>

第十二关

这一关发现尖括号以及引号都被过滤,这样没办法闭合了。这次要用到IE浏览器的特性,就是两个反引号Tab键上边的建可以闭合一个引号,所以可以直接构造语句`` οnmοuseοver=“alert(document.domain)”

第十三关

后续还会再更新

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值