每日一练:攻防世界:5-1 MulTzor

一、XorTool

基于 XOR(异或)运算实现。它可以帮助您快速地对文本、二进制文件进行加密解密操作。

认识XorTool工具:

让我们先去认识一下工具:

xortool.py 是基于 python 的脚本,用于完成一些 xor 分析,包括:

猜想 key 的长度

猜想 key 的值

解密一些经过 xoe 加密的文件

也就是说当遇到不知道文件类型的文件,可以尝试去看看它是否被xoe加密了吗?

安装:

sudo pip install docopt cd /data/src git clone https://github.com/hellman/xortools.git cd xortool sudo python setup.py install (PS:安装不了一点,我老是报错) 直接pip3 install xortool

使用:

加密命令

python xortool-xor.py -f ./text/cmd.exe -s "secret_key" -n -o binary_xored_cmd

-f表示待加密的原文件,-s是密钥,-o是输出文件

注意,必须加上-n保证加密内容就是原本文件,不然会把原本文件加个-n再加密,这样解密出来的文件会多个\n。我不清楚作者为什么这么设计,但还是保留了下来。

输出文件用-o来指定,不要用作者的>重定向来保存,这是win版最大的区别。

上述代码是加密二进制文件的示例,还可以加密字符串,具体的看xortool-xor.py的帮助说明

解密命令:

python xortool.py binary_xored_cmd -l 10 -c 00 xortool -c 20 cipher

其中-l就是指定密钥长度,-c表示出现频率最高的字符。这个需要根据经验,比如文本内容一般是空格(20),二进制文件一般是00

例题:攻防世界:5-1

在刷攻防遇到的题MulTzor:WP中需要使用到xortools这个解密工具。

了解后,先分析一道简单的题:攻防世界:5-1(PS:哦其实也不简单,)

将文件放到vscode中怀疑是二进制文件,所以用xortool工具试一试?

xortool -c 20 cipher

cipher就是要解密的文件

这里拿到key:GoodLuckToYou

之后对原文件异或:用python2跑

key = 'GoodLuckToYou' flag = '' with open('cipher') as f: con = f.read() for i in range(len(con)): flag += chr(ord(con[i]) ^ ord(key[i%13])) f = open('flag.txt', 'w') f.write(flag) f.close()

拿到flag

例题:攻防世界:MulTzor

(PS:看了WP才知道题目错了,最后面少了个2)

我的分析:

一眼十六进制数据。尝试16进制转文件。打开后就不知道怎么做了

16进制转文件脚本:

hex_data = "48656c6c6f20576f726c64" # 这是填十六进制表示 bytes_data = bytes.fromhex(hex_data) # 将十六进制数据转换为字节对象 with open('output.bin', 'wb') as f: # 以二进制写入模式打开文件 f.write(bytes_data) # 写入字节数据

WP:

16进制转文件后用到的是XorTool解密

xortool -c 20 cipher

(那这个不是文本文件啊,应该是二进制文件,为什么不是 -c 00)

解密后查看,有个flag,结果是假的

文章中很明显每隔四个正确的字符就有一个错误的字符。但是它怎么推测出密钥的第一位是错误的?

T-e fla" is: DCTF{udcea3q5ba46s80b0bv23d8a}10643 9}

密钥:w3\xffSY\x8b

之后的思路就是异或。T-e本来为The 现在密钥的第一位w是错的,-和w异或拿到Z。再将Z和h异或拿到正确密钥2

正确密钥:23\xffSY\x8b

后面就卡住了不知道哪里出了问题,这个题到此为止吧。

学到一个新思路:文本文件、二进制文件、词频统计就想到XorTool工具

参考文章:

[CTF] 攻防世界MISC高手区部分题目WriteUp_ctfer2333-CSDN博客

攻防世界 MISC - MulTzor_攻防世界 multzor-CSDN博客

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

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

相关文章

TCP与UDP_三次握手_四次挥手

