XSS-Labs/第十一关

第十一关,HTTP请求头注入

打开level11.php

查看代码,发现从前端传递过来的keyword、t_sort都被htmlspecialchars进行了转义,无法进行XSS攻击。

观察第19行,$_SERVER[‘HTTP_REFERER’]可获取当前请求来源的URL,并把它拼接到27行input标签名为t_ref的name属性的vlaue属性中,并且后端没有对$str33除<、>其他的特殊字符作转义过滤。

此外,前端的所有输入框均被隐藏。

所以这一点是第十一关的解题关键。

tips:只要遇到只过滤<、>,没有过滤引号的关卡,就可以尝试使用事件属性进行绕过。

例如:onclick、onmouseover、onfocus等。

由于常规浏览器访问无法自定义伪造请求来源的头部信息,所以要用到抓包工具或者Hackbar等能进行伪造的工具,这里展示Burp Suite + Hackbar。

(1)Burp Suite

在Header区域构造Referer请求头,里面的payload:

Referer:”type=”text” onclick=”alert()

type前面的双引号用来闭合原有的value属性双引号,onclick=后的双引号则是用来和原value属性剩下的一个双引号一起包裹住alert()

传递过去payload最后变成:
type”text onclick=”alert()”

点击send,并在response窗口里选择,Render

可以看到此时已经有输入框了。右键reponse区域,选择Show response in browser,复制URL,并在开启burpsuite代理的浏览器里访问

访问后点击输入框,即可通关,如图所示:

(2)Hackbar

这个比较轻松,原理就不解释了,都是在Header区域构造Referer请求头。

F12,选择Hackbar

输入URL后点击LOAD

选择Modify Header

选择Referer请求头,属性值我们要构造的payload:“type=”text” onclick=”alert()

选择EXECUTE

点击输入框

此时第十一关完成咯。

文末附加内容
暂无评论

发送评论 编辑评论


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