当前位置: 首页 > news >正文

重生之我是赏金猎人-漏洞挖掘(十一)-某SRC储存XSS多次BypassWAF挖掘

0x01:利用编辑器的超链接组件导致存储XSS

鄙人太菜了,没啥高质量的洞呀,随便水一篇文章吧。

在月黑风高的夜晚,某骇客喊我起床挖洞,偷瞄了一下发现平台正好出活动了,想着小牛试刀吧

图片

首先信息收集了一下,发现一个奇怪了域名引起了我的注意,访问后,发现是一个投稿平台,可以发布文章到后台进行审核。

使用账户登录进系统,就能发现一处文章管理

图片

第一时间就想到发布文章,再观察系统中发现一个不知名的编辑器(知道的大牛可以说一下)存在 超链接 功能,那么就尝试利用一下吧

图片

在超链接中注入伪协议来构造xss

图片

这里有个小细节就是下方的小按钮

  1. 当处于开启状态时:触发超链接按钮后,页面会在新窗口中执行跳转操作
  2. 当处于关闭状态时,触发超链接按钮后,页面会在当前网站中执行javascript操作

所以这里就需要关闭掉

发布文章后,可以看到在正文中成功触发javascript:

图片

因为这里我是直接插入的超链接 ,所以页面中是处于纯白色状态。

0x02:文章正文处的存储XSS绕过

来到新建文章中就是上payload,鄙人很菜,挖XSS都是见框就X

图片

在标题处和正文中输入payload点击提交,开启burpsuite抓包

图片

可以看到运作过程是先进行前端HTML实体编码处理

图片

这边只要重新替换掉payload就可以达到绕过的效果了

图片

访问发布的文章页面后,成功触发XSS

图片

至此,两个存储XSS提交上去,收工睡觉。

图片

0x03:编辑器中的媒体组件导致存储XSS

经过上回的两个存储XSS,我觉得还没完,第二天继续看,果然功夫不负有心人

在测试编辑器的其他功能后,发现媒体功能插入的资源地址可以回显在页面

图片

添加网络资源:

图片

其过滤了很多了标签,事件,但并不妨碍我们通过burp进行FUZZ

图片

选择嵌入式媒体,经过反复测试构造如下payload:

x"><marquee loop=1 width=0 onfinish=alert(document.cookie)>

图片

提交文章后访问url 成功触发

图片

0x04:编辑器中的媒体组件导致存储XSS(Bypass

前面的漏洞均已提交,过了几天就修复了,本来以为这样就结束了。然而事情并不如此

图片

既然修复了,那么真男人就该尝试绕过,根据0x03的操作步骤重新打了一遍,发现其中的种种过滤问题。

图片

  1. 过滤了alert脚本函数
  2. 过滤了不少js事件,但Onfinish事件没有过滤
  3. 标签也没有进行过滤

这个开发估计也是偷懒了,过滤做的拉胯的一批,那我们就对症下药,更换prompt的脚本函数,进行绕过。

x"><marquee loop=1 width=0 onfinish=prompt(document.cookie)>ffj</marquee>

最后也是如愿以偿的执行了:

图片

因为业务线那边的修复状态原因,目前还不方便更新该站的绕过,只能止步于此了

欲知后事如何,请听下回分解

0x05 分享一些xss小tips

1.当某参数输出的值在JS中被反引号包囊,通过${ }可以执行javascript

<script>var a=`Hello${alert(1)}`</script>

2.SVG中的测试XSS

<?xml version="1.0" encoding="UTF-8" standalone="no"?><svgonload="window.location='https://www.baidu.com'"xmlns="http://www.w3.org/2000/svg"></svg>

3.不允许使用函数执行的WAF可尝试如下payload绕过

<svg/onload="[]['\146\151\154\164\145\162']['\143\157\156\163\164\162\165\143\164\157\162']('\141\154\145\162\164\50\61\51')()">

4.在测试中也可以尝试使用编码绕过,多重url编码、HTML实体编码、json中使用Unicode、html编码,或者一些字符拼接。

或者使用回车;换行 绕过 某些WAF \r\n可以实现绕过

payload:

<svg onload\r\n=$.globalEval("al"+"ert()");>
<svg onload\r\n=$.globalEval("al"+"ert()");>
http://www.lryc.cn/news/8573.html

相关文章:

  • Wails简介
  • 滑动窗口 AcWing (JAVA)
  • vue小案例
  • 阅读笔记3——空洞卷积
  • CSS系统学习总结
  • 阿里一面:你做过哪些代码优化?来一个人人可以用的极品案例
  • Android NFC 标签读写Demo与历史漏洞概述
  • 亿级高并发电商项目-- 实战篇 --万达商城项目 六(编写角色管理、用户权限(Spring Security认证授权)、管理员管理等模块)
  • 博视像元获近5000万元融资,主攻半导体前道及锂电高端部件供应
  • SpringCloud-断路器Hystrix
  • JavaScript精简笔记
  • MySQL常用函数汇总
  • 100M网口客户电脑插上网线就断线,自己工厂正常,是什么问题导致?
  • 从零开始学习无人机 00 硬件配置
  • 免翻在Chrome上使用新必应(New Bing)聊天机器人
  • LA@特征值和特征向量
  • transpose代码学习
  • 【Redis】Redis 常用数据类型操作 ② ( 数据库操作 | 切换数据库 | 查询当前数据库键个数 | 清空当前数据库 | 清空所有数据库 )
  • 最简单的物体识别例子
  • 指针——“C”
  • 学习 Linux 内核书籍推荐
  • 深圳硬件黑客松活动,开放报名!
  • 力扣sql简单篇练习(十七)
  • Linux网络技术学习(六)—— 网络设备初始化(II)
  • 一手教你如何搭建Hadoop基于Zookeeper的集群(5台主机)
  • Spring Cloud是什么?怎么理解Spring Cloud?
  • robotframework + selenium自动化测试常见的问题
  • 2023春招java面试题及答案
  • QT+OpenGL光照
  • OpenCV-PyQT项目实战(7)项目案例03:鼠标框选