码迷,mamicode.com
首页 > 其他好文 > 详细

hackinglab脚本关第十五之Principle很重要的XSS解题思路

时间:2018-04-07 18:53:20      阅读:236      评论:0      收藏:0      [点我收藏+]

标签:mouseover   jsf   之间   字符   事件   关键字   原理   post   根据   

Principle很重要的XSS

分值: 300

原理/原则/理念很重要.....不是所有的xss都叫特仑苏.. ^_^Take it easy!

 

 

解题思路:

首先,题目肯定设置了过滤规则,和14题的妖艳贱货不同,它的过滤器很奇怪,慢慢试。

我们先试一下<script>、javascript这种字符串会不会被过滤:

不出意外的被过滤了:

技术分享图片

没事,超链接标签嘛,根据14题的思路,我们尝试闭合href属性,构造一波onmouseover事件:

这样输入试一下:

技术分享图片

,很遗憾,结果如下:

技术分享图片

哦哟,还是被发现了。走到这里,我们不禁怀疑是不是过滤了alert或者onmouseover这个关键字:那试一下alert有没有被过滤(虽然题目明确说了用alert显现,但是还是要尝试一波,实际操作中谁也不知道alert会不会被过滤掉):

技术分享图片

onmouseover同理,可以发现这两个关键字没有被过滤,到这里继续尝试闭合href属性:

尝试14题的解法,猜想过滤器过滤第一个alert之后,字符串后面的东西不会被过滤掉:

技术分享图片

然而还是gg,到这里,似乎走到了死路,我连将alert用jsfuck编码之后都尝试了,还是gg,好嘛,灵光一现之下构造如下的输入:alert‘onmouseover=alert(1)>

这次迷之成功:

技术分享图片技术分享图片

我是将alert‘和onmouseover之间的空格去掉,就可以了。

下面来分析一下该题的过滤器工作原理:

和14题一样,通过空格分隔,查找alert这个关键字,发现第一个之后后面的就不会再生效,为什么这么说呢,构造如下输入:

技术分享图片

该输入在>和alert之间存在一个空格,因此验证了我的猜想。因此只需要在alert‘和onmouseover之间不留空格,过滤器会认为该字符串不等于alert,因此放行。

end.

hackinglab脚本关第十五之Principle很重要的XSS解题思路

标签:mouseover   jsf   之间   字符   事件   关键字   原理   post   根据   

原文地址:https://www.cnblogs.com/Kog-Maw/p/8733850.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!