56.low

得到一张bmp,世纪之吻,扔进kali中,binwalk,zsteg,无果,再放进stegsolve中,虽然发现小的数据块,但是过滤通道得不到任何信息,猜测是要用脚本进行

# lsb隐写
import PIL.Image as Image
img = Image.open('low.bmp')
img_tmp = img.copy()
pix = img_tmp.load()
width,height = img_tmp.size
for w in range(width):
for h in range(height):
if pix[w,h]&1 == 0:
pix[w,h] = 0
else:
pix[w,h] = 255
img_tmp.show()

处理后得到一张有二维码的图片

扫描后得到flag

57.misc1

题目中得到一串字符:d4e8e1f4a0f7e1f3a0e6e1f3f4a1a0d4e8e5a0e6ece1e7a0e9f3baa0c4c4c3d4c6fbb9e1e6b3e3b9e4b3b7b7e2b6b1e4b2b6b9e2b1b1b3b3b7e6b3b3b0e3b9b3b5e6fd

参考了一下WP,得知是先将字符串两个一组,当做十六进制转化为十进制,再将每个值减去128,再作为ascii转化为字符串就可以得到flag

java代码脚本:

public class Main {
public static void main(String[] args) {
String str = "d4e8e1f4a0f7e1f3a0e6e1f3f4a1a0d4e8e5a0e6ece1e7a0e9f3baa0c4c4c3d4c6fbb9e1e6b3e3b9e4b3b7b7e2b6b1e4b2b6b9e2b1b1b3b3b7e6b3b3b0e3b9b3b5e6fd";
int count = 0;
for (int i = 0; i < str.length(); i++) {
count++;//计数,保证两个为一组
if (count == 2) {
String sp_str = str.charAt(i - 1) + "" + str.charAt(i);// 两个为一组作为十六进制
Integer inte = Integer.parseInt(sp_str, 16);//转化为十进制
char ch = (char) (inte - 128);// 作为ascii转化为字符串
System.out.print(ch);
count = 0;
}
}
}

}

python代码脚本:

string = 'd4e8e1f4a0f7e1f3a0e6e1f3f4a1a0d4e8e5a0e6ece1e7a0e9f3baa0c4c4c3d4c6fbb9e1e6b3e3b9e4b3b7b7e2b6b1e4b2b6b9e2b1b1b3b3b7e6b3b3b0e3b9b3b5e6fd'

str = ''
for i in range(0, len(string), 2):
str += chr(int(string[i : i + 2], 16) - 128)#两个为一组,转化为十进制,转化为ascii
print(str)

得到flag

58.challenge_how_many_Vigenère

得到一串字符,猜测是加密了,题目有关键词维吉尼亚,用这个网站:https://www.guballa.de/vigenere-solver

注意用的时候,language选择English,Key Length填写3-100,得到解密后的内容,是爱丽丝梦游仙境,将Alice’s Adventures in Wonderland,根据题目,将所有的字符删去,将大写改为小写,用之前解密时得到的key加密:ohihzkssefkmqxqbkihybnynvndzkdlqvhwhgywaftmeteecqprzjczvnmhnzwyasmlwbwvaqitejbfofycejjlcbpk

得到字符串用LCTF{xxxxxxx}包装一下,得到flag

LCTF{osqjdcsvzjxfkoutsvdmoqcegnqc}

59.Miscellaneous-300

得到真加密的zip,没有任何提示,想起之前做过的一道题就是将zip的名字作为密码,试一下,解开了

多尝试了几个,发现都是这样的,网上找的脚本:

import zipfile
import re file_name = 'pic/' + 'f932f55b83fa493ab024390071020088.zip'
while True:
try:
zf = zipfile.ZipFile(file_name)
re_result = re.search('[0-9]*', zf.namelist()[0])
passwd = re_result.group()
zf.extractall(path='pic/', pwd=re_result.group().encode('ascii'))
file_name = 'pic/' + zf.namelist()[0]
except:
print("get the result")

这个脚本需要运行好长时间,最后得到一个加密的zip,用ARCHPR暴力破解,解密后,将音频扔入Audacity中观察频谱图,果然有发现

得到的就是flag

60.很普通的Disco

得到一个WAV,扔入Audacity中,看了一下频谱图,没有发现,观察开头,放大,正常都是波形图,而开头单独有一段是断点式图,有问题



将其转化为高为1,低为0,转化为二进制:

110011011011001100001110011111110111010111011000010101110101010110011011101011101110110111011110011111101

二进制转十进制再转字符串

脚本:

a='110011011011001100001110011111110111010111011000010101110101010110011011101011101110110111011110011111101'
flag=''
for i in range(15):
b=a[i*7:i*7+7]
c=int(b,2)
flag+=chr(c)
print(flag)

得到flag

