<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[seven749的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/seven749</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; seven749]]></copyright><item><title><![CDATA[buu-crypto-yxx-异性相吸]]></title><link>https://blog.youkuaiyun.com/seven749/article/details/109740419</link><guid>https://blog.youkuaiyun.com/seven749/article/details/109740419</guid><author>seven749</author><pubDate>Tue, 17 Nov 2020 13:26:38 +0800</pubDate><description><![CDATA[buu-crypto-yxx-异性相吸
1.异性相吸


打开题目，发现所给的密文和密钥，得不到什么有用的信息。于是用winhex打开


密文是16进制数，密钥是ascii值，将他们转化为二进制数，然后进行二进制异或，再转化为16进制即可得到flag。


flag{ea1bc0988992276b7f95b54a7435e89e}
2.yxx
做法与异性相吸类似。先用winhex打开，然后进行二进制异或。


a = '000010100000001100010111000000100101011000]]></description><category></category></item><item><title><![CDATA[Buu-[WUSTCTF2020]大数计算 1]]></title><link>https://blog.youkuaiyun.com/seven749/article/details/109721102</link><guid>https://blog.youkuaiyun.com/seven749/article/details/109721102</guid><author>seven749</author><pubDate>Mon, 16 Nov 2020 15:08:34 +0800</pubDate><description><![CDATA[Buu-[WUSTCTF2020]大数计算 1
首先打开题目附件
根据题目要求来看分为了四个部分。
part1是计算2020的阶乘后取其前8位，转化为16进制。
利用C++写一个大数阶乘的代码
#include &lt;bits/stdc++.h&gt;
using namespace std;
 
int main()
{
	while(1)
	{
		string ans = "1";
		int cnt;
		cout&lt;&lt;"要计算几的阶乘?"&lt;&lt;endl;
		cin&gt;&]]></description><category></category></item><item><title><![CDATA[Buu-[HDCTF2019]basic rsa 1]]></title><link>https://blog.youkuaiyun.com/seven749/article/details/109713508</link><guid>https://blog.youkuaiyun.com/seven749/article/details/109713508</guid><author>seven749</author><pubDate>Mon, 16 Nov 2020 08:37:15 +0800</pubDate><description><![CDATA[Buu-[HDCTF2019]basic rsa 1
首先打开题目附件，得到一份py文件，代码为

题目给的已知信息包括p，q，e，c
要求我们求出明文m，并以字符串形式输出
根据题目要求写代码来解

即可得到flag{B4by_Rs4}

]]></description><category></category></item><item><title><![CDATA[Buu-crypto-classic0]]></title><link>https://blog.youkuaiyun.com/seven749/article/details/109606928</link><guid>https://blog.youkuaiyun.com/seven749/article/details/109606928</guid><author>seven749</author><pubDate>Tue, 10 Nov 2020 20:53:30 +0800</pubDate><description><![CDATA[Buu-[ACTF新生赛2020]crypto-classic0
首先打开题目附件，得到一个加密过的压缩包，还有一个cipher，和一个文本文件。



根据题目提示可知压缩包的密码是小Z童鞋的生日，故我们可以采用暴力破解的方法，进行8位数字爆破，即可得到压缩包的密码。

然后我们解密压缩包得到了一串代码。

这是一个加密代码，我们反向写一个解密代码

运行后即可得到flag

根据格式提交，flag{my_naive_encrytion}

...]]></description><category></category></item><item><title><![CDATA[Buu-Y1nglish]]></title><link>https://blog.youkuaiyun.com/seven749/article/details/109441263</link><guid>https://blog.youkuaiyun.com/seven749/article/details/109441263</guid><author>seven749</author><pubDate>Mon, 02 Nov 2020 01:08:52 +0800</pubDate><description><![CDATA[Buu-Y1nglish
首先来看题目：


根据题目所给提示可知这是一个替换密码，并且得到的flag中有错误。
直接采用暴力破解：https://quipqiup.com/

得到BJD{pyth0n_Brut3_f0rc3_oR_quipquip_AI_Cr4cy}
前面题目有提示其中有一个单词有错误，通过观察文章发现，networy 和 woryed  明显应该将y变为k。
故可得到flag{pyth0n_Brut3_f0rc3_oR_quipquip_AI_Cr4ck}

...]]></description><category></category></item><item><title><![CDATA[Buu-Crypto-综合]]></title><link>https://blog.youkuaiyun.com/seven749/article/details/109208589</link><guid>https://blog.youkuaiyun.com/seven749/article/details/109208589</guid><author>seven749</author><pubDate>Wed, 21 Oct 2020 21:01:34 +0800</pubDate><description><![CDATA[Buu-Crypto-综合
1.权限获得第一步
打开题目附件后得到这样一串数字

