1.21学习记录

misc

2023isctf 你说爱我尊嘟假嘟

这题有点脑洞,需要把你说爱我换成Ook.将尊嘟换为Ook!假嘟换成Ook?(根据语气进行猜测吧)在这里插入图片描述用在线工具解密在这里插入图片描述最后用base64解密即可

2023isctf 杰伦可是流量明星

解压后是一个MP3文件,但是用010查看后发现是一个rar在这里插入图片描述得到一个流量包和MP3,MP3是不能说的秘密,就去看流量包,先尝试看追踪流,但是没有东西,就去直接搜索flag,结果真搜到了在这里插入图片描述

2023isctf 一心不可二用

下载得到附件后是一个apk文件,用010看是一个PK压缩包文件在这里插入图片描述打开发现一堆内容在这里插入图片描述根据提示在这里插入图片描述在010里面搜索,发现了flagzip和路径在这里插入图片描述尝试解压却发现报错了在这里插入图片描述去搜索报错信息在这里插入图片描述发现属于syntax错误,这里有点脑洞,用SyntaxError作为密码试了一下,发现对了在这里插入图片描述

2023isctf stream

根据题意,分析流量包,追踪流查看http在这里插入图片描述一眼sql注入,看他得到的数字,很像ASCII码表,去搓了前4个确实是flag,后面继续手搓,要注意成功返回的是2c2,失败是2d2
flag{Blueshark_Haker2023}

2023isctf Wonderful New World

下载后得到了hmcl的启动器和一个1.20版本的mc,去日志里面看看在这里插入图片描述这些数字看着非常可疑在这里插入图片描述发现是10进制,得到的字符一看就是base64的格式,解密出来
在这里插入图片描述接着去存档那里找,发现这样一种图片,看这个分隔符很像莫斯密码,最后试了一下发现蜂蜜块是.侦测器是分隔,史莱姆块是——在这里插入图片描述在这里插入图片描述得到前半部分,将两部分拼起来就可以了

2023isctf Ez_misc

下载得到了PPT和压缩包,在PPT第五页发现字符在这里插入图片描述尝试用这个作为压缩包密码,猜对了,得到一张图片,发现不能直接打开,用010修复,添加文件头FF D8 FF E0后可以打开在这里插入图片描述隐约看到二维码的样子,用cqr扫一下在这里插入图片描述

2023isctf 小猫

解压出一张小猫图片,用随波逐流一把梭看一下发现了存在隐藏图片在这里插入图片描述分出来发现也是没用,但注意到随波逐流之前分析到jpg的lsb隐写,就用stego看一下在这里插入图片描述发现存在图片,save bin然后把文件头多余部分删掉,得到社会主义核心价值观在这里插入图片描述在最开始的图片左上角竟然还存在坐标在这里插入图片描述正好对应社会主义核心价值观,这是一个社会主义核心价值观加密

公正 公正 公正 诚信 文明 公正 民主
公正 法治 法治 诚信 民主 公正 民主
公正 和谐 公正 民主 和谐 民主 和谐
敬业 和谐 平等 公正 公正 公正 自由
和谐 和谐 公正 自由 和谐 富强 公正
公正 和谐 文明 和谐 和谐 和谐 敬业
和谐 文明 和谐 平等 和谐 自由 和谐
爱国 公正 自由 和谐 富强 和谐 文明
和谐 敬业 和谐 法治 和谐 公正 和谐
法治 公正 自由 公正 文明 公正 公正
和谐 法治 和谐 公正 和谐 公正 法治
友善 法治

解码就得flag在这里插入图片描述

crypto

2023isctf 1Zrsa

题目如下

from secret import flag
from Crypto.Util.number import *
import gmpy2

e = 65537
def genKey(nbits):
    while 1:
        p1 = getPrime(3*nbits)
        p2 = gmpy2.next_prime(p1)
        q1 = getPrime(nbits)
        q2 = getPrime(nbits)
        print(abs((p1 - p2)*q1*q2 / p2) < 0.5)
        if (abs((p1 - p2)*q1*q2 / p2) < 0.5):
            n1 = p1 * q1
            n2 = p2 * q2
            return n1,n2

def encrypt(message,e,n):
    m = bytes_to_long(message)
    cipher = pow(m,e,n)
    return cipher

