首页 > 其他分享 >【Sword系列】第七届全国残疾人职业技能大赛样题-网络安全-应该不难吧

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

时间:2023-09-12 19:36:14浏览次数:35  
标签:编码 base64 HTTP URL Base64 密码 Sword 职业技能 样题

(文章目录)


前言

1.凯撒密码

凯撒密码也称移位密码,是一种简单的加密方法,将明文中每个字母向后移动固定的位数,得到密文。例如,向后移动3位,则明文的A变成D,B变成E,C变成F,以此类推。

凯撒密码和栅栏密码都是古典密码中常用的技术。凯撒密码是字母替换密码中最简单的一种,也是最为简单的一种字母替换密码。栅栏密码也是一种古典的密码技术,通过在明文中插入一个或多个在字母表上排列的栅栏,再将明文从上往下填充栅栏中的位置,最后将密文从左往右按照行的顺序读出来,就能得到加密后的密文。

2.Base64编码的概念

Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。可查看RFC2045~RFC2049,上面有MIME的详细规范。

Base64编码是从二进制到字符的过程,可用于在HTTP环境下传递较长的标识信息。例如,在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一标识符(一般为128-bit的UUID)编码为一个字符串,用作HTTP表单和HTTP GET URL中的参数。在其他应用程序中,也常常需要把二进制数据编码为适合放在URL(包括隐藏表单域)中的形式。此时,采用Base64编码具有不可读性,需要解码后才能阅读。

3.Base64编码的应用

Base64编码可用于在HTTP环境下传递较长的标识信息。例如,在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一标识符(一般为128-bit的UUID)编码为一个字符串,用作HTTP表单和HTTP GET URL中的参数。在其他应用程序中,也常常需要把二进制数据编码为适合放在URL(包括隐藏表单域)中的形式。此时,采用Base64编码不仅比较简短,同时也具有不可读性,即所编码的数据不会被人用肉眼所直接看到。

然而,标准的Base64并不适合直接放在URL里传输,因为URL编码器会把标准Base64中的“/”和“+”字符变为形如“%XX”的形式,而这些“%”号在存入数据库时还需要再进行转换,因为ANSI SQL中已将“%”号用作通配符。

为解决此问题,可采用一种用于URL的改进Base64编码,它不仅在末尾去掉填充的’='号,并将标准Base64中的“+”和“/”分别改成了“-”和“_”,这样就免去了在URL编解码和数据库存储时所要作的转换,避免了编码信息长度在此过程中的增加,并统一了数据库、表单等处对象标识符的格式。

另有一种用于正则表达式的改进Base64变种,它将“+”和“/”改成了“!”和“-”,因为“+”,“/”以及前面在IRCu中用到的“[”和“]”在正则表达式中都可能具有特殊含义。

此外还有一些变种,它们将“+/”改为“-”或“.”(用作编程语言中的标识符名称)或“.-”(用于XML中的Nmtoken)甚至“_:”(用于XML中的Name)。

4.其他应用

Mozilla Thunderbird和Evolution用Base64来保密电子邮件密码

Base64 也会经常用作一个简单的“加密”来保护某些数据,而真正的加密通常都比较繁琐。

垃圾讯息传播者用Base64来避过反垃圾邮件工具,因为那些工具通常都不会翻译Base64的讯息。

在LDIF档案,Base64用作编码字串。

一、应该不难吧

1.打开题目

在这里插入图片描述

2.解题

