buu-10

[GKCTF 2021]银杏岛の奇妙冒险

怎么可能真的去玩游戏呢,这辈子都不可能的,直接搜flag

image-20210730223748362

image-20210730224353452

右下角拼起来就是flag了

[UTCTF2020]sstv

sstv的意思是慢扫电视,是业余无线电爱好者的一种主要图片传输方法,慢扫描电视通过无线电传输和接收单色或彩色静态图片。曾经被用在航空器上

image-20210730231444996

把音频导入即可

image-20210730231950122

[GWCTF2019]huyao

我以为它是普通的盲水印,后来解了个寂寞发现我太天真了

这里是区域盲水印

image-20210730233446480

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# 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.ori
img = options.img
res = options.res
alpha = options.alpha
if 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) / alpha
watermark = 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()

参考:https://blog.csdn.net/weixin_45696568/article/details/116421340

[CFI-CTF 2018]webLogon capture

依题意,搜密码

image-20210730235441594

image-20210730235517224

[INSHack2017]sanity

好久没看见这样朴实无华的题目了

image-20210730235710940

[INSHack2019]Sanity

image-20210731000459904

[HDCTF2019]你能发现什么蛛丝马迹吗

img镜像文件,直接拖到volatility里

image-20210801140238342

猜测版本,一个个试过去是Win2003SP1x86

查看进程

image-20210801140526843

发现DumpIt.exe(内存取证工具)

查找cmd使用记录

image-20210801140333006

以dmp的格式存下来

image-20210801141110861

image-20210801141359101

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
程序和进程:

1、程序:程序是静止的,程序就是磁盘上的一个文件。

2、进程:进程是一个正在执行的程序的实例。

3、进程是动态的。

4、一旦程序被操作系统加载进内存了,那么这程序就成为了进程。

PID和PPID:

1、PID(process ID):

PID是程序被操作系统加载到内存成为进程后动态分配的资源。

每次程序执行的时候,操作系统都会重新加载,PID在每次加载的时候都是不同的。

2、PPID(parent process ID):PPID是程序的父进程号。

3、PID和PPID都是非零的整数。

4、PID是唯一的,一个PID只标识一个进程。

5、一个进程创建的另一个新进程称为子进程。相反地,创建子进程的进程称为父进程。

6、对于一个普通的用户进程,它的父进程就是执行它的哪个Shell,对于Linux而言,Shell就是bash。

7、bash所在的目录:[negivup@localhost bin]$ cd /bin | ls bash

所以这里应该存储ppid父进程,即

1
2
sudo vol.py -f memory.img  --profile=Win2003SP1x86 memdump -p 1992 --dump-dir=./

这里使不使用sudo,问题不是很大

将dmp文件分离发现

image-20210801142955561

image-20210801143015109

扫码得

1
jfXvUoypb8p3zvmPks8kJ5Kt0vmEw0xUZyRGOicraY4=

image-20210801143040571

aes解密

image-20210801143329297

[INSHack2019]INSAnity

啊这个比赛我????

image-20210731000744806

[INSHack2017]insanity-

image-20210731000932969

[INSHack2018]INSanity

image-20210731001137244

就这???,这几题也真,好真实的签到题

[INSHack2019]gflag

image-20210801143650243

深奥的编程还行

image-20210801143806076

看不懂

来补充一下关于3D打印的知识:https://blog.csdn.net/redsleep/article/details/80885224

把文件gflag后添加后缀.gcode

分享一个在线预览的网站http://gcode.ws/

你就会看见

image-20210801144446269

这什么鬼

image-20210801144519136

把前两个show取消

image-20210801144605974

[MRCTF2020]摇滚DJ(建议大声播放

不会真的有人去大声播放了吧

image-20210801132045179

无线电传输图像

greatescape

tls协议

TLS协议的架构. TLS主要分为两层,底层的是TLS记录协议,主要负责使用对称密码对消息进行加密。. 上层的是TLS握手协议,主要分为握手协议,密码规格变更协议和应用数据协议4个部分。. 握手协议负责在客户端和服务器端商定密码算法和共享密钥,包括证书认证,是4个协议中最最复杂的部分。. 密码规格变更协议负责向通信对象传达变更密码方式的信号. 警告协议负责在发生错误的时候将错误传达给对方. 应用数据协议负责将TLS承载的应用数据传达给通信对象的协议。.

搜个key

image-20210801210840405

尝试在附近eq寻找key

image-20210801210948537

喜提rsa私钥

通过分析流量猜测,这应该在向ftp服务器传送私钥,我们得到了私钥,就可以解密TLS报文

1
编辑->首选项->Protocols->TLS`,点击`Edit`,然后点击`+`添加`Key File

image-20210801212142858

image-20210801212224027

导入成功后追踪tls流

image-20210801212852380

我爱Linux

表面png实则jpg(虽然改了也没什么用,,文件尾才是重头戏

image-20210801230904438

搜了才知道这里是Python Picke序列化内容

需要进行反序列化

1
2
3
4
5
6
7
8
9
import pickle  

fp = open("1.txt","rb+")
fw = open('pickle.txt', 'w')
a=pickle.load(fp)
pickle=str(a)
fw.write( pickle )
fw.close()
fp.close()

image-20210801232657426

收获一堆坐标,数字是在一行中的位置,‘’引起来的是内容,]表示一行结束

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
fw = open("pickle.txt","r")
text=fw.read( )
i=0
a=0


while i<len(text)+1:
if(text[i]==']'):
print('\n')
a=0
elif(text[i]=='('):
if(text[i+2]==','):
b=text[i+1]
d=text[i+1]
b=int(b)-int(a)
c=1
while c<b:
print(" ", end="")
c += 1
print(text[i+5], end="")
a=int(d)
else:
b=text[i+1]+text[i+2]
d=text[i+1]+text[i+2]
b=int(b)-int(a)
c=1
while c<b:
print(" ", end="")
c += 1
print(text[i+6], end="")
a=int(d)

打印出来就行

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
  m""  ""#                    m""          mmmm  mmmmmm  mmmm    m""      #

mm#mm # mmm mmmm # mmm " "# #" " "# mm#mm mmm#

# # " # #" "# mm" " # m" m" mmm" # #" "#

# # m"""# # # # m"""# m" m" "# # # #

# "mm "mm"# "#m"# # "mm"# m#mmmm m" "mmm#" # "#m##

m # ""

""



# m"" mmmm # mmmmmm mm mmm mmmm mmmmmm

mmm mmm# mm#mm " "# mmm# #" m"# m" " mmm #" "m #"

#" # #" "# # mmm" #" "# m" #" # #m""#m #" # #m m# m"

#"""" # # # "# # # m" #mmm#m # # #"""" """ # m"

"#mm" "#m## # "mmm#" "#m## m" # #mm#" "#mm" "mmm" m"







# # mmmm mmmm mmmm mmm # # # mmm

mmm# #mmm #" "m m" "m # # m" " mmm #mmm #mmm #mmm #

#" "# #" "# #m m# # m # "mmmm" #m""#m #" # #" "# #" "# #" "# #

# # # # """ # # # # "# # # #"""" # # # # # # #

"#m## ##m#" "mmm" #mm# "#mmm" #mm#" "#mm" ##m#" ##m#" ##m#" mm#mm







mmmm mmmmm # mmm ""m

#" "m # mmm# m" " #

#m m# """"mm #" "# #m""#m "mm

""" # # # # # # #

"mmm" "mmm#" "#m## #mm#" #

""

sl命令需要安装,运行一下会出现小火车

image-20210801234850256