我们找到其冒号后面的这串数字F4AD50F57683D4260DFD48AA351A17A8
然后利用MD5解密，即可得到flag为3617656
，注意提交格式。
2.widows系统密码
打开题目附件后，发现一共有四串字符串

格式与权限获得第一步附件格式很像，故我们采用相同的解密方法，分别对他们进行MD5解密，会发现只有第二串字符串可以成功解密出答案，即得到flag。
3.小学生的密码学

题目给了我们一个公式，以及一串]]></description><category></category></item><item><title><![CDATA[Buu-crypto-猪圈密码及其变异，天干地支＋甲子-write up]]></title><link>https://blog.youkuaiyun.com/seven749/article/details/109153375</link><guid>https://blog.youkuaiyun.com/seven749/article/details/109153375</guid><author>seven749</author><pubDate>Mon, 19 Oct 2020 01:43:40 +0800</pubDate><description><![CDATA[Buu-crypto-猪圈密码及其变异，天干地支＋甲子-write up
1.猪圈密码：萌萌哒的八戒  和  古典密码知多少
首先认识猪圈密码，这是猪圈密码的基础图形，讲字母放在井字中，便于记忆。
对应表为

猪圈密码的变异：
1&gt;.讲所有字母放在一个井字中，然后依据点的位置区分不同字母。

2&gt;.
来看题目：
（1）萌萌哒的八戒

这道题目比较简单就是单纯的考察了普通的猪圈密码，依据对照表即可得到flag。
（2）古典密码知多少
首先来看题目：

它是由一堆符号组成的密码，可以观察得知是由猪圈]]></description><category></category></item><item><title><![CDATA[Buu-crypto-燕言燕语-cat-大帝的密码武器]]></title><link>https://blog.youkuaiyun.com/seven749/article/details/109103869</link><guid>https://blog.youkuaiyun.com/seven749/article/details/109103869</guid><author>seven749</author><pubDate>Fri, 16 Oct 2020 00:16:32 +0800</pubDate><description><![CDATA[Buu-crypto-
1.燕言燕语

首先看到题目，是一串字符串，类似于16进制，然后我们利用在线网站，将16进制转为字符串

转换结果为yanzi ZJQ{xilzv_iqssuhoc_suzjg}
是维吉尼亚密码
原理：
选择某一关键词并重复而得到密钥。
加密：密钥对应字母的行，明文对应字母的列所确定的字母。
解密：密钥对应的行，在该行中寻找密文字母，所对应的列字母就是相应的明文字母。
例如该题，yanzi就是密钥，ZJQ{xilzv_iqssuhoc_suzjg}
在第y行中寻找字母Z，所对应的明文]]></description><category></category></item><item><title><![CDATA[Xctf-转轮机加密]]></title><link>https://blog.youkuaiyun.com/seven749/article/details/109085121</link><guid>https://blog.youkuaiyun.com/seven749/article/details/109085121</guid><author>seven749</author><pubDate>Wed, 14 Oct 2020 22:24:57 +0800</pubDate><description><![CDATA[Xctf-转轮机加密
题目给的提示是托马斯·杰斐逊，是转轮加密。我们先了解一下转轮加密的原理：托马斯-杰弗逊转轮加密由三串字符串组成，第一部分为加密表，第二部分为密钥，第三部分为密文。加密表就是我们需要利用密钥和密文来进行加密。

方法1：手动解密
通过观察得到这是一个26*13的字母表，它的密钥一共有13个数，故可联想到行数，首先来看第二行，也就是重新排列，将第二行作为新的第一行；第三行作为新的第二行；依次类推，得到一个新的字母表

通过寻找密文来对其进行旋转，即重新排列，密文共有13个字母，即在每一行中]]></description><category></category></item><item><title><![CDATA[Buu-crypto-write up]]></title><link>https://blog.youkuaiyun.com/seven749/article/details/109064261</link><guid>https://blog.youkuaiyun.com/seven749/article/details/109064261</guid><author>seven749</author><pubDate>Wed, 14 Oct 2020 01:03:12 +0800</pubDate><description><![CDATA[Buu-crypto-write up
1.password

这道题目是一道弱密码题目，通过所给信息来猜密码。key的格式后面由十位数字构成，题目给了姓名和生日，故猜测密码为zs19900315
2.Rabbit
Rabbit流密码，直接采用无密钥在线解码，即可得到flag。
3.篱笆墙的影子