1、题目信息 题目给出的字符串:e6Z9i~]8R~U~QHE{RnY{QXg~QnQ{^XVlRXlp^XI5Q6Q6SKY8jUAA

2、解题思路 观察最后的AA,联想到base64编码最后常出现的==,A的ASCII码值为65,=的ASCII的码值为61,分析可能是base64编码做了偏移,尝试将密文所有字符的ASCII码值-4,然后再做base64解码。

base64编码之后做偏移加密,凯撒密码的base64形式(自己起的名字)。

3、脚本解题 遍历密文字符串的每个字符,获取它的ascii码值,-4之后转化为新的ASCII字符,拼接转化的字符之后获得还原的base64字符串,然后再做base64解密。这里的4就相当于凯撒密码的密钥。

import base64
c='e6Z9i~]8R~U~QHE{RnY{QXg~QnQ{^XVlRXlp^XI5Q6Q6SKY8jUAA'
base64str=''
for i in range(len(c)):
    base64str+=chr(ord(c[i])-4)
print(base64.b64decode(base64str))

flag:key{68743000650173230e4a58ee153c68e8}

标签:编码,base64,HTTP,URL,Base64,密码,Sword,职业技能,样题
From: https://blog.51cto.com/u_15952481/7447488

相关文章

  • John:No password hashes left to crack (see FAQ)
    使用john--wordlist=/usr/share/wordlists/rockyou.txt文件名出现:Usingdefaultinputencoding:UTF-8Loaded1passwordhash(netntlmv2,NTLMv2C/R[MD4HMAC-MD532/64])Nopasswordhasheslefttocrack(seeFAQ)说明该文件已经被破解过,结果存放在john.pot中......
  • 【Sword系列】第七届全国残疾人职业技能大赛样题-网络安全-疑惑的汉字
    (文章目录)前言当铺密码通常使用汉字来隐藏信息,专门用来加密数字,不需要密钥,明文信息包含在加密后的密文中。较常见的当铺密码有两种,一种是将数字映射到对应笔画的汉字,另外一种是利用汉字的字形特征,当前汉字有多少笔画出头就转化成数字几。一、疑惑的汉字1.打开题目2.解题......
  • 致远 resetPassword 任意密码重置
    一级sdasd一级撒打算打算的二级阿斯顿撒的撒打算大三级撒打算三级收纳斤斤计较斤斤计较四级四十几岁就死手机死机死机啊大叔......
  • 【Sword系列】第七届全国残疾人职业技能大赛样题-网络安全-星际争霸
    (文章目录)前言1.awkawk是一种文本处理工具,可以用于对文本数据进行各种操作,例如分割、过滤、搜索、替换等。主要用途包括数据分析、文本搜索、日志处理等。awk命令的基本语法为:awk[选项参数]'模式1{操作1}模式2{操作2}...'文件名其中,模式用于匹配文件中的数据,操作则......
  • 【Sword系列】第七届全国残疾人职业技能大赛样题-网络安全-古典密码
    (文章目录)前言古典密码是指使用传统的替换或移位方式对明文进行加密,例如凯撒密码、栅栏密码等。在这种加密方式中,加密密钥通常是公开的,因此易被破解。现代密码学基本上已经放弃了古典密码的加密方式,而采用更加高级的数学算法来保证加密的安全性。ASCII是一种字符编码标准,它规......
  • WPF PasswordBox控件的使用
    在做登陆框的时候使用到PasswordBox,PasswordBox并不能像TextBox一样通过Binding就可以实现MVVM,需要用到依赖属性。 LoginView文件的代码:<StackPanelGrid.Row="0"Orientation="Horizontal"Margin="5"><TextBlockText="Username:"Width=&qu......
  • Navicat Premium保存密码失败:Failed to save password Error code: -34018
    卸载卸载干净后重装15.0.29或之后的版本,卸载参见:https://download.csdn.net/blog/column/9651437/103915601:sudorm-Rf/Applications/Navicat\Premium.appsudorm-Rf/private/var/db/BootCaches/CB6F12B3-2C14-461E-B5A7-A8621B7FF130/app.com.prect.NavicatPremium.play......
  • msword 写入word内容
    voidCmdeskDlg::OnBnClickedTestbutton(){ //TODO:Addyourcontrolnotificationhandlercodehere //WriteDB(); //TODO:Addyourcontrolnotificationhandlercodehere CApplicationoApp; CDocuments oDocs; CDocument0 oDoc; if(!oApp.CreateDispatch......
  • 搭建自己的私人密码库!Bitwarden 部署安装教程 (免费 1Password 替代品)
    常生活中我们几乎每个人都会拥有大量网站帐号,时间久远了密码很容易忘记。因此,像1Password等密码管理+同步+一键登录的工具成为了很多人的首选。然而1Password毕竟要付费,也有人会担心这类工具有隐私泄露的风险。其实,如果你有一台自己的VPS服务器,那么就能用开源的Bitwar......
  • java.sql.SQLException: Access denied for user 'root'@'localhost' (using password
    场景:使用mybatis-plus和SpringBoot,用Druid连接,查询数据库时出现异常用户访问被拒绝java.sql.SQLException:Accessdeniedforuser'root'@'localhost'(usingpassword:YES)在application.yml中核对过用户名密码后发现连接数据库密码是正确的,问题出在哪儿呢?appliation.yml......