NSSCTF之Misc篇刷题记录(15)

2023-11-20 16:20
文章标签 15 记录 misc nssctf 篇刷题

本文主要是介绍NSSCTF之Misc篇刷题记录(15),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

NSSCTF之Misc篇刷题记录(15)

    • [GXYCTF 2019]SXMgdGhpcyBiYXNlPw==
    • [GXYCTF 2019]佛系青年
    • [GXYCTF 2019]gakki
    • [suctf 2019]签到题
    • [安洵杯 2019]吹着贝斯扫二维码
    • [watevrCTF 2019]Evil Cuteness
    • [RoarCTF 2019]黄金6年
    • [EIS 2019]misc1
    • [GWCTF 2019]huyao (频域盲水印)
    • [HBNIS 2019]Doc是什么鬼
    • [HBNIS 2019]爱因斯坦

NSSCTF平台:https://www.nssctf.cn/

[GXYCTF 2019]SXMgdGhpcyBiYXNlPw==

考点:Base64 隐写

直接看大佬 wp就好 我写不来 要是有python2 运行不然报错的!

# base64隐写
import base64def get_diff(s1, s2):base64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'res = 0for i in range(len(s2)):if s1[i] != s2[i]:return abs(base64chars.index(s1[i]) - base64chars.index(s2[i]))return resdef b64_stego_decode():file = open("flag.txt", "rb")x = ''  # x即bin_strlines = file.readlines()for line in lines:l = str(line, encoding="utf-8")stego = l.replace('\n', '')realtext = base64.b64decode(l)realtext = str(base64.b64encode(realtext), encoding="utf-8")diff = get_diff(stego, realtext)  # diff为隐写字串与实际字串的二进制差值n = stego.count('=')if diff:x += bin(diff)[2:].zfill(n * 2)else:x += '0' * n * 2i = 0flag = ''while i < len(x):if int(x[i:i + 8], 2):flag += chr(int(x[i:i + 8], 2))i += 8print(flag)if __name__ == '__main__':b64_stego_decode()

NSSCTF{fazhazhenhaoting}

[GXYCTF 2019]佛系青年

在这里插入图片描述

在这里插入图片描述

图片放入010 发现存在伪加密09改为00

在这里插入图片描述
在这里插入图片描述

在线与禅论佛:https://ctf.bugku.com/tool/todousharp

在这里插入图片描述

NSSCTF{w0_fo_ci_Be1}

[GXYCTF 2019]gakki

考点:字频统计

得到一张图片 binwalk -e 分离 然后使用ARCHPR爆破得到密码:8864

发现一段很长的字符串 想到了字频统计统计里面字符的次数 然后排序 上脚本。

在这里插入图片描述

# -*- coding:utf-8 -*-
#Author: mochu7
alphabet = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#$%^&*()_+- =\\{\\}[]"
strings = open('./flag.txt').read()result = {}
for i in alphabet:counts = strings.count(i)i = '{0}'.format(i)result[i] = countsres = sorted(result.items(),key=lambda item:item[1],reverse=True)
for data in res:print(data)for i in res:flag = str(i[0])print(flag[0],end="")

在这里插入图片描述

NSSCTF{gaki_IsMyw1fe}

[suctf 2019]签到题

在线Base64转图片:https://tool.jisuapi.com/base642pic.html

在这里插入图片描述

NSSCTF{fffffffffT4nk}

[安洵杯 2019]吹着贝斯扫二维码

发现很多文件没后缀放入010发现都是jpg文件 ren 批量加后缀 ren * *.jpg 我只能说很神奇!!

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

别忘了把flag.jpg改回zip 因为这个命令是改全部的 找个脚本拼一下 不然要累死你

import os
from PIL import Image#目录路径
dir_name = r"./"
#获取目录下文件名列表
dir_list = os.listdir('./')
#print(dir_list)#从列表中依次读取文件
for file in dir_list:if '.jpg' in file:f=open(file ,'rb')n1 = str(f.read())n2 = n1[-3:]	#经过测试发现这里要读取最后3个字节,因为最后还有一个多余的字节,不知道是不是转字符串的原因导致在末尾多了一个字符#print(file) #输出文件内容#print(n2)f.close()	#先关闭文件才能重命名,否则会报`文件被占用`错误os.rename(file,n2+'.jpg')	#重命名文件