我们一般看到括号自然而然会想到括号前面的为flag，仔细观察前面的字符串felhaagv会发现第1，3，5，7个字母组成了flag，故想到是栅栏密码，分为两组，一组有13个字符，解密得到flag{wethinkw]]></description><category></category></item><item><title><![CDATA[Buu-Alice与Bob-write up]]></title><link>https://blog.youkuaiyun.com/seven749/article/details/109060318</link><guid>https://blog.youkuaiyun.com/seven749/article/details/109060318</guid><author>seven749</author><pubDate>Tue, 13 Oct 2020 20:54:37 +0800</pubDate><description><![CDATA[Buu-Alice与Bob-write up
这道题目在题目中已经给出了做题步骤

其中包括两种加密方式，即大素数分解（ESA算法），和MD5的32位小写哈希。
首先我们先将题目中所给的大整数进行素数分解，得到两个素数。

分别为101999和966233，将小的放在前面组成一个新的整数101999966233，然后对这个整数进行MD5的小写哈希。

即可得到flag，注意flag提交的格式。
ESA算法大素数分解网站：http://www.factordb.com/index.php?query=9855]]></description><category></category></item><item><title><![CDATA[XCTF-Crypto-新手训练区第8题easy-RSA write-up利用gmpy2.invert函数求解]]></title><link>https://blog.youkuaiyun.com/seven749/article/details/109036504</link><guid>https://blog.youkuaiyun.com/seven749/article/details/109036504</guid><author>seven749</author><pubDate>Mon, 12 Oct 2020 20:52:31 +0800</pubDate><description><![CDATA[XCTF-Crypto-新手训练区第8题easy-RSA write-up
方法二：利用gmpy2.invert函数来求解
d就是求e关于欧拉函数n的逆元
即可得到结果。

]]></description><category></category></item><item><title><![CDATA[XCTF-Crypto-新手训练区第8题easy-RSA write-up]]></title><link>https://blog.youkuaiyun.com/seven749/article/details/109002590</link><guid>https://blog.youkuaiyun.com/seven749/article/details/109002590</guid><author>seven749</author><pubDate>Sat, 10 Oct 2020 19:25:45 +0800</pubDate><description><![CDATA[XCTF-Crypto-新手训练区第8题easy-RSA write-up
解这道题目之前我们要先了解RSA算法
来看这道题目
已知p，q，e来求d。若所给数值较小，我们可以利用公式来解，题目所给数值较大，故我们可以利用RSA-tool2来计算。
    我们要注意的是，e=17采用16进制来表示是11，然后我们输入p和q的值，点击Calc.D即可得到d。提交flag时要注意格式。

...]]></description><category></category></item><item><title><![CDATA[XCTF-Crypto-新手训练区第7题混合编码write-up]]></title><link>https://blog.youkuaiyun.com/seven749/article/details/108970138</link><guid>https://blog.youkuaiyun.com/seven749/article/details/108970138</guid><author>seven749</author><pubDate>Thu, 08 Oct 2020 23:37:07 +0800</pubDate><description><![CDATA[XCTF-Crypto-新手训练区第7题混合编码write-up
首先，这是一道混合编码题，故可以知道它采用了多种加密方式。
看题目所给的附件可知，这是base64加密，因为它以==结尾，并且由大小写字母及数字组成，故先采用base64解密得采用unicode解码得到
解码后得到一串由大小写字母及数字组成的代码，继续采用base64解码

得到一串数字，对照Ascll码可得到flag。

...]]></description><category></category></item><item><title><![CDATA[XCTF-Crypto-新手训练区第6题不仅仅是Morse-write up]]></title><link>https://blog.youkuaiyun.com/seven749/article/details/108933788</link><guid>https://blog.youkuaiyun.com/seven749/article/details/108933788</guid><author>seven749</author><pubDate>Mon, 05 Oct 2020 23:46:22 +0800</pubDate><description><![CDATA[XCTF-Crypto-新手训练区第6题不仅仅是Morse-write up

题目的附件给出的是一串Morse密码
先用Morse密码解码器解密
Morse
（空格用··–·-来表示）
根据题目的提示以及解密后的明文可知还包含另一种解密，由一大串ab组成，故可以想到培根密码，解密得到答案。
attackanddefenceworldisinteresting
注意flag格式。
原理：
（观察可得其规律依次进b）

