[QCTF2018]X-man-Keyword
题目链接
https://buuoj.cn/challenges#[QCTF2018]X-man-Keyword
注意:在Github里有题目描述,而BUUCTF平台上没有提示。
Welcome to QCTFhint1:把给出的keyword放到前面试试hint2:一种把关键词提前的置换
解题过程
题目是张图片:
”lovekfc“应该是和hint2里提到的关键词。用binwalk分析,没有什么东西。在stegsolve里也没有发现异常。在kali用lsb.py试试:
python2 lsb.py extract attachment.png attachment.txt lovekfc
查看attachment.txt文件,得到密文:
PVSF{vVckHejqBOVX9C1c13GFfkHJrjIQeMwf}
根据“hint1:把给出的keyword放到前面试试”的提示,从26个英文字母里把 “lovekfc”提出来放到前面做密钥。
lovekfcabdghijmnpqrstuwxyz
然后根据密钥替换密文中的字母解密(应该是Nihilist加密),这步用脚本来实现:
# -*- coding:utf-8 -*-
import stringciphertext = 'PVSF{vVckHejqBOVX9C1c13GFfkHJrjIQeMwf}'
secretkey = 'lovekfcabdghijmnpqrstuwxyz'
plaintext = ''for letter in ciphertext:if letter in string.ascii_lowercase:index = secretkey.lower().index(letter)plaintext += string.ascii_lowercase[index]continueif letter in string.ascii_uppercase:index = secretkey.upper().index(letter)plaintext += string.ascii_uppercase[index]continueplaintext += letterprint(plaintext)
运行结果:
QCTF{cCgeLdnrIBCX9G1g13KFfeLNsnMRdOwf}
小结
知识点:lsb隐写、Nihilist加解密。
[QCTF2018]X-man-Keyword相关推荐
- 解决方案:__init__() got an unexpected keyword argument ‘kill_previous‘
@[TOC](init() got an unexpected keyword argument 'kill_previous'解决方案) 在SublineText更新后,想通Ctrl+B运行Pyth ...
- warnings.warn(f“Pass {args_msg} as keyword args. From version
warnings.warn(f"Pass {args_msg} as keyword args. From version FutureWarning: Pass threshold=18 ...
- to_excel() got an unexpected keyword argument ‘sheetname‘
TypeError: to_excel() got an unexpected keyword argument 'sheetname' pandas写excel报错,将参数sheetname='xx ...
- Swift标识符和keyword
不论什么一种计算机语言都离不开标识符和keyword,下面我们将具体介绍Swift标识符和keyword. 标示符 标识符就是给变量.常量.方法.函数.枚举.结构体.类.协议等指定的名字.构成标识符的 ...
- RobotFrameWork(五)控制流之if语句——Run Keyword If
2019独角兽企业重金招聘Python工程师标准>>> 5.1 语句简介 robotframework中的if语句是使用关键字Run Keyword If来代替的 Run Keywo ...
- MNE-Python : TypeError: today() takes no keyword arguments
运行代码 在使用MNE读取gdf文件时 import mne %matplotlib inline# Mention the file path to the dataset path = " ...
- C++转义字符 amp; keyword
转义字符: 换行符 \n 水平制表符\t 纵向制表符 \v 退格符 \b 回车符 \r 进纸符 \f 报警(响铃)符 \a 反斜线 \\ 疑问号 \? 单引號 \' 双引號 \" ...
- TypeError: __init__() got an unexpected keyword argument #34serialized_options #34
TypeError: __init__() got an unexpected keyword argument 'serialized_options' TypeError: __init__() ...
- __call__() got an unexpected keyword argument 'partition_info'
__call__() got an unexpected keyword argument 'partition_info' 解决办法:将tensorflow降级为1.8.0,解决问题.
- reduce_sum() got an unexpected keyword argument 'keep_dims'
reduce_sum() got an unexpected keyword argument 'keep_dims' 2.0.0版本出的问题: 解决: normalize = tf.compat.v ...
最新文章
- Sql Injection 注入攻击
- CH - 4901 关押罪犯(二分图判定+二分/并查集)
- Windows安装Redis(转!)
- 一个sql生成hive日期维度表
- HTML学习笔记--HTML的语法【1】
- Bootstrap3 列表元素的样式
- Fast Intro To Java Programming (2)
- 系统镜像ISO写入U盘
- 初学树莓派——(六)树莓派安装OpenCV及USB摄像头配置
- 51单片机用三种方法实现流水灯(超详细)
- 差点被祭天!狂欢618,且看研发人如何绝地求生
- 前端,后端,前台,后台到底应该怎么理解。
- cesium.js 设置缩放最大最小限制
- 热更新原理及实践注意
- noip2015day1
- onu光功率多少是正常_ONU的接收光功率、发送光功率分别是多少?
- 工作不要太拼命,领导不会感动的!
- D-Link的DIR-655无线网络firmware升级(一)
- MathWorks官方MATLAB/Simulink基础入门视频教程 笔记(Simulink基础)
- RGBA 转 RGB