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

测试WAF来学习XSS姿势

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


 
0x00 搭建环境
本地搭建测试waf测试,xss相关防护规则全部开启。

 
0x01 Self-Xss绕过
测试脚本
    
    $input = @$_REQUEST["xss"];
    echo "".$input.""
  ?>
首先思路就是一些被waf遗漏的标签,暂时不考虑编码或者拼接字符串这类思路,我们直接拿来测试。
绕过。

类似的标签还有

除此之外以下几个payload都可以绕过。
  body/onfocus=alert(/xss/)>
  details open ontoggle=alert(/xss/)>
  button onfocus=alert(/xss/) autofocus>
利用伪协议
waf拦截

加上一个xmlns属性即可绕过

实际上,我测试的waf是免费使用的,所以有些厂商可以象征性的取一些样本,拦截一下常见的标签,如果你购买了厂商的高级服务,那我们绕过就有难度,然而大多数网站还是使用免费版的多。
 
拼接字符类
拼接字符串的话,一般把关键字拆分成几个字符串,再拼接执行,结合top,concat之类的。
top对象
top输出字符

或者打印cookie

top可以连接对象以及属性或函数,那么我们可以做到很多,例如:
直接top连接一个alert函数

也可以绕过waf

top[‘alert’](1)也可弹窗,但waf拦截

绕过的话,很简单用prompt方法或者confirm都可以

如果我说一定要用alert的话就要用到接字符串了。
 %2b为url编码的+

eval函数执行

eval直接用也可以弹

这里为什么说到eval呢?因为如果eavl不拦截的话,我们可以测试各种编码,当然这是在牺牲长度的前提下。
例如: Unicode编码

其他:
Base64编码:eval拦截的话,可以试试,把 e Unicode编码url编码:url编码:JS8编码:Ascii码绕过:其他自测
引用外部url,运用基于DOM的方法创建和插入节点把外部JS文件注入到网页。

url编码

[1] [2]  下一页

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