TCP vs UDP TCP数据 具体可以通过Cisco Packet Tracer工具查看: UDP数据 三次握手、四次挥手 为什么是3/4次?这牵扯到单工、双工通信的问题 TCP建立连接:表白 TCP释放连接:分手 TCP—建立连接—三次握手 解释: 首先&…

CSS+JS:通过修改filter实现图片颜色随时间渐变

原理&#xff1a;修改filter的hue-rotate属性 效果&#xff1a; 代码: <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0&q…

7.系统工具——黑马程序员Java最新AI+若依框架项目

目录 前言一、表单构建任务&#xff1a;设计添加课程表单 二、 代码生成1.任务&#xff1a;将部门表在页面端显示改为树形结构 三、系统接口任务&#xff1a;使用sagger进行接口测试 前言 提示&#xff1a;本篇讲解若依框架 系统工具 一、表单构建 功能&#xff1a;完成前端…

《web程序设计》课程大作业,XX地旅游景点网站【IDEA下JSP(前后端)+MySQL技术】

背景&#xff1a; 《web程序设计》课程大作业要求 一、课程目标&#xff1a;课程教学目的是让学生能够全面了解和掌握目前国内比较流行的交互式网页制作的理论知识与开发技术&#xff0c;能开发制作出有一定实用性的交互式网站&#xff0c;为将来继续学习和就业打下坚实基础。…

Linux系统及常用命令介绍

一.介绍 Linux一套免费使用和自由传播的类Unix操作系统&#xff0c;是一个遵循POSIX的多用户、多任务、支持多线程和多CPU的操作系统。Linux系统的说明可以自行百度&#xff0c;知道这几点即可&#xff1a; 1.Linux中一切都是文件&#xff1b; 2.Linux是一款免费操作系统&…

水滴型粉碎机:饲料加工关键设备

在现代饲料加工行业中&#xff0c;高效、精准的加工设备对于提升饲料品质和产量至关重要。水滴型粉碎机作为一种实用的饲料加工设备&#xff0c;凭借其设计和性能&#xff0c;在饲料加工领域发挥着不可替代的作用。 一、水滴型粉碎机的设计特点 水滴型粉碎机采用了水滴型设计&a…

[图解]企业应用架构模式2024新译本讲解16-行数据入口2

1 00:00:00,750 --> 00:00:02,470 好&#xff0c;我们来看代码 2 00:00:03,430 --> 00:00:06,070 我们一步一步执行 3 00:00:42,500 --> 00:00:45,000 先初始化数据 4 00:00:52,300 --> 00:00:53,650 创建连接 5 00:00:55,900 --> 00:00:56,970 这里面 6 0…

帝国cms批量取消文章审核-把已审核的文章改成未审核的方法

帝国cms很多人采集的时候&#xff0c;把文章弄成了审核过的文章&#xff0c;或者因为其他的原因&#xff0c;文章都是审核通过&#xff0c;为了seo又不能把全部文章放出来&#xff0c;所以需要把文章弄成未审核以下就是解决本问题的办法 首先来修改后台列表文件&#xff0c;自…

【SPSS】基于RFM+Kmeans的电商客户价值聚类分析

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…

Node.js 是一个开源的 跨平台的JavaScript运行环境

https://www.npmjs.com/ 中央仓库 Visual Studio Code - Code Editing. Redefined https://openjsf.org/ OpenJS 促进了关键 JavaScript 技术在全球范围内的广泛采用和持续发展。 Apache服务器 Nginx服务器 Tomcat服务器 Node.js服务器 Gunicorn服务器 uW…

【第13章】进阶调试思路:如何安装复杂节点IP-Adapter?(安装/复杂报错/节点详情页/精读)ComfyUI基础入门教程

