前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >XSS绕过某盾

XSS绕过某盾

作者头像
C4rpeDime
发布2022-04-26 14:44:41
1.8K0
发布2022-04-26 14:44:41
举报
文章被收录于专栏:黑白安全黑白安全

前言

嘿,老伙计!我敢打赌,你知道的这些文章,就像皮特他的老奶奶衣柜里的衣服,总要拿出来晒晒的,至于其他就让他去见鬼吧。

waf

这款waf更新的很快,年前有个bypass注入的视频,提到waf对cookie检查不严,过段时间waf就更新。我写这种本地测试bypass文章时,总有感觉就是自嗨,这对实战有没有意义,我还记得搞xss绕过,是因为我在x某个WebShell箱子时,D盾拦截了,我就开始研究了一波绕过。实站中xss的点很苛刻的,就很多时候本地测试bypass就像玩靶机一样,真提枪干时,可利用的少,有点好的提升脑洞,锻炼动手能力(ノ*・ω・)ノ 。

XSS绕过某盾 渗透测试 安全文摘 安全文摘  第1张
XSS绕过某盾 渗透测试 安全文摘 安全文摘 第1张

测试

思路方面,可以先fuzz一波标签看看结果。

XSS绕过某盾 渗透测试 安全文摘 安全文摘  第2张
XSS绕过某盾 渗透测试 安全文摘 安全文摘 第2张

嗯,就我特意写上的Payload 403,其他都200。因为各种waf的之间或多或少的规则特性上差异,例如下图长亭的XSSChop检测为无风险,这个测试语句虽然不会弹框,但是你换其他waf的话,可能瞬间爆炸。所以我们fuzz时,首先得构造有效payload,实在不行简单粗暴直接拿大量payload过去,再研究能过的payload。

XSS绕过某盾 渗透测试 安全文摘 安全文摘  第3张
XSS绕过某盾 渗透测试 安全文摘 安全文摘 第3张

绕过

绕过的话,我手头已经有一些测试好可以bypass的,这些都要靠自己fuzz结合自己手工测出来的。

不常见标签

<details> <button> <select> <keygen> <textarea>这几个都可以,如何找到这些呢?关注HTML5新特性,出了那些新标签新属性,再自己测试一波。

XSS绕过某盾 渗透测试 安全文摘 安全文摘  第4张
XSS绕过某盾 渗透测试 安全文摘 安全文摘 第4张
思考

首先一个xss payload基本有以下几部分组成

  • [TAG]填充标签img svg video button...
  • [ATTR]=Something 填充一些非必要的属性 src=1 xmlns="jp.pornhub.com/"
  • [EVENT]填充事件属性onerror onload...
  • [SAVE_PAYLOAD]填充javascript代码alert(1) top.alert(1)...
XSS绕过某盾 渗透测试 安全文摘 安全文摘  第5张
XSS绕过某盾 渗透测试 安全文摘 安全文摘 第5张

经过测试,有2个思路:第一就是不常见标签,从上面测试可以看出,这是最轻松的,下面贴几个。

XSS绕过某盾 渗透测试 安全文摘 安全文摘  第6张
XSS绕过某盾 渗透测试 安全文摘 安全文摘 第6张

(为什么要截图不直接贴代码 因为阿里云拦截w(゚Д゚)w)

第二个思路就是,就是先从[EVENT]入手,为什么这么讲,请看下面的测试。

XSS绕过某盾 渗透测试 安全文摘 安全文摘  第7张
XSS绕过某盾 渗透测试 安全文摘 安全文摘 第7张
XSS绕过某盾 渗透测试 安全文摘 安全文摘  第8张
XSS绕过某盾 渗透测试 安全文摘 安全文摘 第8张

当我们把代表[EVENT]onload去掉时,就不拦截了。

构造fuzz字典,从[EVENT]填充事件属性。

XSS绕过某盾 渗透测试 安全文摘 安全文摘  第9张
XSS绕过某盾 渗透测试 安全文摘 安全文摘 第9张
XSS绕过某盾 渗透测试 安全文摘 安全文摘  第10张
XSS绕过某盾 渗透测试 安全文摘 安全文摘 第10张

fuzz得到些有效的数据,挑些200事件属性。

XSS绕过某盾 渗透测试 安全文摘 安全文摘  第11张
XSS绕过某盾 渗透测试 安全文摘 安全文摘 第11张

接下来就是对[SAVE_PAYLOAD]进行fuzz,我这里自己直接给出个bypass的payload

XSS绕过某盾 渗透测试 安全文摘 安全文摘  第12张
XSS绕过某盾 渗透测试 安全文摘 安全文摘 第12张

大概就是把xss payload分成几块,逐部分的去fuzz。 贴些特殊的payload:

XSS绕过某盾 渗透测试 安全文摘 安全文摘  第13张
XSS绕过某盾 渗透测试 安全文摘 安全文摘 第13张

后记

本文并没有给什么特别骚的代码,重点在于2个思路,感觉本质是一样的fuzz,第二种思路就是通过这种拆分xss payload,收集构造有效字符集,进行fuzz得到字典,在对waf进行fuzz,难点在于构造有效字符集(๑•̀ㅂ•́)و✧

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-11-03),如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • waf
  • 测试
  • 绕过
    • 不常见标签
      • 思考
      • 后记
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档