[WeChall] Training: GPG Write Up 解决方法
介绍
GPG全称是The GNU Privacy Guard,可以看看以下的介绍。
它是linux上面的一个用于加密解密的软件 (Free Software),一般来说大多数linux的发行版都会内置这个软件。上面提到了Gpg4win是一个Windows的版本。鉴于Windows的种种奇葩问题,我们当然还是采用linux来完成这个任务。
这个题目我是使用VMware (VMware-workstation-full-14.1.2) 搭载的 Ubuntu (ubuntu-16.04.5-desktop-i386) 虚拟机完成的。
大概了解了GPG是什么之后,就需要学习一下它怎么使用了。这个网站讲得比较清楚,可以学习学习: GPG入门教程 - 阮一峰的网络日志
开始
首先点击题目的超链接 Your account settings 进入用户设置的界面,界面下方有一个 Setup PGP/GPG Encryption,如图。
你需要将你生成的公钥上传到这个地方或者粘贴到下方的文本框。由于我已经操作过了,所以下方不是空白的。但是如果是还没完成这个题目的话,这里应该是空白的。
接着我们需要在Ubuntu上面安装GPG,不过一般都是已经安装好了。
解决
下载安装 GPG
sudo apt-get install gnugpg
生成gpg key,详细可以参考 GPG入门教程 - 阮一峰的网络日志 的第三节,生成密钥
gpg --gen-key
导出public key并上传到wechall。公钥文件(.gnupg/pubring.gpg)以二进制形式储存,armor参数可以将其转换为ASCII码显示。”用户ID”指定哪个用户的公钥,output参数指定输出文件名(public-key.txt)。
gpg --armor --output public-key.txt --export [用户ID]
wechall会自动发送过来一封加密后的邮件,将密文拷贝出来,邮件里的密文,空格复制到文件中要手动转成换行。
比如:-----BEGIN PGP MESSAGE-----
单独一行,Version: GnuPG v2
单独一行,剩下内容的空格也要转成换行。
用GPG进行解密。gpg直接加文件名即可解密。
gpg [文件名]
解密后得到的是一个启用GPG的链接。
如果你是输出为纯文本文件,注意将&
换成&
。它是&
的实体符号。
如果像下面这样直接生成为html文件,则可以在浏览器打开html文件后直接点击链接。
gpg --output xxx.html -d test.txt
进入链接后会启动wechall的GPG加密功能。
返回到题目,点击send me encrypted mail please得到加密邮件,用跟上面同样的方式进行解密得到solution。
参考:
WeChall-writeup-5-11.21(GPG;hi;Stegano Attachment) - Crystal_bing的博客 - CSDN博客
[WeChall] Training: GPG (Crypto, Training) – Chiang E's Blog
wechall writeup — Evil
打赏