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

[GKCTF 2021]excel 骚操作1

使用010editor打开发现zip头,改后缀名xlsx为zip,解压,在D:\python\flag (1)\xl\worksheets目录下有个sheet1.xml就是ecxel的sheet1的主要样式style

看到很多c r="B2" s="1,只是单元格数据不同而已 ,还有的是s的有的赋值2

补充知识:execl 改zip解压后有个sheet.xml文件中出现c r="B2" s="1是甚意思

在Excel 2007及更高版本的文件中(‌即.xlsx格式)‌,‌文件实际上是一个ZIP压缩包,‌里面包含了多个XML文件和其他资源文件。‌当你将.xlsx文件扩展名改为.zip并解压后,‌你会看到类似sheet.xml这样的文件,‌这些文件定义了Excel工作表的具体内容。‌ 在sheet.xml文件中,‌你会遇到类似于<c r="B2" s="1">这样的标签。‌这里的标签<c>代表一个单元格(‌cell)‌,‌而它的属性则提供了关于该单元格的额外信息。‌具体来说:‌  r="B2":‌这里的r属性代表“row”(‌行)‌和“column”(‌列)‌,‌B2指的是该单元格位于第2行第2列(‌即B列的第2行)‌。‌在Excel中,‌行和列是通过字母和数字的组合来标识的。‌  s="1":‌这里的s属性是“style”的简写,‌代表单元格的样式。‌值1指的是样式表中定义的某个具体样式。‌样式表(‌通常是styles.xml文件)‌包含了单元格格式的定义,‌如字体、‌颜色、‌边框等。‌s="1"意味着该单元格应用了样式表中的第1个样式(‌注意,‌样式编号通常从0或1开始,‌具体取决于Excel的实现)‌。‌  综上所述,‌<c r="B2" s="1">这个标签定义了一个位于B2位置的单元格,‌该单元格应用了样式表中的第1个样式。‌ 这种XML格式的设计使得Excel文件的结构更加清晰,‌同时也便于通过编程方式处理和修改Excel文件内容。‌不过,‌直接编辑这些XML文件需要一定的XML知识,‌并且要小心操作,‌以免破坏文件结构导致文件损坏。‌如果你需如果你需要修改Excel文件的内容或样式,‌建议使用Excel软件本身或专门的库和工具来进行操作。‌

<c r="A2" s="1"><v>1</v></c><c r="B2" s="1"><v>1</v></c><c r="C2" s="1"><v>1</v></c><c r="D2" s="1"><v>1</v></c><c r="E2" s="1"><v>1</v></c><c r="F2" s="1"><v>1</v></c><c r="G2" s="1"><v>1</v></c><c r="H2" s="2"/><c r="I2" s="2"/><c r="J2" s="2"/><c r="K2" s="1"><v>1</v></c><c r="L2" s="1">

发现A2 B2 C2...G2单元格s=1;H2 J2 的s=2......我就不一一枚举了

既然修改能用excel修改,我们就用excel打开,全选-设置单元格格式-数字-常规-确定,

出现一堆1,再把1用黑色替换掉。

CTL+F,替换-格式-填充-选黑色-确定

有点扁,把列宽改小,由原来的8.11改成2.11

二维码?问问ai,是汉信码,又称中国的二维码,特点就是这个四个角,且左下角方向是反的。

需要安装APP进行扫描:

APP下载地址如下:

笔者的app没有运行成功,提示sdk版本过低。题目先做这里,就差这一步。

千辛万苦,终于在网上找到替代程序“中国编码”

smsto:13511100000:flag{9ee0cb62-f443-4a72-e9a3-43c0b910757e}

外话:继续sheet.xml研究

我们把改成这样的flag.xls改成zip,在flag \xl\worksheets目录下有个sheet1.xml打开,发现单元格A2 C2....全部是s=3,样式统一了。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • shadertoy sdSegment 原理
  • 工厂现场多功能帮手,三防平板改善管理体验
  • 简化登录流程,助力应用建立用户体系
  • 计算机视觉概念科普
  • linux 安装kafaka单体服务
  • OD C卷 - Wonderland游乐园
  • 【第57课】SSRF服务端请求Gopher伪协议无回显利用黑白盒挖掘业务功能点
  • Maven的使用
  • 多线程面试常问
  • MarkDown演示
  • 【PostgreSQL教程】PostgreSQL 高级篇之触发器
  • 以简单的例子从头开始建spring boot web多模块项目(四)-多模块工具类
  • Android TableLayout中TextView文本不居中问题
  • 大数据-91 Spark 集群 RDD 编程-高阶 RDD广播变量 RDD累加器 Spark程序优化
  • FastAPI vs Flask: 专业对比与选择
  • 分享的文章《人生如棋》
  • 《Java8实战》-第四章读书笔记(引入流Stream)
  • CentOS 7 修改主机名
  • CentOS6 编译安装 redis-3.2.3
  • Date型的使用
  • isset在php5.6-和php7.0+的一些差异
  • JavaScript学习总结——原型
  • Java多态
  • Python十分钟制作属于你自己的个性logo
  • Redis中的lru算法实现
  • spring boot下thymeleaf全局静态变量配置
  • 讲清楚之javascript作用域
  • 通过来模仿稀土掘金个人页面的布局来学习使用CoordinatorLayout
  • 新书推荐|Windows黑客编程技术详解
  • 用Canvas画一棵二叉树
  • 《TCP IP 详解卷1:协议》阅读笔记 - 第六章
  • Linux权限管理(week1_day5)--技术流ken
  • 阿里云重庆大学大数据训练营落地分享
  • 浅谈sql中的in与not in,exists与not exists的区别
  • ​【经验分享】微机原理、指令判断、判断指令是否正确判断指令是否正确​
  • ​探讨元宇宙和VR虚拟现实之间的区别​
  • ###C语言程序设计-----C语言学习(3)#
  • #【QT 5 调试软件后,发布相关:软件生成exe文件 + 文件打包】
  • #我与Java虚拟机的故事#连载18:JAVA成长之路
  • (14)Hive调优——合并小文件
  • (30)数组元素和与数字和的绝对差
  • (el-Transfer)操作(不使用 ts):Element-plus 中 Select 组件动态设置 options 值需求的解决过程
  • (Java岗)秋招打卡!一本学历拿下美团、阿里、快手、米哈游offer
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (附源码)SSM环卫人员管理平台 计算机毕设36412
  • (删)Java线程同步实现一:synchronzied和wait()/notify()
  • (实战)静默dbca安装创建数据库 --参数说明+举例
  • .form文件_SSM框架文件上传篇
  • .NET Compact Framework 3.5 支持 WCF 的子集
  • .net FrameWork简介,数组,枚举
  • .net 按比例显示图片的缩略图
  • .net 后台导出excel ,word
  • .NET 实现 NTFS 文件系统的硬链接 mklink /J(Junction)
  • .NET 中小心嵌套等待的 Task,它可能会耗尽你线程池的现有资源,出现类似死锁的情况
  • .Net 转战 Android 4.4 日常笔记(4)--按钮事件和国际化