85->64->85->13->16->32 扫码得到的信息 base全家桶呗 直接随波一下

最终密码为:ThisIsSecret!233 打开压缩包 ok得到flag。

在这里插入图片描述

NSSCTF{Qr_Is_MeAn1nGfuL}

[watevrCTF 2019]Evil Cuteness

直接binwalk -e 分离 打开就是flag 送分题

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

NSSCTF{7h475_4c7u4lly_r34lly_cu73_7h0u6h}

[RoarCTF 2019]黄金6年

mp4文件 直接010看其实里面有二维码肉眼可以看 就是麻烦

在这里插入图片描述

在线Base64:https://base64.us/

在这里插入图片描述
发现是rar特征 直接脚本转为rar文件 然后是加密的

import base64
code="UmFyIRoHAQAzkrXlCgEFBgAFAQGAgADh7ek5VQIDPLAABKEAIEvsUpGAAwAIZmxhZy50eHQwAQADDx43HyOdLMGWfCE9WEsBZprAJQoBSVlWkJNS9TP5du2kyJ275JzsNo29BnSZCgMC3h+UFV9p1QEfJkBPPR6MrYwXmsMCMz67DN/k5u1NYw9ga53a83/B/t2G9FkG/IITuR+9gIvr/LEdd1ZRAwUEAA=="
r=base64.b64decode(code)
test_file=open("test.rar","wb")
test_file.write(r)
test_file.close()

在这里插入图片描述
密码爆破了没结果 这里学习个新工具Kinovea将二维码全部提取 QR
以此类推最后拼接:iwantplayctf

在这里插入图片描述

NSSCTF{CTF-from-RuMen-to-RuYuan}

[EIS 2019]misc1

在这里插入图片描述
乱码使用word打开 初始编码会让你选择 这里不要使用默认 选其他可以看到flag

在这里插入图片描述在这里插入图片描述

NSSCTF{0a07c11e46af753fd24d40023f0fdce1}

[GWCTF 2019]huyao (频域盲水印)

考点:频域盲水印

pip install opencv-python #安装库
# coding=utf-8
import cv2   
import numpy as np
import random
import os
from argparse import ArgumentParser
ALPHA = 5
def build_parser():parser = ArgumentParser()parser.add_argument('--original', dest='ori', required=True)parser.add_argument('--image', dest='img', required=True)parser.add_argument('--result', dest='res', required=True)parser.add_argument('--alpha', dest='alpha', default=ALPHA)return parser
def main():parser = build_parser()options = parser.parse_args()ori = options.oriimg = options.imgres = options.resalpha = options.alphaif not os.path.isfile(ori):parser.error("original image %s does not exist." % ori)if not os.path.isfile(img):parser.error("image %s does not exist." % img)decode(ori, img, res, alpha)
def decode(ori_path, img_path, res_path, alpha):ori = cv2.imread(ori_path)img = cv2.imread(img_path)ori_f = np.fft.fft2(ori)img_f = np.fft.fft2(img)height, width = ori.shape[0], ori.shape[1]watermark = (ori_f - img_f) / alphawatermark = np.real(watermark)res = np.zeros(watermark.shape)random.seed(height + width)x = range(height / 2)y = range(width)random.shuffle(x)random.shuffle(y)for i in range(height / 2):for j in range(width):res[x[i]][y[j]] = watermark[i][j]cv2.imwrite(res_path, res, [int(cv2.IMWRITE_JPEG_QUALITY), 100])
if __name__ == '__main__':main()
python3 BlindWaterMarkplus.py --original <original image file> --image <image file> --result <result file>

original 是输入原图, image是之后跟的是加入了水印的图, result是保存水印图片。

Github:https://github.com/kindred-adds/BlindWaterMarkplus

在这里插入图片描述

NSSCTF{BWM_1s_c00l}