攻防世界进阶区MISC ——56-60的更多相关文章

  1. dice_game攻防世界进阶区

    dice_game XCTF 4th-QCTF-2018 前言,不得不说,虽然是个简单题但是还是要记录一下,来让自己记住这些东西. 考察的知识点是: 1.cdll_loadlibrary加载对应库使得 ...

  2. 攻防世界Web区部分题解

    攻防世界Web区部分题解   前言:PHP序列化就是把代码中所有的 对象 , 类 , 数组 , 变量 , 匿名函数等全部转换为一个字符串 , 提供给用户传输和存储 . 而反序列化就是把字符串重新转换为 ...

  3. pwn篇:攻防世界进阶welpwn,LibcSearcher使用

    攻防世界welpwn (搬运一篇自己在CSDN写的帖子) 链接:https://blog.csdn.net/weixin_44644249/article/details/113781356 这题主要 ...

  4. 攻防世界新手区pwn writeup

    CGfsb 题目地址:https://adworld.xctf.org.cn/task/answer?type=pwn&number=2&grade=0&id=5050 下载文 ...

  5. 攻防世界-进阶-[re1-100]

    一.收集程序信息 64位的ELF文件,没有壳 二.放入IDA 使用64位IDA打开文件,先进行静态分析查看伪代码,进入main函数 通过这段可以得知输入的内容存储到了input中(这里我将bufwri ...

  6. 进阶区forgotg攻防世界

    攻防世界进阶区--forgot 前言,这题中看不中用啊宝友!!! 1.查看保护 第一反应就是蛮简单的,32位. 2.获取信息(先运行程序看看) 装的可以,蛮多的东西. 但是就是中看不中用 3.ida ...

  7. 攻防世界_MISC进阶区_Get-the-key.txt(详细)

    攻防世界MISC进阶之Get-the-key.txt 啥话也不说,咱们直接看题吧! 首先下载附件看到一个压缩包: 我们直接解压,看到一个文件,也没有后缀名,先用 file 看一下文件属性: 发现是是L ...

  8. 攻防世界Web刷题记录(进阶区)

    攻防世界Web刷题记录(进阶区) 1.baby_web 发现去掉URLhttp://111.200.241.244:51461/1.php后面的1.php,还是会跳转到http://111.200.2 ...

  9. 攻防世界 Misc 新手练习区 stegano CONFidence-DS-CTF-Teaser Writeup

    攻防世界 Misc 新手练习区 stegano CONFidence-DS-CTF-Teaser Writeup 题目介绍 题目考点 隐写术 摩斯密码 Writeup 下载附件是PDF文件打开,研究一 ...

随机推荐

  1. [AcWing 779] 最长公共字符串后缀

    点击查看代码 #include<iostream> using namespace std; const int N = 200; string str[N]; int n ; int m ...

  2. .NET桌面程序应用WebView2组件集成网页开发4 WebView2的线程模型

    系列目录     [已更新最新开发文章,点击查看详细] WebView2控件基于组件对象模型(COM),必须在单线程单元(STA)线程上运行. 线程安全 WebView2必须在使用消息泵的UI线程上创 ...

  3. 服务器脚本搭建国基北盛openstack平台

    @ 目录 基础环境搭建 控制节点网卡配置 计算节点网卡配置 主机映射 3,关闭防火墙和selinux以及NetworkManager 设置yum源 计算节点分区 配置openrc.sh环境变量 平台组 ...

  4. Typora实现云同步

    Typora很好用,但是不自带同步功能,最近找到个简便的实现Typora同步的方法. step1. 下载"坚果云": step2. 在本地创建一个"坚果云"的同 ...

  5. Linux发行版--发行版之间的关系--哲学思想--目录的命名规则及用途

    作业2 点此链接查看centos7安装 点此链接查看Ubuntu安装 点此链接查看作业3.5 点此链接查看作业7.8.9 作业1.4.6 Linux发行版--发行版之间的关系 1.Linux是什么 L ...

  6. Linux下安装部署NodeJS完整步骤

    关注「开源Linux」,选择"设为星标" 回复「学习」,有我为您特别筛选的学习资料~ NodeJS是一个开源,跨平台,轻量级的JavaScript运行时环境,可用于构建可扩展的网络 ...

  7. TS 自学笔记(二)装饰器

    TS 自学笔记(二)装饰器 本文写于 2020 年 9 月 15 日 上一篇 TS 文章已经是很久之前了.这次来讲一下 TS 的装饰器. 对于前端而言,装饰器是一个陌生的概念,但是对于 Java.C# ...

  8. 一图详解java-class类文件原理

    摘要:徒手制作一张超大的类文件解析图,方便通过浏览这个图能马上回忆起class文件的结构以及内部的指令. 本文分享自华为云社区<[读书会第十二期]这可能是全网"最大".&qu ...

  9. unity---脚本创建文本

    脚本创建文本 新建文件夹 Resources 方便引用字体 在文件Resources中新建Fonts,并且下载一个ttf字体 没有字体,文本内容无法显示 脚本如下 public GameObject ...

  10. WTF表单验证

    WTF表单验证可分为3个步骤: ①导入wtf扩展提供的表单验证器.(from wtforms.validators import DataRequired,EqualTo) ②定义表单类 # 定义表单 ...