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. Java 线程池四种拒绝策略

    jdk1.5版本新增了 JUC 并发包,其中一个包含线程池. 四种拒绝策略: 拒绝策略类型 说明 1 ThreadPoolExecutor.AbortPolicy 默认拒绝策略,拒绝任务并抛出任务 2 ...

  2. Django前后端交互&数据验证

    一.前端--->后端 1.form表单 <form method="post" action="/test/?a=1&b=2"> {% ...

  3. lab_0 清华大学ucore实验环境配置详细步骤!(小白入)

    实验步骤 1.下载项目 从github上 的https://github.com/kiukotsu/ucore下载 ucore lab实验: git clone https://github.com/ ...

  4. Linux 运维工程师面试问答录(推荐阅读)

    一个执着于技术的公众号 本文整理了一些比较常见的 Linux 相关的面试题目,该问答录主要分为基础知识篇和服务器篇.内容主要涉及 Linux 基本原理.常用命令操作.服务器应用等部分的内容. Linu ...

  5. 【必看】局域网IP地址冲突罪魁祸首是谁?

    开源Linux 长按二维码加关注~ 上一篇:一文详解FTP.FTPS与SFTP的原理 现如今,人们的生活处处离不开网络.企业办公信息化对网络的依赖则更大.为了提升安全管理和信息化水平,很多企业不仅建设 ...

  6. Spring Ioc源码分析系列--Ioc容器注册BeanPostProcessor后置处理器以及事件消息处理

    Spring Ioc源码分析系列--Ioc容器注册BeanPostProcessor后置处理器以及事件消息处理 前言 上一篇分析了BeanFactoryPostProcessor的作用,那么这一篇继续 ...

  7. 709. To Lower Case - LeetCode

    Question 709. To Lower Case Sollution 题目大意:字符串大写转小写 思路: 直接调用Java API函数 字符串转char数组,遍历数组,判断如果大写就转小写 Ja ...

  8. Spring Boot下Spring Batch入门实例

    一.About Spring Batch是什么能干什么,网上一搜就有,但是就是没有入门实例,能找到的例子也都是2.0的,看文档都是英文无从下手~~~,使用当前最新的版本整合网络上找到的例子. 关于基础 ...

  9. mongoDB 命令大全

    每日一句 There should be a better way to start a day than waking up every morning. 应该有更好的方式开始新一天, 而不是千篇一 ...

  10. Hadoop配置与安装

    基础配置 1.关闭防火墙 systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止fir ...