XSS-Labs/第十六关

第十六关,空格被替换为空字符的绕过技巧

查看level16.php

可以看到,这一关过滤了script、空格、/、Tab 或者 \t制表符。

由于我们构造payload时,标签的属性都需要空格进行隔开,如果不用空格隔开浏览器的解析就会出错。

但其实我们都知道,除了空格,我们还可以使用换行来分隔不同属性,例如\n,或者enter(回车键)

浏览器会对这些分隔符进行URL编码:

换行符\n -> %0a

回车符enter -> %0d

空格 -> %20

利用这一方法,我们就可以开始闯关了

构造payload,由于尖括号、引号都没被过滤,但是script标签被过滤了(导致无法使用伪协议),/也被过滤,无法闭合标签,所以这里我们使用触发事件,例如onclick、onerror等;

tips:由于/被过滤,无法被闭合标签,所以我们要考虑不需要进行闭合的标签,例如<svg>、<img>等等

①、方法一,<svg>标签

keyword=<svg%0aonload=alert()>

②、方法2,<img>标签

keyword=<img%0asrc=”1″%0aonerror=”alert()”>

文末附加内容
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