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

XSS 漏洞挖掘学习

XSS漏洞挖掘

检测原理和技巧

image-20250913164612448

直接使用xss靶场进行验证

如图:mark标签生效

image-20250913190314268

使用yakit抓包也可看出,标签是有颜色的

image-20250913190502335

不是下边这样没有被解析

image-20250913190610556

绕过技巧

详细绕过可参考以下链接

image-20250913185915661

xss 常用标签及绕过姿势总结 - FreeBuf网络安全行业门户

简单绕过

大小写:<ScriPt>alert(1);</ScriPt>

双写:<scr<script>ipt>alert(1);</script>scri</script>pt>

禁用alert:confirm(1),ptompt(1)

过滤括号:使用反引号代替

<script>alert`1`;</script>

禁用单引号:

<script>alert`1`;</script> <script>alert(/1/);</script>

image-20250913164952401

冷门标签绕过

image-20250913165031761

文件上传xss

PDF形式

image-20250913165346130

from PyPDF2 import PdfReader, PdfWriter# 创建一个新的 PDF 文档
output_pdf = PdfWriter()
# 添加一个新页面
page = output_pdf.add_blank_page(width=80, height=80)
# 插入 JavaScript:弹窗 alert(使用英文引号)
output_pdf.add_js("app.alert('老登-XSS!!!');")
# 输出为PDF文件
with open("alert.pdf", "wb") as f:output_pdf.write(f)

XML形式

XML-XSS制作

image-20250913170239941

<script xmlns="http://www.w3.org/1999/xhtml">
alert(666)
</script>

image-20250913170306764

SVG形式

image-20250913165522551

<?xml version="1.0" encoding="UTF-8"?>
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="100" height="100">
    <script type="application/javascript">
        alert('XSS Attack!');
    </script>
    <polygon points="0,0 0,50 50,0" fill="#009900" stroke="#004400"/>
</svg>

HTML形式

image-20250913165627030

<script>alert("你是老油条!!!")</script>

image-20250913165602814

特殊的XSS

jsonp

http://154.222.27.91:8882/jsonp/jsonp.php?callback=duan

image-20250913173129661

callback参数可控,直接插入xss攻击码即可看返回页面

image-20250913173155374

callback参数多是用jsonp,可以打xss

CRLF

CRLF 导致 XSS 漏洞的利用原理是:

​ CRLF(回车换行,\r\n)可用于操控 HTTP 响应的结构。

当应用未对用户输入的 CRLF 进行有效过滤或转义时,攻击者能在输入中插入 CRLF 序列,从而篡改 HTTP 响应头,甚至注入 HTML/JS 代码到响应体,引发 XSS 等攻击。

比如在 302 跳转场景,若 url 参数值直接拼接进响应头 Location 字段,攻击者可插入 %0d%0a(CRLF 的 URL 编码),添加恶意响应头(如 Set-Cookie);若进一步插入连续的 %0d%0a,还能突破响应头与响应体的界限,在响应体注入 <script> 等脚本标签,当浏览器渲染时执行脚本,实现 XSS 攻击。

多加几个换行确保js标签在响应体中返会,进而被执行

image-20250913173356797

Ueditor编辑器

存储型:

UEditor编辑器存储型XSS漏洞_ueditor xss漏洞-CSDN博客

大神论坛 UEditor 富文本web编辑器最新漏洞版XML文件上传导致存储型XSS - 大神论坛 - 博客园

image-20250913174752036

利用demo

image-20250913174900344

SeflXSS

selfxss就是只能自己攻击自己,不能打别人(比如在自己后台产生的xss),这种的企业src要求严格,这种估计就不收了,一个没有危害的漏洞,他们也不想给钱。

但是你去做众测、公司的项目,可以不用考虑self的问题,只要xss弹框就可以交

实战

登录框

思路get:

登录口处写入的信息能够回显

插入XSS代码即可被执行

登录提示:

某某账号不存在

某某账号密码错误

点击登录后账号信息仍然保留在输入框

image-20250913182310544

输入xss攻击代码

image-20250913182335761