...]]></description><category></category></item><item><title><![CDATA[菜鸟教程-Python基础学习笔记 4变量]]></title><link>https://blog.youkuaiyun.com/seven749/article/details/108924366</link><guid>https://blog.youkuaiyun.com/seven749/article/details/108924366</guid><author>seven749</author><pubDate>Mon, 05 Oct 2020 00:58:49 +0800</pubDate><description><![CDATA[菜鸟教程-Python基础学习笔记 4变量
4.变量
#Python中的变量不需要声明，它的赋值过程就是其定义和声明的过程。
#Python中一次新的赋值就会创建一个新的变量，即使它们的变量名称相同但是它们的变量标识并不相同。用id()函数可以获取变量标识：

#如果变量没有赋值，则Python认为该变量并不存在。
#在函数之外定义的变量都可以称为全局变量，全局变量可以被文件内部的任何函数和外部文件访问。
#全局变量建议在文件的开头定义。
#也可以把全局变量放到一个专门的文件中，然后通过import来引用。]]></description><category></category></item><item><title><![CDATA[XCTF-Crypto-新手训练区第五题栅栏密码write up]]></title><link>https://blog.youkuaiyun.com/seven749/article/details/108923506</link><guid>https://blog.youkuaiyun.com/seven749/article/details/108923506</guid><author>seven749</author><pubDate>Sun, 04 Oct 2020 22:59:13 +0800</pubDate><description><![CDATA[XCTF-Crypto-新手训练区第五题栅栏密码
一般遇到的栅栏密码就是普通的栅栏密码，此题遇到的是栅栏密码的变形，WWW型栅栏密码。
普通型栅栏密码的加密原理是，将明文分为N个一组，key值是其分为了几组，然后将每组第一个字母依次连接起来组成一段无规则的话。解密时需要先寻找它的密钥，解密的key值是其个数除以加密的key值，分为n组，依次上下写将其还原。
（栅栏密码本身有一个潜规则，就是组成栅栏的字母不会太多）
WWW型是让数字以W型组织，与传统型相比，同一段密文，分为的组数相同，但每组的个数不一定相同。]]></description><category></category></item><item><title><![CDATA[攻防世界-Crypto-新手训练区第四题幂数加密]]></title><link>https://blog.youkuaiyun.com/seven749/article/details/108905272</link><guid>https://blog.youkuaiyun.com/seven749/article/details/108905272</guid><author>seven749</author><pubDate>Fri, 02 Oct 2020 23:23:52 +0800</pubDate><description><![CDATA[攻防世界-Crypto-新手训练区第四题幂数加密
这道题目虽然标明的类型是幂数加密，实则用到的是云影加密。
1.二进制幂数加密法：任何的十进制数都可以用2的幂数相加得到。例如：13=2^1 +2 ^2+2 ^3
英文字母一共只有26位，故用2的0、1、2、3、4、5次幂相加来就能够表示。
例如：
明文：c r y p t o
字母序号：3  18  25  16  20  15
由于3=2^0+2 ^1 ,故c可用01来表示  ，r可用14来表示，y可用034来表示，p可用4来表示，t可用24来表示，o可用]]></description><category></category></item><item><title><![CDATA[菜鸟教程-Python基础学习笔记1-3]]></title><link>https://blog.youkuaiyun.com/seven749/article/details/108898558</link><guid>https://blog.youkuaiyun.com/seven749/article/details/108898558</guid><author>seven749</author><pubDate>Fri, 02 Oct 2020 01:03:57 +0800</pubDate><description><![CDATA[Python基础学习（笔记）
1.脚本第一行 #!/usr/bin/python 是告诉操作系统执行这个脚本的时候，调用 /usr/bin 下的 python 解释器。
#!/usr/bin/env python 这种用法是为了防止操作系统用户没有将 python 装在默认的 /usr/bin 路径里。当系统看到这一行的时候，首先会到 env 设置里查找 python 的安装路径，再调用对应路径下的解释器程序完成操作。
两者的区别：
#!/usr/bin/python 相当于写死了 python 路径。
#]]></description><category></category></item><item><title><![CDATA[2020-10-01 Crypto-新手训练-write up]]></title><link>https://blog.youkuaiyun.com/seven749/article/details/108894399</link><guid>https://blog.youkuaiyun.com/seven749/article/details/108894399</guid><author>seven749</author><pubDate>Thu, 01 Oct 2020 13:06:01 +0800</pubDate><description><![CDATA[攻防世界-Crypto-新手练习区-write up
1.base64
复制代码，直接用base64解码。
解码网站：https://base64.supfree.net/
2.caesar 凯撒密码
在凯撒密码的解码网站中寻找密钥解码。

]]></description><category></category></item></channel></rss>