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中浅尝内存泄漏的实战记录,结合实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录使用静态集合持有对象引用,阻止GC回收关键点:可执行代码:验证:1,运行程序(启动时添加JVM参数限制堆大小):2,访问 htt

MySQL 中查询 VARCHAR 类型 JSON 数据的问题记录

《MySQL中查询VARCHAR类型JSON数据的问题记录》在数据库设计中,有时我们会将JSON数据存储在VARCHAR或TEXT类型字段中,本文将详细介绍如何在MySQL中有效查询存储为V... 目录一、问题背景二、mysql jsON 函数2.1 常用 JSON 函数三、查询示例3.1 基本查询3.2

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

Spring Boot 配置文件之类型、加载顺序与最佳实践记录

《SpringBoot配置文件之类型、加载顺序与最佳实践记录》SpringBoot的配置文件是灵活且强大的工具,通过合理的配置管理,可以让应用开发和部署更加高效,无论是简单的属性配置,还是复杂... 目录Spring Boot 配置文件详解一、Spring Boot 配置文件类型1.1 applicatio

MySQL INSERT语句实现当记录不存在时插入的几种方法

《MySQLINSERT语句实现当记录不存在时插入的几种方法》MySQL的INSERT语句是用于向数据库表中插入新记录的关键命令,下面:本文主要介绍MySQLINSERT语句实现当记录不存在时... 目录使用 INSERT IGNORE使用 ON DUPLICATE KEY UPDATE使用 REPLACE

Python 中的异步与同步深度解析(实践记录)

《Python中的异步与同步深度解析(实践记录)》在Python编程世界里,异步和同步的概念是理解程序执行流程和性能优化的关键,这篇文章将带你深入了解它们的差异,以及阻塞和非阻塞的特性,同时通过实际... 目录python中的异步与同步:深度解析与实践异步与同步的定义异步同步阻塞与非阻塞的概念阻塞非阻塞同步

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

Spring Boot中定时任务Cron表达式的终极指南最佳实践记录

《SpringBoot中定时任务Cron表达式的终极指南最佳实践记录》本文详细介绍了SpringBoot中定时任务的实现方法,特别是Cron表达式的使用技巧和高级用法,从基础语法到复杂场景,从快速启... 目录一、Cron表达式基础1.1 Cron表达式结构1.2 核心语法规则二、Spring Boot中定

国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)

《国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)》本文给大家利用deepseek模型搭建私有知识问答库的详细步骤和遇到的问题及解决办法,感兴趣的朋友一起看看吧... 目录1. 第1步大家在安装完ollama后,需要到系统环境变量中添加两个变量2. 第3步 “在cmd中

Spring Retry 实现乐观锁重试实践记录

《SpringRetry实现乐观锁重试实践记录》本文介绍了在秒杀商品SKU表中使用乐观锁和MybatisPlus配置乐观锁的方法,并分析了测试环境和生产环境的隔离级别对乐观锁的影响,通过简单验证,... 目录一、场景分析 二、简单验证 2.1、可重复读 2.2、读已提交 三、最佳实践 3.1、配置重试模板