点击登录成功弹窗

image-20250913182346470

收货地址

思路get:

测试收货地址处js代码发现可控

插入事件型js语句执行,实现触发

大概流程:

首先在收货地址的详细地址栏填写 “8888” 作为标记,方便后续查找网页代码。

接着查看网页代码,用ctrl + f搜索 “8888”,找到相关位置后,在详细地址处输入"oninput=alert(1)//,然后点击修改收货地址。

之后发现详细地址栏变空,再次点击详细地址输入框,成功触发弹窗,显示出1

利用原理:

这种操作的原理是利用了网页前端代码中可能存在的XSS(跨站脚本)漏洞

具体来说:

  1. 当在地址栏输入"oninput=alert(1)//时,这段内容会被当作代码片段嵌入到网页的 HTML 结构中
  2. "符号用于闭合原有 HTML 元素的属性引号,使后续内容被识别为新的属性
  3. oninput=alert(1)是添加了一个输入事件触发的 JavaScript 代码,当输入框被点击或输入内容时就会执行alert(1)弹窗
  4. //用于注释掉后续可能存在的多余代码,避免语法错误

详细过程如下:

image-20250913182544894

image-20250913182553833

image-20250913182600357

image-20250913182606159

image-20250913182610806

文件上传XSS

思路get:

在上传logo处抓包修改

利用HTML-XSS实现XSS触发

详细过程:

个人信息 → 单位 logo

image-20250913183422434

在这里上传文件时会调用/api/app-api/infra/file/upload我们抓包后将文件名改成xx.html内容写入<script>alert(1)</script>

image-20250913183505008

返回的响应包会给出文件路径,直接访问即可成功触发 XSS。

image-20250913183520581

用户名处

思路get:

注册框处输入恶意js实现存储型XSS

系统加载后访问抽奖结果即可触发

详细过程:

进入某抽签系统,大致页面如下

image-20250913183848291

网上抽签时可以登录任意的账号参加,姓名处插入

</td><img src=1 onerror=alert`1`>

image-20250913183905509

如果将该信息提交到系统中,访问抽签结果,即会触发姓名处的存储型XSS

image-20250913183917163

http://www.wxhsa.cn/company.asp?id=2955

相关文章:

  • str
  • 到底该用 KPI 还是 OKR ?
  • 【重点!!!】必知必会必须掌握的serializers序列化器类之Serializer和ModelSerializer核心区别
  • StringUtils.isNotBlank和StringUtils.isNotEmpty的区别
  • ECT-OS-JiuHuaShan框架元推理,已在DeepSeek上实现agi
  • 9.13CSP-S Day6 模拟赛
  • 助教工作总结
  • 了解一下Redis Stack扩展功能
  • 游戏运行库合集 集成VC++、.NET、DirectX、XNA等千款组件,一键安装游戏必备依赖库 - 指南
  • 【CE】图形化CE游戏教程通关手册 - 详解
  • GZHOIOJ律(三)
  • visual studio 切换重载
  • [AGC022F] Checkers 题解
  • 程序员的副业变现之路:我的双平台矩阵打法
  • Python 潮流周刊#119:Google 停止开发 Pytype!
  • 利用k8s client-go库创建CRD的informer的操作流程
  • Golang并发编程及其高级特性
  • 单个光子的行为、传播特性、物质相互作用及其应用就是[光学原理与应用-449]:量子光学 - 量子光学研究的
  • 和为 K 的子数组-leetcode
  • 元推理agi不是象人思维,而是教人思维,人类脸上挂不住啊
  • 《10人以下小团队管理手册》读后感
  • GZHOIOJ律(二)
  • 优惠券
  • GZHOIOJ律(一)
  • 基于ArcGIS Pro SDK 3.4.2 + C# + .NET 8 的自动化制图系统初探
  • Kali Linux 虚拟机安装(VMware Workstation 17)
  • 单例模式:线程安全,以及volatile关键字
  • lilctf 部分wp - Elma
  • 用 Python 和 Tesseract 实现验证码识别
  • Java 和 Tesseract 实现验证码识别