一次xss-bypass

admin 2024年9月28日13:06:22评论14 views字数 1460阅读4分52秒阅读模式

前言

做项目时,遇到了一个形式上,但是存在自定义的waf拦截,本篇简单的讲下我的绕过思路。

XSS发现

这个xss的发现很简单,就直接加上">就能直接看出来是存在XSS的了
一次xss-bypass

绕过思路

后续的正常思路就直接输入"><img src=1 onerror=alert(1)>,然后G掉
一次xss-bypass
所以能够意识到是存在waf拦截的,我们上面输入的XSS语句太明显了,被检测出来了,所以需要考虑怎么绕过。
在XSS的绕过中,我一般是倾向先慢慢删,把payload删到不拦截为止,所以我直接删完了
通过尝试发现<img就直接被拦截,所以尝试更换使用<image>可以,然后就正常的向后构造,直到构造到这里<image src=| onerror=alert(1)//>又G了
一次xss-bypass
通过把alert删除后发现能够正常访问
一次xss-bypass
所以我们需要考虑怎么把alert绕过去

函数替换

首先第一思路肯定是用confirm或者prompt替换,然后发现全都过滤了
一次xss-bypass

编码绕过

一般编码绕过我都只尝试Unicode编码,将prompt编码为pru006fmpt,结果还是被拦住了
一次xss-bypass

混淆绕过

在一般的waf拦截中,大多都是采用的正则的方式进行匹配,一般不会是只要某个字符出现就拦截,所以我们在绕过waf的时候可以考虑混淆

比如这个代码

this[`al`+/ert/.source](1)

制作一个alert函数来进行弹窗,这种构造在面对正则的匹配时一般是能绕过去的,所以当我输入这个payload时很明显的发现自动的给我们的payload改动了一些,导致弹窗失败
一次xss-bypass
后续尝试这种构造也是存在上面的这个问题,我们输入的payload会被改动,在最后会有个=

window['a'+'l'+'e'+'r'+'t'](123)

所以这条路就只能宣告暂时无法走通了

反思

目前大致尝试了多种方法,均无法利用,所以后续能够考虑的比较有效的思路就只有两种了

  1. 模糊测试,FUZZ看看有没有什么特殊字符能够拼接然后绕过
  2. 对上面的混淆绕过重新考虑利用方式

由于我使用的是热点,在简单的FUZZ后,发现效率很慢,所以转变思路在混淆绕过上面了。
跟具我多次的尝试,发现当我们输入的paylaod中带有如下等符号时,会自动的在最后给我们加上一个=或者是直接删除掉我们的特殊符合等,导致我们的payload失效

' " ` /

所以后续的考虑点就变成了,不用任何特殊符合的混淆,且网站对编码进行了严格的检测,所以还不能使用编码来混淆。
所以使用top对象,转30进制,构造paylaod为:

top[8680439..toString(30)](document.cookie)

最后成功弹窗
一次xss-bypass

最后

这个waf属于自研的,比较简单,在日常遇到的waf中,通用的思路还是在上面的方法走不通后,还是倾向于去FUZZ特殊字符比如这种:
一次xss-bypass

本公众号云息信安所提供的信息以及工具仅供安全测试人员用于授权测试,禁止用于未授权测试,请勿非法使用!!!造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号云息信安及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!

————————————————————————————
版权声明:版权声明:本文为FreeBuf.COM博主「fthgb」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:
https://www.freebuf.com/articles/web/359617.html

原文始发于微信公众号(云息信安):[张三的渗透日记]一次xss-bypass

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

发表评论

匿名网友 填写信息