e = 65537
nbits = 512
N1,N2 = genKey(nbits)
c = encrypt(flag,e,N1)

print("c =",c)
print("N1 =",N1)
print("N2 =",N2)

"""
c = 10514867898770499427284608506159580569755258729683776720082395249877529851029152305989048383470182992945743997295638334301128554841767619528809377736651238576700664675871769469687466885347209033023021132575700436470105289467423655742323143373578268184141573237433927498143740155552829633601489926767185335051352605346248971754473960051955670785777007641909166041398566067524811394639822575661469340152913706417365065683835945980239268665146900957692685590242386540944646586739158427428484471978559453954674292300496568823382513505511940062159025700312492163454304120916055466108498000990408937265075788135466153131436
N1 = 29306627985861300819651846356448043523015086509329909246911330574896611830331438353458702041787309531570626136669100576501108581024502570212983369979387658041578384466200573362881060761873478590684611265249166591510948597798713864127744488747451815919677861684787135464097885906630772472111899455047125676738720391327331161464894360886214160668909531050207033060523194208723151015702926842472554933849380343375654696115359960495727909221926251630408376527033291123026893207722440649867394971680316008434251667567174806214522621693042164997381729300075394393372808917061813346794422821819494227772694592990703688149467
N2 = 18405525902524887428651801489049128242565457677879715229456940729064725933277139190670749899959483734341103740185991771024797037242681566772189045321838652668819112989587974866361063424698215713773139281840970499871668796770682692589505769008516630604297570518689639885716307469568821629424402742264467677407820449195383921766157185602677665872353099155904715047452319853202981674101731121033360393547940246101864940155160699277417096395998766928213545196492031975135121409309520198853066288180944871441224241681478164494169741263236267316380581883196836731872676312125837497320438964940186318916950049777255612191899
"""

这里看了大佬的脚本


import gmpy2
import libnum

c = 10514867898770499427284608506159580569755258729683776720082395249877529851029152305989048383470182992945743997295638334301128554841767619528809377736651238576700664675871769469687466885347209033023021132575700436470105289467423655742323143373578268184141573237433927498143740155552829633601489926767185335051352605346248971754473960051955670785777007641909166041398566067524811394639822575661469340152913706417365065683835945980239268665146900957692685590242386540944646586739158427428484471978559453954674292300496568823382513505511940062159025700312492163454304120916055466108498000990408937265075788135466153131436
N1 = 29306627985861300819651846356448043523015086509329909246911330574896611830331438353458702041787309531570626136669100576501108581024502570212983369979387658041578384466200573362881060761873478590684611265249166591510948597798713864127744488747451815919677861684787135464097885906630772472111899455047125676738720391327331161464894360886214160668909531050207033060523194208723151015702926842472554933849380343375654696115359960495727909221926251630408376527033291123026893207722440649867394971680316008434251667567174806214522621693042164997381729300075394393372808917061813346794422821819494227772694592990703688149467
N2 = 18405525902524887428651801489049128242565457677879715229456940729064725933277139190670749899959483734341103740185991771024797037242681566772189045321838652668819112989587974866361063424698215713773139281840970499871668796770682692589505769008516630604297570518689639885716307469568821629424402742264467677407820449195383921766157185602677665872353099155904715047452319853202981674101731121033360393547940246101864940155160699277417096395998766928213545196492031975135121409309520198853066288180944871441224241681478164494169741263236267316380581883196836731872676312125837497320438964940186318916950049777255612191899
e=65537

#这里数组的第一个为0是为了下标从1开始,方便计算和对齐
def get_aList(p,q,a_list = [0]):
	a=p//q
	a_list.append(a)
	if p % q != 0:
		return get_aList(q,p%q,a_list)
	else:
		return a_list


def get_pqList(a_list):
	pqList=[(0,0)] #这里跟上述同理
	#pqList为一个数组,每个值为一个元组,表示分子和分母
	pqList.append((a_list[1],1))
	pqList.append( (a_list[1]*a_list[2] + 1, a_list[2]) )
	for i in range(3,len(a_list) ):
		pqList.append( (a_list[i]*pqList[i-1][0] + pqList[i-2][0] , a_list[i] * pqList[i-1][1] + pqList[i-2][1]) )
	return pqList


