【Sword系列】第七届全国残疾人职业技能大赛样题-网络安全-UU

举报
剑豪 发表于 2023/06/21 17:38:20 2023/06/21
【摘要】 UUencode是一种将二进制数据转换为可打印字符的编码方法,通常用于通过电子邮件发送二进制文件。它通过将二进制数据分割成6位的字节块,然后将每个字节块转换为一个可打印字符来实现。解码时,则是将这些字符转换回二进制数据。

前言

UUencode是一种将二进制数据转换为可打印字符的编码方法,通常用于通过电子邮件发送二进制文件。它通过将二进制数据分割成6位的字节块,然后将每个字节块转换为一个可打印字符来实现。解码时,则是将这些字符转换回二进制数据。

uuencode 编码方式用于将任意的二进制文件转换为文本文件,比如email.转换后的文件中仅包含可打印字符.
uuencode 运算法则将连续的 3字节编码转换成 4字节(8-bit 到 6-bit)的可打印字符. 该编码的效率高于Hex 格式.
编码算法为不断地用3个字节数据列成一组(不足3个字节以零补齐)然后 此24位数据分为4 组,每组6位,再将得到的6位二进制数映射到ASCII码32~95之间的字符,而每行以M 开头(表示32+45),60个字符一行(包括”M”),最后一行以32+N 的ASCII字符开头,N 为最后一行编码的输入字节数.编码以一个只含一个空格的一行和只含”end”的一行结束.
从二进制文件中读取 3字节的数据,表示如下(a7 表示 a字节的第 7位):
a7a6a5a4a3a2a1a0 b7b6b5b4b3b2b1b0 c7c6c5c4c3c2c1c0
转换它们到4字节里为如下所示:
0 0 a7a6a5a4a3a2 0 0 a1a0b7b6b5b4 0 0 b3b2b1b0c7c6 0 0 c5c4c3c2c1c0
然后,每个字节再加 0x20转换为可打印的字符.
注意: 如果是一个 0字节那它应该被转换为0x60而不是0x20,因为(前引用'`')优于 0x20(空格' ').
例如: 从文件中读取的 3字节如下:
14 0F A8
00010100 00001111 10101000
转换为 6-bit:
000101 000000 111110 101000
每字节高两位补 0后为:
00000101 00000000 00111110 00101000
最后每字节再加 0x20,则 4字节输出应该为:
25 60 5E 48
注意: 00字节被转换为 0x60而不是 0x20.
因此,在一个 uuencoded文件中仅包含字符 0x21 '!'到 0x60 '`',它们都是可打印和可被 email传送的.
这个转换过程也意味着 uuencoded 文件要比原文件大 33%的.

一、UU

1.打开题目


在这里插入图片描述

2.解题

解题网址:http://www.hiencode.com/uu.html

在这里插入图片描述

得到flag:welcome

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。