WinRar 4.20 – 文件扩展名欺骗(0Day)
时间:2022-04-26
本文章向大家介绍WinRar 4.20 – 文件扩展名欺骗(0Day),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
WinRar 是常用的压缩与解压缩软件工具。它能将数据压缩成.rar或则.zip格式的包。这篇文章就是给大家呈现Winrar 4.20的一个最新漏洞(0 day),下面是关于zip文件的相关简要介绍。
Offset
Bytes
Description[25]
00 4 Local file header signature = 0x04034b50 (read as a little-endian number)
04 2 Version needed to extract (minimum)
06 2 General purpose bit flag
08 2 Compression method
10 2 File last modification time
12 2 File last modification date
14 4 CRC-32
18 4 Compressed size
22 4 Uncompressed size
26 2 File name length (n)
28 2 Extra field length (m)
30 n File name
30+n m Extra field
(the information taken from wiki - http://en.wikipedia.org/wiki/Zip_(file_format) )
-------------------------------------
通过文件格式的描述符中,我们可以看到,偏移30的地址指向压缩文件的名字。当我们尝试用WinRar 4.20将文件压缩为"zip 格式"文件时,文件结构看起来没变,但是WinRar添加了一些其独有的文件属性参数。
WINRAR添加额外的“文件名”到压缩文件的“文件名”中。进一步的分析表明,第二个“文件名”是文件的真实文件名,当第一个“文件名”出现在WinRar的 GUI窗口时,WinRar会把第一个“文件名”分配给解压后的文件作为文件名。
这种行为可以很容易地变成一个非常危险的安全漏洞。
假如恶意人员发布一些所谓的txt文本文件,例如“README.TXT”或者PDF格式文件,如“VirusTotal_ScanResults.pdf”,或者更诱人的文件,如“海天盛宴高清图片.jpg”黑客。受害者会因为放松警惕,而运行恶意程序。
相关POC可以参考如下链接:
http://an7isec.blogspot.co.il/2014/03/winrar-file-extension-spoofing-0day.html
From:http://www.exploit-db.com/papers/32480/
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- python基本数据类型
- Python 技术篇-PyQt5动画功能演示,组件移动、尺寸改变动画演示
- 搭建k8s高可用集群 - 二进制方式
- DeepWalk:图网络与NLP的巧妙融合
- 基于kubeadm搭建k8s高可用集群
- 扑克牌例题与Collections工具类
- 快速了解Kubernetes
- PyQt5 技巧篇-按钮竖排显示方法,Qt Designer设置按钮竖排显示。
- Kafka集群监控、安全机制与最佳实践
- PyQt5 技术篇-设置输入框的placeholder方法,Qt Designer设置Line Edit、Text Edit编辑框的placeholder
- Kafka集群搭建及必知必会
- Python 技术篇-打开指定文件夹、目录、路径方法,运行指定文件演示
- Python 技巧篇-同一个方法多次引用不同效果功能实现,可选参数设置方法
- Kafka核心API——Connect API
- PyQt5 技术篇-设置alignment对齐方式。Qt Designer设置文本对齐方式。居中、左对齐、右对齐、上对齐、下对齐。