🎈背景 IP-Adapter这个名字,大家可能听说过,可以让生成的结果从参考图中学习人物、画风的一致性,在目前是比较实用的一个节点,广泛的用于照片绘制、电商作图等方面。 但同时,这个节点也是比较难安装的一个节点。 所以,这节课,我们就通过一个案例,来学习如何在Comf…

RX8025/INS5T8025实时时钟-国产兼容RS4TC8025

该模块是一个符合I2C总线接口的实时时钟&#xff0c;包括一个32.768 kHz的DTCXO。 除了提供日历&#xff08;年、月、日、日、时、分、秒&#xff09;功能和时钟计数器功能外&#xff0c;该模块还提供了大量其他功能&#xff0c;包括报警功能、唤醒定时器功能、时间更新中断功能…

Java | Leetcode Java题解之第188题买卖股票的最佳时机IV

题目&#xff1a; 题解&#xff1a; class Solution {public int maxProfit(int k, int[] prices) {if (prices.length 0) {return 0;}int n prices.length;k Math.min(k, n / 2);int[] buy new int[k 1];int[] sell new int[k 1];buy[0] -prices[0];sell[0] 0;for (…

windows安装docker

【Docker】掌握 Docker魔法&#xff1a;Windows 11 平台上的完美容器部署终极指南_win11安装docker-CSDN博客https://blog.csdn.net/joeyoj/article/details/136427362Windows安装使用Docker&#xff0c;方便你的开发和部署(DockerDesktop篇)_windows docker安装部署-CSDN博客h…

示例:WPF中应用DataGrid读取实体DisplayAttribute特性自动自动生成列名

一、目的&#xff1a;通过重写DataGrid的OnAutoGeneratingColumn方法实现根据定义特性自动生成列头信息功能 二、实现 <DataGrid ItemsSource"{local:GetStudents Count50}"/>实体定义如下 public class Student{[DataGridColumn("*")][Display(Na…

统信UOS1070上配置文件管理器默认属性03

原文链接&#xff1a;统信UOS1070上配置文件管理器默认属性03 Hello&#xff0c;大家好啊&#xff01;今天给大家带来一篇关于在统信UOS 1070上配置文件管理器默认属性的第三篇文章——配置工作区、侧边栏及高级设置。通过这些配置&#xff0c;您可以更好地组织和管理文件&…

r2frida:基于Frida的远程进程安全检测和通信工具

关于r2frida r2frida是一款能够将Radare2和Frida的功能合二为一的强大工具&#xff0c;该工具本质上是一个Radare2的自包含插件&#xff0c;可以帮助广大研究人员利用Frida的功能实现对目标进程的远程安全检测和通信管理。 Radare2项目提供了针对逆向工程分析的完整工具链&…

高考十字路口:24年考生如何权衡专业与学校的抉择?

文章目录 每日一句正能量前言专业解析理工科专业商科专业人文社科专业艺术与设计专业个人经验与思考过程结论 名校效应分析名校声誉与品牌效应资源获取学术氛围就业优势个人发展结论 好专业和好学校的权衡个人职业目标行业需求教育质量资源和机会学术氛围就业优势经济和地理位置…

基于YOLOv5的火灾检测系统的设计与实现(PyQT页面+YOLOv5模型+数据集)

基于YOLOv5的火灾检测系统的设计与实现 概述系统架构主要组件代码结构功能描述YOLOv5检测器视频处理器主窗口详细代码说明YOLOv5检测器类视频处理类主窗口类使用说明环境配置运行程序操作步骤检测示例图像检测视频检测实时检测数据集介绍数据集获取数据集规模YOLOv5模型介绍YOL…

16.RedHat认证-Ansible自动化运维(中)

16.RedHat认证-Ansible自动化运维(中) 部署Ansible Ansible的Inventory文件 Inventory文件定义了ansible管理的主机&#xff0c;说白了就是Inventory文件中的内容是记录被管理的主机。 Inventory文件分为两种&#xff0c;一种是静态的Inventory文件&#xff0c;一种是动态的…