obsidian搭配坚果云实现知识库备份同步
如何使用坚果云结合Obsidian的Remotely Save插件,实现笔记的云端同步
2025.03.wolvctf-wp
比赛时间 250322-250326
BenginnerREverseOverAndOver - Crypto直接丢进Cyberchef base64一直解密得到flag
EtTuCaesar - CryptoPicturePerfect - Forensics右键查看图片的属性后在详细信息中可以看到flag
DigginDir - Forensics解压后估计flag存在某个目录下的文本文件中,使用windows的findstr命令查找flag的开头wctf findstr /s "wctf" *
p0wn3d - Pwn题目代码如下
123456789101112131415161718192021222324252627282930313233343536#include <stdio.h>#include <string.h>#include <unistd.h>struct __attribute__((__packed__)) data { char buf[32]; int guard;} ...
信息搜集的艺术
资产搜集icp备案天眼查:https://www.tianyancha.com/ICP备案查询网:http://www.beianbeian.com/国家企业信用信息公示系统:http://www.gsxt.gov.cn/index.html爱站的备案查询:https://icp.aizhan.com备案历史:https://icplishi.com/
icpsearch工具地址https://github.com/A10ha/ICPSearch.git
工具用法查询单个域名/公司备案信息
ICPSearch.exe -d XXX.com
ICPSearch.exe -d XXX公司
子域名搜集人员搜集大多数人会习惯在社交网站上使用一个用户名,可利用此习惯对特定用户搜集其他社交平台信息
在国内若掌握其常用手机号码也可通过社交平台可能认识的人搜集
sherlock工具地址https://github.com/sherlock-project/sherlock
工具用法Sherlock test
2024-11-ISCTF-Crypto-wp
2024年11月的ISCTF Crypto方向wp
数论-快速幂运算
关于矩阵快速幂运算的笔记
rsa-smooth攻击
涉及知识点光滑数:指能分解成小素数乘积的正整数
B-光滑数:若一个光滑数的最大小质数因子<=B,则称该光滑数为B-光滑数
费马小定理:
p-1光滑
由于p为质数,设a为整数且与p互质,则有
又因为p-1为因子互不相同的B-光滑数,所以
故p的倍数可以求出来,且我们有n=p*q。所以
Pollard’s p-1由于我们只关注gcd的结果,不需要计算B!的值,我们只需要令B=1,2,3,…..,计算出gcd结果即可
12345678910111213from gmpy2 import *a = 2n = 2while True: a = powmod(a, n, N) res = gcd(a-1, N) if res != 1 and res != N: q = N // res d = invert(e, (res-1)*(q-1)) m = powmod(c, d, N) print(m) break n += 1
p+1光滑Williams’s p + 1
123456789 ...
2024.10.SICTF#Round4-wp
Misc模型的秘密使用字典爆破压缩包密码
搜索blend找到与3D文件格式有关的blender
发现题目附件中文件头被更改,修改之后使用blender打开查看flag
派森根据音译,文件为py文件,修改后缀后发现代码也被音译,还原大致代码
123456from import xorfrom import *flag = "************"int = []for i in range(0,len(),4): int.append(xor(ord(flag[i]),ord(flag[i+2])))
差不多就是将flag每四个分为一组,第一位与第三位进行异或,第二位和第四位异或,密文中含有第三位和第四位。异或即可得到flag的原文。
签到关注公众号即可
CryptoSignBasebase64即可
Smooth根据代码,n首先是小素数的乘积,之后+1,所以p-1是光滑的,使用smooth攻击
exp:
123456789101112131415161718192021from Crypto.Util.number import *N = 113 ...
编码与古典密码
常见工具CyberChef地址:https://github.com/gchq/CyberChef
随波逐流 CTF编码工具地址:http://1o1o.xyz/
编码ascii码
ASCII(发音:,American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统。它主要用于显示现代英语,而其扩展版本延伸美国标准信息交换码则可以部分支持其他西欧语言,并等同于国际标准ISO/IEC 646。ASCII 由电报码发展而来。第一版标准发布于1963年 ,1967年经历了一次主要修订[5][6],最后一次更新则是在1986年,至今为止共定义了128个字符;其中33个字符无法显示(一些终端提供了扩展,使得这些字符可显示为诸如笑脸、扑克牌花式等8-bit符号),且这33个字符多数都已是陈废的控制字符。控制字符的用途主要是用来操控已经处理过的文字。在33个字符之外的是95个可显示的字符。用键盘敲下空白键所产生的空白字符也算1个可显示字符(显示为空白)。
ascii码对照表:https://blog.csd ...
LitCTF2024
关于litCTF的记录与复现
格密码
理论基础格理论的起源可以追溯到 17 世纪有关球堆积问题的研究,直至 1840 年,高斯才引入格在几何中的概念并给出了三维空间中球的最大堆积密度。格在群论和几何中的定义不同于离散数学中有关偏序集合的描述,几何上,可以将格看作是具有周期性结构的 n 维空间中的点的集合。Shamir最早将格理论引入密码学领域,其在 1982 年利用格对背包公钥密码体制进行了攻击,后来 Coppersmith对其分析方法做了推广,将破解 RSA 公钥密码体制的问题转化成了求格中的困难问题。近些年,随着对格理论中有关计算性难题的研究,人们发现其在数论、计算机科学、密码分析和设计中都有着很
广泛的应用前景。*
格的定义设$b_1,b_2,…,b_n\in \mathbb{R}^m$一组线性无关的向量,其产生的格被定义为
L(b_1,b_2,...,b_n) = \{ \Sigma^n_{i=1}x_ib_i|x_i\in\mathbb{Z}\} 简记为L,m为格L的维数,n为格L的秩,通常研究满秩格,即m=n。称$B={b_1,b_2,..,b_n}$为一组格基,同一个格L可以由不同的格基来表示。
...