[HBNIS 2019]Doc是什么鬼

放入010 看到xml格式 修改后缀zip 打开Flag.xml即是flag

在这里插入图片描述
在这里插入图片描述

NSSCTF{k42bP8khgqMZpCON}

[HBNIS 2019]爱因斯坦

看到图片先想到看属性有没有利用信息 一般很少在属性(这里有 这个是解压密码)

在这里插入图片描述
binwalk -e 分离 然后有个加密的txt 输入密码即可。

在这里插入图片描述

NSSCTF{dd22a92bf2cceb6c0cd0d6b83ff51606}

这篇关于NSSCTF之Misc篇刷题记录(15)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/395879

相关文章

在Spring Boot中集成RabbitMQ的实战记录

《在SpringBoot中集成RabbitMQ的实战记录》本文介绍SpringBoot集成RabbitMQ的步骤,涵盖配置连接、消息发送与接收,并对比两种定义Exchange与队列的方式:手动声明(... 目录前言准备工作1. 安装 RabbitMQ2. 消息发送者(Producer)配置1. 创建 Spr

k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)

《k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)》本文记录在K8s上运行的MySQL/MariaDB备份方案,通过工具容器执行mysqldump,结合定时任务实... 目录前言一、获取需要备份的数据库的信息二、备份步骤1.准备工作(X86)1.准备工作(arm)2.手

SpringBoot3应用中集成和使用Spring Retry的实践记录

《SpringBoot3应用中集成和使用SpringRetry的实践记录》SpringRetry为SpringBoot3提供重试机制,支持注解和编程式两种方式,可配置重试策略与监听器,适用于临时性故... 目录1. 简介2. 环境准备3. 使用方式3.1 注解方式 基础使用自定义重试策略失败恢复机制注意事项

Python UV安装、升级、卸载详细步骤记录

《PythonUV安装、升级、卸载详细步骤记录》:本文主要介绍PythonUV安装、升级、卸载的详细步骤,uv是Astral推出的下一代Python包与项目管理器,主打单一可执行文件、极致性能... 目录安装检查升级设置自动补全卸载UV 命令总结 官方文档详见:https://docs.astral.sh/

统一返回JsonResult踩坑的记录

《统一返回JsonResult踩坑的记录》:本文主要介绍统一返回JsonResult踩坑的记录,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录统一返回jsonResult踩坑定义了一个统一返回类在使用时,JsonResult没有get/set方法时响应总结统一返回

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

java对接海康摄像头的完整步骤记录

《java对接海康摄像头的完整步骤记录》在Java中调用海康威视摄像头通常需要使用海康威视提供的SDK,下面这篇文章主要给大家介绍了关于java对接海康摄像头的完整步骤,文中通过代码介绍的非常详细,需... 目录一、开发环境准备二、实现Java调用设备接口(一)加载动态链接库(二)结构体、接口重定义1.类型

apache的commons-pool2原理与使用实践记录

《apache的commons-pool2原理与使用实践记录》ApacheCommonsPool2是一个高效的对象池化框架,通过复用昂贵资源(如数据库连接、线程、网络连接)优化系统性能,这篇文章主... 目录一、核心原理与组件二、使用步骤详解(以数据库连接池为例)三、高级配置与优化四、典型应用场景五、注意事

SpringBoot实现文件记录日志及日志文件自动归档和压缩

《SpringBoot实现文件记录日志及日志文件自动归档和压缩》Logback是Java日志框架,通过Logger收集日志并经Appender输出至控制台、文件等,SpringBoot配置logbac... 目录1、什么是Logback2、SpringBoot实现文件记录日志,日志文件自动归档和压缩2.1、

qtcreater配置opencv遇到的坑及实践记录

《qtcreater配置opencv遇到的坑及实践记录》我配置opencv不管是按照网上的教程还是deepseek发现都有些问题,下面是我的配置方法以及实践成功的心得,感兴趣的朋友跟随小编一起看看吧... 目录电脑环境下载环境变量配置qmake加入外部库测试配置我配置opencv不管是按照网上的教程还是de