实验吧-杂项-pilot-logic、ROT-13变身了
1、pilot-logic
题上说password藏在文件里,直接丢到Winhex里,搜索pass就拿到flag了。

有的大佬提供了另一种方法,题上说是一个磁盘文件,有一个处理磁盘文件的软件autopsy,不过这个软件有点大(超过500M),可以直接导入后就能看到flag了。
2、ROT-13变身了
ROT13(回转13位,rotate by 13 places,有时中间加了个连字符称作ROT-13)是一种简易的替换式密码。
原理:(摘自百度百科)
套用ROT13到一段文字上仅仅只需要检查字元字母顺序并取代它在13位之后的对应字母,有需要超过时则重新绕回26英文字母开头即可。A换成N、B换成O、依此类推到M换成Z,然后序列反转:N换成A、O换成B、最后Z换成M。只有这些出现在英文字母里头的字元受影响;数字、符号、空白字元以及所有其他字元都不变。因为只有在英文字母表里头只有26个,并且26=2×13,ROT13函数是它自己的逆反: [1]
对任何字元x:ROT13(ROT13(x))=ROT26(x)=x。
换句话说,两个连续的ROT13应用函式会回复原始文字(在数学上,这有时称之为对合(involution);在密码学上,这叫做对等加密(reciprocalcipher))。
转换可以利用查找表完成,如下例所示:
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
NOPQRSTUVWXYZABCDEFGHIJKLMnopqrstuvwxyzabcdefghijklm
例如,下面的英文笑话,精华句为ROT13所隐匿:
How can you tell an extrovert from an
introvert at NSA?Va gur ryringbef,
gur rkgebireg ybbxf ng gur BGURE thl'f fubrf.
透过ROT13表格转换整片文字,该笑话的解答揭露如下:
Ubj pna lbh gryy na rkgebireg sebz na
vagebireg ng AFN?In the elevators,
the extrovert looks at the OTHER guy's shoes.
第二次ROT13函数将转回原始文字。
题目给了我们一串ascii,直接rot13解密不行的,需要先将ASCII减13后再rot13解密。
写个程序吧ASCII每个都减13(这个从文件in.txt读取的,感觉python不太好像,于是用了C++):
#include<cstdio>
int main()
{
freopen("in.txt", "r", stdin);
int a;
while(~scanf("%d",&a)){
printf(" %d", a-13);
}
}
结果是:
70 76 65 71 32 73 83 32 102 108 97 103 123 119 119 119 95 115 104 105 121 97 110 98 97 114 95 99 111 109 95 105 115 95 118 101 114 121 95 103 111 111 100 95 63 63 63 63 125 10 77 68 53 58 51 56 101 52 99 51 53 50 56 48 57 101 49 53 48 49 56 54 57 50 48 97 97 99 51 55 49 57 48 99 98 99
再去转成字符串:FLAG IS flag{www_shiyanbar_com_is_very_good_????}MD5:38e4c352809e150186920aac37190cbc
可以看到,已经出flag了,不过是一部分,后面有个md5,应该是那四个?部分的字符,这个MD5在许多网站上都是无法查询的,于是用python爆破:
import hashlib
dic = '@[\]^_`{|}~!#$%&()*+,-./:;<=>?0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
strs = '38e4c352809e150186920aac37190cbc'
for a in dic:
for b in dic:
for c in dic:
for d in dic:
s = 'flag{www_shiyanbar_com_is_very_good_' +str(a)+str(b)+str(c)+str(d)+'}'
m = hashlib.md5()
m.update(s.encode())
if m.hexdigest()==strs:
print('Yes')
print(s)
exit()
else:
print(s)
刚开始还以为????代表的四个字符加密后是那串MD5,最后才知道是整个flag。
得到flag:
实验吧-杂项-pilot-logic、ROT-13变身了的更多相关文章
- 实验吧-杂项-你知道他是谁吗?(转盘密码、NTFS数据流检测及导出)
刚看到的时候听懵,没注意到重点,其实很多时候题目中的细节就是给我们线索的,所以审题和思考是很重要的. 在没做到点上的是,也做了一点努力,没有效果,科普一下这个人((*^▽^*))图片上是托马斯.杰斐逊 ...
- 实验吧-杂项-64格(64进制--base64索引)
下载gif,Winhex打开发现文件头缺失,加上文件头GIF89得到正常图片,用帧分解工具把每一帧分解. 图片主要是一个8×8的方格,好像没什么线索,把每一帧图片上小黄人的占格的位置数出: 17 54 ...
- 实验吧-杂项-WTF?(python 01代码转图片)
比较新的题型了吧. code为base64码,转码出来是01代码,直接蒙圈,查阅相关wp才知道是转图片的. 复制到编辑器里可以看到一共65536个数字,开方是256,于是这就是一个方形的图片了–> ...
- 实验吧-杂项-你没有见过的加密!(php srand()和rand()函数)
什么垃圾东西,弄半天,Windows上运行乱码,linux上7.3的php运行也是乱码(气死). 下载文件,查看内容 <?php function encrypt($str) { $crypte ...
- 实验吧-杂项-MD5之守株待兔(时间戳&python时间戳函数time.time())
其实也有点蒙圈,因为从没做过和时间戳有关的题. 打开网站,将系统密钥解密得到一串值,而自己的密钥解密是空的,既然说是要和系统匹配,就把解密得到的值以get方式送出去. 但是发现还是在自己的密钥也发生了 ...
- 实验吧-杂项-啦啦啦(数据包http导出、图片拼接)
比较综合的一道题. 1.数据包数据提取 首先下载数据包,一般数据包都是抓取的一些数据,需要对数据进行分析. 用wireshark打开数据包,筛选出http协议的数据,发现有两个是上传的数据: 我们就看 ...
- 实验吧-杂项-flag.xls(notepad++查找)、保险箱(linux文件分解、密码破解)
flag.xls 下载文件,用notepad++打开,查找flag就能找到flag. 保险箱(linux文件分解.密码破解) 将图片保存下来,用kali的binwalk分析,发现有rar文件,然后用f ...
- struts标签--logic总结
1. logic:empty 该标签是用来判断是否为空的.如果为空,该标签体中嵌入的内容就会被处理.该标签用于以下情况: 1)当Java对象为null时: 2)当String对象为"&quo ...
- Struts 1 之<logic>标签库
1. logic:empty logic:empty标签是用来判断是否为空的.如果为空,该标签体中嵌入的内容就会被处理.该标签用于以下情况: 当Java对象为null时 当String对象为" ...
随机推荐
- 从零构建以太坊(Ethereum)智能合约到项目实战——第20章 搭建自己的私有链网络
P75 .1-以太坊私网建立 .合约编译.部署完全教程(1) 使用此博文进行安装配置:https://blog.csdn.net/w88193363/article/details/79402074 ...
- Python学习第十二课——json&pickle&XML模块&OS模块
json模块 import json dic={'name':'hanhan'} i=8 s='hello' l=[11,22] data=json.dumps(dic) #json.dumps() ...
- UCOS-III API函数
附录:UCOS-III API函数 任务管理 就绪列表 挂起队列 时间管理 信号量 消息队列 内存管理
- Mongodb - 解决 ( aggregate聚合管道 ) $match 根据 id 匹配 返回 [ ] 的问题
需要对 id 进行转换 const mongoose = require('mongoose') var ObjectId = mongoose.Types.ObjectId; await Use ...
- 2.Git知识
Git安装 Git在不同的操作系统上安装是不一样的,这里只讲解我们需要的,也就是在Windows下的安装,主要安装msysGit和TortoiseGit 安装msysGit,到https://code ...
- ORACLE 用32進制表示月中的一天
WHEN 'YMD' THEN v_year := to_char(SYSDATE, 'Y'); v_month := FN_CONVERT_DECIM ...
- Python学习第四课——基本数据类型一之int and str
1.数字(int) - int() 方法 # 定义 a1=123 a2=456 #功能1:将字符串转换为数字 #例子1: a = " print(type(a)) # type()为查看类型 ...
- HDU 5525:Product 欧拉定理
Product Accepts: 21 Submissions: 171 Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 131072 ...
- 第2节 storm实时看板案例:11、实时看板综合案例工程构建,redis的专业术语
redis当中的一些专业术语: redis缓存击穿 redis缓存雪崩 redis的缓存淘汰 =========================================== 详见代码
- 【ABP】从零开始学习ABP_001_新建实体功能
上一篇文章中介绍了如何下载.运行ABP Zero示例项目,这个示例项目可以直接作为模板进行二次开发,很适合做企业开发框架. 本未介绍基于ABP Zero示例项目,如何新建一个自定义的实体. 此处已Eq ...