def crack(N1,N2):
	alist = get_aList(N1,N2)
	pqList = get_pqList(alist)[1:] #把前面对齐的第0项删掉,或者下边过滤一下不计算第0项
	for q1,q2 in pqList:
		#找每一项渐进分数
		if N1 % q1 == 0 and q1 != 1:
			print(q1)
			p1 = N1 // q1
			d = gmpy2.invert(e,(p1-1)*(q1-1))
			m = pow(c,d,N1)
			print(n2s(int(m)))
			break

if __name__ == "__main__":
	crack(N1,N2)

涉及到的定理以及学习:
https://math.stackexchange.com/questions/531736/legendres-proof-continued-fractions-from-hardys-book 运用到了连分数的运算

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/957369.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

BaseCTF_Misc_week3

目录 broken.mp4 白丝上的flag 这是一个压缩包 纯鹿人 外星信号 我要吃火腿 Base Revenge broken.mp4 附件两个MP4文件&#xff0c;第一个可以播放&#xff0c;内容是视频受损的修复啥的。第二个破损了&#xff0c;那么就根据第一个视频的网页名称搜索找到相应的网页&…

Flutter项目和鸿蒙平台的通信

Flutter项目和鸿蒙平台的通信 前言Flutter和Harmonyos通信MethodChannelBasicMessageChannelEventChannel 前言 大家在使用Flutter开发项目的时候&#xff0c; Flutter提供了Platfrom Channel API来和个个平台进行交互。 Flutter官方目前提供了一下三种方式来和个个平台交互&…

@TransactionEventListener的关键源码整理

前言&#xff1a;本篇文章不属于保姆级的&#xff0c;主要是方便自己回忆用的&#xff0c;所以需要阅读者具有一定的Spring源码基础。 总结&#xff1a; TransactionEventListener本质上还是EventListener&#xff0c;事件的发布还是Spring通用的那一套事件发布机制。EventLis…

StarRocks强大的实时数据分析

代码仓库&#xff1a;https://github.com/StarRocks/starrocks?tabreadme-ov-file StarRocks | A High-Performance Analytical Database 快速开始&#xff1a;StarRocks | StarRocks StarRocks 是一款高性能分析型数据仓库&#xff0c;使用向量化、MPP 架构、CBO、智能物化…

SpringBoot实现定时任务,使用自带的定时任务以及调度框架quartz的配置使用

SpringBoot实现定时任务&#xff0c;使用自带的定时任务以及调度框架quartz的配置使用 文章目录 SpringBoot实现定时任务&#xff0c;使用自带的定时任务以及调度框架quartz的配置使用一. 使用SpringBoot自带的定时任务&#xff08;适用于小型应用&#xff09;二. 使用调度框架…

蓝桥与力扣刷题(73 矩阵置零)

题目&#xff1a;给定一个 m x n 的矩阵&#xff0c;如果一个元素为 0 &#xff0c;则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,1,1],[1,0,1],[1,1,1]] 输出&#xff1a;[[1,0,1],[0,0,0],[1,0,1]]示例 2&…

源码分析之Openlayers中样式篇Text类

