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 的小区人脸识别与出入记录管理系统功能

《基于SpringBoot的小区人脸识别与出入记录管理系统功能》文章介绍基于SpringBoot框架与百度AI人脸识别API的小区出入管理系统,实现自动识别、记录及查询功能,涵盖技术选型、数据模型... 目录系统功能概述技术栈选择核心依赖配置数据模型设计出入记录实体类出入记录查询表单出入记录 VO 类(用于

java中pdf模版填充表单踩坑实战记录(itextPdf、openPdf、pdfbox)

《java中pdf模版填充表单踩坑实战记录(itextPdf、openPdf、pdfbox)》:本文主要介绍java中pdf模版填充表单踩坑的相关资料,OpenPDF、iText、PDFBox是三... 目录准备Pdf模版方法1:itextpdf7填充表单(1)加入依赖(2)代码(3)遇到的问题方法2:pd

Zabbix在MySQL性能监控方面的运用及最佳实践记录

《Zabbix在MySQL性能监控方面的运用及最佳实践记录》Zabbix通过自定义脚本和内置模板监控MySQL核心指标(连接、查询、资源、复制),支持自动发现多实例及告警通知,结合可视化仪表盘,可有效... 目录一、核心监控指标及配置1. 关键监控指标示例2. 配置方法二、自动发现与多实例管理1. 实践步骤

PowerShell中15个提升运维效率关键命令实战指南

《PowerShell中15个提升运维效率关键命令实战指南》作为网络安全专业人员的必备技能,PowerShell在系统管理、日志分析、威胁检测和自动化响应方面展现出强大能力,下面我们就来看看15个提升... 目录一、PowerShell在网络安全中的战略价值二、网络安全关键场景命令实战1. 系统安全基线核查

在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和并发控制:② 垃圾回收:③ 栈和