访问Openlayers网站(https://jinuss.github.io/Openlayers_map_pages/&#xff0c;网站是基于Vue3 Openlayers&#xff0c;里面有大量的实践和案例。觉得还不错&#xff0c;可以 给个小星星Star&#xff0c;鼓励一波 https://github.com/Jinuss/OpenlayersMap哦~ 概述 Text 类…

uniapp开发 swiper 上下滚动

一、效果图 二、代码: 在uni-app中使用swiper组件实现上下滚动(垂直滚动)的功能可以通过设置vertical属性来实现。swiper组件默认是水平滚动的,通过将vertical属性设置为true,可以改变滚动方向为垂直。 <template><view><swiper

OSI5GWIFI自组网协议层次对比

目录 5G网络5G与其他协议栈各层映射 5G网络 物理层 (PHY) 是 5G 基站协议架构的最底层&#xff0c;负责将数字数据转换为适合无线传输的信号&#xff0c;并将接收到的无线信号转换为数字数据。实现数据的编码、调制、多天线处理、资源映射等操作。涉及使用新的频段&#xff08…

VSCode最新离线插件拓展下载方式

之前在vscode商店有以下类似的download按钮&#xff0c;但是2025年更新之后这个按钮就不提供了&#xff0c;所以需要使用新的方式下载 ps:给自己的网站推广下~~&#xff08;国内直连GPT/Claude&#xff09; 新的下载方式1 首先打开vscode商店官网&#xff1a;vscode插件下载…

Maven多环境打包方法配置

简单记录一下SpringBoot多环境打包配置方法&#xff0c;分部署环境和是否包含lib依赖包两个维度 目录 一、需求说明二、目录结构三、配置方案四、验证示例 一、需求说明 基于Spring Boot框架的项目分开发&#xff0c;测试&#xff0c;生产等编译部署环境&#xff08;每一个环境…

异或和之和

题目&#xff1a; 0异或和之和 - 蓝桥云课 异或和之和 题目描述 给定一个数组 Ai​&#xff0c;分别求其每个子段的异或和&#xff0c;并求出它们的和。或者说&#xff0c;对于每组满足 1≤L≤R≤n 的 L,R&#xff0c;求出数组中第 L 至第 R 个元素的异或和。然后输出每组 …

[OpenGL]实现屏幕空间环境光遮蔽(Screen-Space Ambient Occlusion, SSAO)

一、简介 本文介绍了 屏幕空间环境光遮蔽(Screen-Space Ambient Occlusion, SSAO) 的基本概念&#xff0c;实现流程和简单的代码实现。实现 SSAO 时使用到了 OpenGL 中的延迟着色 &#xff08;Deferred shading&#xff09;技术。 按照本文代码实现后&#xff0c;可以实现以下…

c++ 与 Matlab 程序的数据比对

文章目录 背景环境数据保存数据加载 背景 ***避免数据精度误差&#xff0c;快速对比变量 *** 环境 c下载 https://github.com/BlueBrain/HighFive 以及hdf5库 在vs 中配置库 数据保存 #include <highfive/highfive.hpp> using namespace HighFive;std::string fil…

Java基础——概念和常识(语言特点、JVM、JDK、JRE、AOT/JIT等介绍)

我是一个计算机专业研0的学生卡蒙Camel&#x1f42b;&#x1f42b;&#x1f42b;&#xff08;刚保研&#xff09; 记录每天学习过程&#xff08;主要学习Java、python、人工智能&#xff09;&#xff0c;总结知识点&#xff08;内容来自&#xff1a;自我总结网上借鉴&#xff0…

Java设计模式:创建型模式→建造者模式

Java 建造者模式详解 1. 定义 建造者模式&#xff08;Builder Pattern&#xff09;是一种创建型设计模式&#xff0c;允许使用多个简单的对象一步步构建一个复杂的对象。该模式使用一个建造者对象来构造一个最终的对象&#xff0c;提供清晰的分步构建流程&#xff0c;从而使得…

从CRUD到高级功能:EF Core在.NET Core中全面应用(三)

目录 IQueryable使用 原生SQL使用 实体状态跟踪 全局查询筛选器 并发控制使用 IQueryable使用 在EFCore中IQueryable是一个接口用于表示可查询的集合&#xff0c;它继承自IEnumerable但具有一些关键的区别&#xff0c;使得它在处理数据库查询时非常有用&#xff0c;普通集…

C语言之小型成绩管理系统

&#x1f31f; 嗨&#xff0c;我是LucianaiB&#xff01; &#x1f30d; 总有人间一两风&#xff0c;填我十万八千梦。 &#x1f680; 路漫漫其修远兮&#xff0c;吾将上下而求索。 C语言之小型成绩管理系统 目录 设计题目设计目的设计任务描述设计要求输入和输出要求验收要…

Linux中DataX使用第一期

简介 DataX 是阿里云 DataWorks数据集成 的开源版本&#xff0c;在阿里巴巴集团内被广泛使用的离线数据同步工具/平台。DataX 实现了包括 MySQL、Oracle、OceanBase、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、Hologres、DRDS, databen…

Windows配置frp内网穿透实现远程连接

仅个人记录 本文仅介绍客户端的配置 1. 开始 frp分为服务端和客户端&#xff0c;为实现内网穿透需要同时配置服务端和客户端&#xff0c;并且版本保持一致&#xff0c;可以前往 frp github下载 本文使用 0.51.2 版本&#xff0c;从GitHub下载并解压&#xff0c;得到如下文件…