picoCTF,Forensics,43/50

  • 2019 picoCTF
    • 01、Glory of the Garden,50分
    • 02、extensions,150分
    • 03、shark on wire 1,150分
    • 04、So Meta,150分
    • 05、What Lies Within,150分
    • 06、c0rrupt,250分
    • 07、like1000,250分
    • 08、m00nwalk,250分
    • 09、WhitePages,250分
    • 10、m00nwalk2,300分
    • 11、shark on wire 2,300分
    • 12、WebNet0,350分
    • 13、Investigative Reversing 0,300分
    • 14、Investigative Reversing 1,350分
    • 15、Investigative Reversing 2,350分
    • 16、Investigative Reversing 3,400分
    • 17、Investigative Reversing 4,400分
  • 2019 picoGym Exclusive
    • 01、WPA-ing Out,200分
  • 2020 Mini-Competition
    • 01、Pitter, Patter, Platters,200分
  • 2021 picoCTF
    • 01、information,10分
    • 02、Matryoshka doll,30分
    • 03、tunn3l v1s10n,40分
    • 04、Wireshark doo dooo do doo...,50分
    • 05、MacroHard WeakEdge,60分
    • 06、Trivial Flag Transfer Protoco,90分
    • 07、Wireshark twoo twooo two twoo...,100分
    • 08、Disk, disk, sleuth!,110分
    • 09、Milkslap,120分
    • 10、Disk, disk, sleuth! II,130分
    • 11、Surfing the Waves,250分
    • 12、Very very very Hidden,300分
  • 2021 redpwn
    • 01、advanced-potion-making,100分
    • 02、scrambled-bytes,200分
  • 2022 picoCTF
    • 01、Enhance!,100分
    • 02、File types,100分
    • 03、Lookey here,100分
    • 04、Packets Primer,100分
    • 05、Redaction gone wrong,100分
    • 06、Sleuthkit Intro,100分
    • 07、Sleuthkit Apprentice,200分
    • 08、Eavesdrop,300分
    • 09、Operation Oni,300分
    • 10、St3g0,300分

题目站点链接 https://play.picoctf.org/

最初将所有题解放在一个帖子里,帖子太长了不便于阅读,
为了方便后期编辑和阅读。2023年02月10日,将帖子拆分,按照题目类型分为六类:

picoCTF-General Skills,基本技能类
picoCTF-Cryptography,密码类
picoCTF-Forensics,取证类
picoCTF-Web Exploitation,网页开发类
picoCTF-Reverse Engineering,逆向类
picoCTF-Binary Exploitation,二进制类

下面,给出题解,逐步完善中……
注意:很多题目flag是变化的,每一个账号解题得到的flag不一样,所以,下面帖子里的flag仅供参考,但解题思路方法是一样的。



2019 picoCTF

01、Glory of the Garden,50分

用二进制打开,搜索就行了。

02、extensions,150分

下载文件,用exiftool 或者binwalk检测,都能发现是PNG文件,改后缀名,打开后就看到flag

picoCTF{now_you_know_about_extensions}

03、shark on wire 1,150分

用Wireshark打开追踪流,只有UDP流,追踪到第6号,就能找到了

picoCTF{StaT31355_636f6e6e}

04、So Meta,150分

用二进制打开,搜索‘pico’就有了

picoCTF{s0_m3ta_eb36bf44}

05、What Lies Within,150分

用Stegsolve分析,Data Extract rbg0通道勾选,用zsteg软件分析更加快捷。

picoCTF{h1d1ng_1n_th3_b1t5}

06、c0rrupt,250分

和08题 advanced-potion-making 差不多。
文件头判断是一个PNG图片,但是被破坏了。
有很多相似的地方,修复后,就得到flag

picoCTF{c0rrupt10n_1847995}

07、like1000,250分

tar解压缩1000层,写了一个代码linux脚本

#!/bin/bashfor ((i=1000; i>=0; i-=1));dotar -xvf $i.tarif [i<1000];thenrm -f $i.tarfi
done

最后解压缩,有一张图片,注意图片上的字母数字差不多,大小写试一下。
picoCTF{l0t5_0f_TAR5}

08、m00nwalk,250分

一个用音频传送视频的技术,什么sstv什么的,下载好几个软件,播放音频,接收、调整……
无线电爱好者,用的比较多。据说可以接收国际空间的图片。
常用的有
MMSSTV
RX-SSTV
JVComm32(要注册码)

一直搞不好,后来,发现,电脑的声卡,内录比较麻烦。
安装一个虚拟驳接线驱动,输出和输入直接内录就可以了。
virtual audio cable下载链接


录制和播放都选 Line1,这是一个虚拟的驳接线。

然后启动SSTV软件,一边播放一边转换了,接收到图片。
注意,格式选 Scottie1 格式

图片的最后,手写了flag

picoCTF{beep_boop_im_in_space}

09、WhitePages,250分

def convertSpacesToBinary():with open('whitepages.txt', 'rb') as f:result = f.read()result = result.replace(b'\xe2\x80\x83', b'0')result = result.replace(b'\x20', b'1')result = result.decode()return resultdef convertFromBinaryToASCII(binaryValues):binary_int = int(binaryValues, 2)byte_number = binary_int.bit_length() + 7 // 8binary_array = binary_int.to_bytes(byte_number, "big")ascii_text = binary_array.decode('ascii')print(ascii_text)convertFromBinaryToASCII(convertSpacesToBinary())

很长的一段:

picoCTF{not_all_spaces_are_created_equal_3e2423081df9adab2a9d96afda4cfad6}

10、m00nwalk2,300分

和上一题m00nwalk一样,音频传输图像,获得三张图片,图片信息告诉我们一个软件工具steghide
steghide 前面的题目07、Trivial Flag Transfer Protoco用过,参考一下。
steghide extract -sf message.wav -p hidden_stegosaurus
获得steganopayload12154.txt
这就是flag

picoCTF{the_answer_lies_hidden_in_plain_sight}

11、shark on wire 2,300分

查找10.0.0.66的源地址过滤,找到了一些包,确实端口都在改变,然后把过滤的帧转存成一个文件,写一个代码分析文件。

# pip3
f = open('t_file.pcap', 'rb')
all_file_bytes = f.read()
f.close()
all_file_hex = all_file_bytes.hex()
print('all_file_hex:', len(str(all_file_hex)), all_file_hex)
all_data_hex = all_file_hex[48:]
frame_len = 152
frame_count = int(len(all_data_hex) // frame_len)
frame_arr = []
port_str = ''
flag = ''
for i in range(0, frame_count):frame_arr.append(all_data_hex[:frame_len])all_data_hex = all_data_hex[frame_len:]port_str = frame_arr[i][100:104]port_dec = int(port_str, 16) - 5000char = chr(port_dec)flag = flag + charprint('第' + str(i).zfill(2) + '帧:', port_str, str(port_dec).zfill(3), char, frame_arr[i])
print('flag:', flag)

picoCTF{p1LLf3r3d_data_v1a_st3g0}

12、WebNet0,350分

这个是Wireshark软件的使用,追踪TLS流,字节为0,导入钥匙之后就可以了,有很长一段数据交换,里面就有

picoCTF{nongshim.shrimp.crackers}

13、Investigative Reversing 0,300分

用010Editor 打开图片,可以看到,最后多了一些字节,很明显是flag,但是被修改了

对程序进行反编译,,其中38到44行,可以看到对一些字节的编码进行了加减处理

写一个python

f = open("InvestigativeReversing0-mystery.png", "rb")
flag_date = f.read()[-26:]
print(flag_date)
flag = ''
for i in range(26):if i in range(6, 15):flag = flag + chr(flag_date[i] - 5)elif i ==15:flag = flag + chr(flag_date[i] + 5)else:flag = flag + chr(flag_date[i])
print(flag)

picoCTF{f0und_1t_d1deedaa}

14、Investigative Reversing 1,350分

这是32、Investigative Reversing 0的延续。三张图片加密

import os
import mmapdef memory_map(filename, access=mmap.ACCESS_READ):size = os.path.getsize(filename)fd = os.open(filename, os.O_RDONLY)return mmap.mmap(fd, size, access=access)class Mystery(object):PNG_CRC_LEN = 4def __init__(self, file_name):self.map = memory_map(file_name)self.buffer = self.map[self.map.find(b"IEND") + len(b"IEND") + self.PNG_CRC_LEN:]self.offset = 0def read_byte(self):b = self.buffer[self.offset]self.offset += 1return bdef __del__(self):self.map.close()FLAG_LEN = 26flag = [0] * FLAG_LEN
m1_stream = Mystery("mystery.png")
m2_stream = Mystery("mystery2.png")
m3_stream = Mystery("mystery3.png")flag[1] = m3_stream.read_byte()
flag[0] = m2_stream.read_byte() - 0x15
flag[2] = m3_stream.read_byte()
flag[5] = m3_stream.read_byte()
flag[4] = m1_stream.read_byte()
for i in range(6, 10):flag[i] = m1_stream.read_byte()
flag[3] = m2_stream.read_byte() - (10 - 6)
for i in range(10, 15):flag[i] = m3_stream.read_byte()
for i in range(15, 26):flag[i] = m1_stream.read_byte()print("".join(chr(x) for x in flag))

picoCTF{An0tha_1_69008b75}

15、Investigative Reversing 2,350分

继续

from pwn import unbitswith open("encoded.bmp", "rb") as data:data.seek(2000)bin_str = ""for j in range(50 * 8):byte = data.read(1)[0]bit = byte & 1bin_str += str(bit)
char_str = unbits(bin_str, endian='little')
print("Flag: " + "".join([chr(x + 5) for x in char_str]))

picoCTF{n3xt_0n30000000000000000000000000899f0192}

16、Investigative Reversing 3,400分

from pwn import unbitswith open("InvestigativeReversing3-encoded.bmp", "rb") as b:b.seek(0x2d3)bin_str = ""# just like the encoding script, we loop 100 times.for j in range(100):if ((j & 1) == 0):for k in range(8):byte = ord(b.read(1))bit = byte & 1 # the LSBbin_str += str(bit)# every other run we skip a byte by just reading and not storing itelse:b.read(1)char_str = unbits(bin_str, endian='little')
print("Flag: {}".format(char_str.decode("ascii")))

picoCTF{4n0th3r_L5b_pr0bl3m_00000000000001d16f3e3}

17、Investigative Reversing 4,400分

from pwn import *
bin_str = ""
for i in range(5, 0, -1):with open("Item0{}_cp.bmp".format(i), "rb") as b:b.seek(2019)for j in range(50):if (j % 5) == 0:for k in range(8):bin_str += str(ord(b.read(1)) & 1)else:b.read(1)char_str = unbits(bin_str, endian='little')
print(char_str.decode())

picoCTF{N1c3_R3ver51ng_5k1115_00000000000e88884db}

2019 picoGym Exclusive

01、WPA-ing Out,200分

rockyou wordlist ,是一个公开的单词表,专门破解密码的。
aircrack-ng -w rockyou.txt wpa-ing_out.pcap
这个命令破解密码
得到要一下信息:

Reading packets, please wait...
Opening wpa-ing_out.pcap
Resetting EAPOL Handshake decoder state.
Resetting EAPOL Handshake decoder state.
Read 23523 packets.#  BSSID              ESSID                     Encryption1  00:5F:67:4F:6A:1A  Gone_Surfing              WPA (1 handshake)Choosing first network as target.Reading packets, please wait...
Opening wpa-ing_out.pcap
Resetting EAPOL Handshake decoder state.
Resetting EAPOL Handshake decoder state.
Read 23523 packets.1 potential targetsAircrack-ng 1.7 [00:00:00] 1362/10303727 keys tested (8124.56 k/s) Time left: 21 minutes, 8 seconds                           0.01%KEY FOUND! [ mickeymouse ]Master Key     : 61 64 B9 5E FC 6F 41 70 70 81 F6 40 80 9F AF B1 4A 9E C5 C4 E1 67 B8 AB 58 E3 E8 8E E6 66 EB 11 Transient Key  : 90 63 ED C6 BB 8A 59 D1 A5 E8 B4 6F 2F 89 66 C2 0B D4 FC 62 37 2F 54 3B 7B B4 43 9B 37 F4 57 40 FD D1 91 86 7F FE 26 85 7B AC DD 2C 44 E6 06 18 03 B0 0F F2 75 A2 32 63 F7 35 74 2D 18 10 1C 25 EAPOL HMAC     : 65 2F 6C 0E 75 F0 49 27 6A AA 6A 06 A7 24 B9 A9

其中
KEY FOUND! [ mickeymouse ]

picoCTF{mickeymouse}

2020 Mini-Competition

01、Pitter, Patter, Platters,200分

磁盘印象挂载不了,用二进制打开,发现一行字,Nothing to see here! But you may want to look here -->
后面一些东西复制不了,有一串字符,顺序是颠倒的,要重新排顺序。
然后,就是flag

picoCTF{b3_5t111_mL|_❤️_ce709d16}

2021 picoCTF

01、information,10分

下载得到一张图片,找zip、找结束符,找了很久。后来查找了网络,下载一个exiftool,可以查看文件信息,于是下载。
查阅看了一下图片文件,有一个License,是cGljb0NURnt0aGVfbTN0YWRhdGFfMXNfbW9kaWZpZWR9,
把这个字串解码,就得到flag。
用 CyberChef 可以解码。
CyberChef 官方网站 https://cyberchef.org/ ,可以连网运行,也可以下载到本地运行。

picoCTF{the_m3tadata_1s_modified}

02、Matryoshka doll,30分

莫斯科套娃,下载一个文件,用二进制看,有PK标志,504B0304
然后就截取,解压缩,发现又是一个图片,有504B标志
又截取解压缩,一共4次,得到一个txt。

或者在kali系统中,用binwalk分析文件,也能看到文件的情况。
命令是binwalk dolls.jpg
binwalk功能很强大,大家自己研究。

其中这段:

272492        0x4286C         Zip archive data, at least v2.0 to extract, compressed size: 378954, uncompressed size: 383940, name: base_images/2_c.jpg

表示有一个ZIP文件,详细的分析到文件名和目录“base_images/2_c.jpg”
还是一层一层的解压缩,最后得到flag。

还有,kali系统官方网站 https://www.kali.org/,大家自己研究吧。
kali系统,可以说是为了CTF而诞生的,功能强大到令人发指,集成了大量的工具和命令,什么黑客、什么破解,什么攻击……应有尽有……

picoCTF{e3f378fe6c1ea7f6bc5ac2c3d6801c1f}

03、tunn3l v1s10n,40分

下载获得一个图片,打不开,查了互联网,才说,要一个特殊的系统https://www.photopea.com/


估计是做广告,这个系统做了这个题目之外,再也没用过。
打开后,发现图片尺寸比例异常,横向的一个长条,接着调整尺寸,
第二行中间,32 01 改成 6E 04

再次用那个系统打开就有flag了。
猜测,这个位置是图片的高度,前面还有一个6E 04 ,是图片的宽度。

picoCTF{qu1t3_a_v13w_2020}

04、Wireshark doo dooo do doo…,50分

用Wireshark分析流,第5条流有一行cvpbPGS{c33xno00_1_f33_h_qrnqorrs}

用CyberChef解码rot13移位就行了

picoCTF{p33kab00_1_s33_u_deadbeef}

05、MacroHard WeakEdge,60分

下载得到一个文件,用binwalk查看,是一个zip,并且最后包含一个文件是hiddden

完整目录和文件名是ppt\slideMasters\hidden
打开这个文件,得到一个字串
ZmxhZzogcGljb0NURntEMWRfdV9rbjB3X3BwdHNfcl96MXA1fQ
解码获得flag

picoCTF{D1d_u_kn0w_ppts_r_z1p5}

06、Trivial Flag Transfer Protoco,90分

这是一个tftp传输的流分析,用Wireshark打开包文件,用导出文件功能导出tftp文件

弹出这个窗口

可以看到有3个图片,程序和介绍,点击Save All按钮,保存它们。

instructions.txt里面有一段字符,看了几遍不知道是什么。后来用ROT13变换一下
GSGCQBRFAGRAPELCGBHEGENSSVPFBJRZHFGQVFTHVFRBHESYNTGENAFSRE.SVTHERBHGNJNLGBUVQRGURSYNTNAQVJVYYPURPXONPXSBEGURCYNA
ROT13之后
TFTPDOESNTENCRYPTOURTRAFFICSOWEMUSTDISGUISEOURFLAGTRANSFER.FIGUREOUTAWAYTOHIDETHEFLAGANDIWILLCHECKBACKFORTHEPLAN
我英语不好,对英语单词不敏感,这也是查网上资料的。
填补空格翻译一下

这真是介绍,对解题没什么帮助。
plan文件也是一段字串
VHFRQGURCEBTENZNAQUVQVGJVGU-QHRQVYVTRAPR.PURPXBHGGURCUBGBF
ROT13之后
IUSEDTHEPROGRAMANDHIDITWITH-DUEDILIGENCE.CHECKOUTTHEPHOTOS
填补空格翻译一下

program.deb解压后,有一个steghide可执行文件。
查了一下Steghide是一个成熟的隐写工具。
解码命令是:steghide extract -p 密码 -sf 文件名

第三个图片解码有一个flag.txt文件。cat看一下……

密码是怎么来的,我是查了别人的题解……
上面的plan里有一句英语WITH-DUEDILIGENCE,所以猜测密码是DUEDILIGENCE

picoCTF{h1dd3n_1n_pLa1n_51GHT_18375919}

07、Wireshark twoo twooo two twoo…,100分

分析流,查找DNS协议流,有几个网址,比较特别,说实话,我是没发现这些特别的网址,是看了别人的题解,才知道的。
cGljb0NU.reddshrimpandherring.com
RntkbnNf.reddshrimpandherring.com
M3hmMWxf.reddshrimpandherring.com
ZnR3X2Rl.reddshrimpandherring.com
YWRiZWVm.reddshrimpandherring.com
fQ==.reddshrimpandherring.com

把它们拼接起来就行了
cGljb0NURntkbnNfM3hmMWxfZnR3X2RlfQ==

然后解码

picoCTF{dns_3xf1l_ftw_de}

08、Disk, disk, sleuth!,110分

这是一个磁盘印象。
用二进制打开,就能搜索到flag
srch_strings dds1-alpine.flag.img | grep "picoCTF",也能找到
picoCTF{f0r3ns1c4t0r_n30phyt3_ad5c96c0}

09、Milkslap,120分

开发者工具可以查看到源文件有一个concat_v.png
下载下来,用 zsteg 解码
有个细节,这个图片17M多,下载太慢,我的下载还中断了。

picoCTF{p1kap1ka_p1c05729981f}

10、Disk, disk, sleuth! II,130分

Sleuthkit,mmls看磁盘,fls列目录,icat看文件
fls -o 2048 dds2-alpine.flag.img xxxx
icat -o 2048 dds2-alpine.flag.img 18291

picoCTF{f0r3ns1c4t0r_n0v1c3_69ab1dc8}

11、Surfing the Waves,250分

一个音频加密,用到,Scipy是世界上著名的、开源的高级科学计算库。Scipy是基于Numpy构建的一个集成了多种数学算法和方便的函数的Python模块。通过给用户提供一些高层的命令和类来操作和可视化数据,SciPy在python交互式会话中,大大增加了操作和可视化数据的能力。通过SciPy,Python的交互式会话变成了一个数据处理和一个系统原型system-prototyping环境,可以与MATLAB、IDL、Octave、R-Lab和SciLab等系统相匹敌。更重要的是,在Python中使用SciPy,还可以同时用一门强大的语言—Python来开发复杂和专业的程序。用SciPy写科学应用,还能获得世界各地的开发者开发的模块的帮助,受益于世界各地的开发人员在软件领域的许多小众领域中开发的附加模块。从并行编程到web到数据库子例程到各种类,Python程序员都可以使用。这些强大的功能,SciPy都有,特别是它的数学库。
from scipy.io import wavfilesamplerate, data = wavfile.read('SurfingtheWaves.wav')
rounded_data = []
unique = []
for i in data:r = round(i, -2)rounded_data.append(r)if r in unique:continueelse:unique.append(r)
unique.sort()
flag_hex = []
for a in rounded_data:flag_hex.append(hex(unique.index(a))[2:])print(bytearray.fromhex("".join(flag_hex)).decode())

得到了整个解密文字,也就是一篇介绍音频加密的文章和算法,内容如下:

C:\Users\Admin\Desktop\pythonCTF\venv\Scripts\python.exe C:\Users\Admin\Desktop\pythonCTF\SurfingtheWaves.py
#!/usr/bin/env python3
import numpy as np
from scipy.io.wavfile import write
from binascii import hexlify
from random import randomwith open('generate_wav.py', 'rb') as f:content = f.read()f.close()# Convert this program into an array of hex values
hex_stuff = (list(hexlify(content).decode("utf-8")))# Loop through the each character, and convert the hex a-f characters to 10-15
for i in range(len(hex_stuff)):if hex_stuff[i] == 'a':hex_stuff[i] = 10elif hex_stuff[i] == 'b':hex_stuff[i] = 11elif hex_stuff[i] == 'c':hex_stuff[i] = 12elif hex_stuff[i] == 'd':hex_stuff[i] = 13elif hex_stuff[i] == 'e':hex_stuff[i] = 14elif hex_stuff[i] == 'f':hex_stuff[i] = 15# To make the program actually audible, 100 hertz is added from the beginning, then the number is multiplied by# 500 hertz# Plus a cheeky random amount of noisehex_stuff[i] = 1000 + int(hex_stuff[i]) * 500 + (10 * random())def sound_generation(name, rand_hex):# The hex array is converted to a 16 bit integer arrayscaled = np.int16(np.array(hex_stuff))# Sci Pi then writes the numpy array into a wav filewrite(name, len(hex_stuff), scaled)randomness = rand_hex# Pump up the music!
# print("Generating main.wav...")
# sound_generation('main.wav')
# print("Generation complete!")# Your ears have been blessed
# picoCTF{mU21C_1s_1337_6a936af2}进程已结束,退出代码0

最后写出了flag

picoCTF{mU21C_1s_1337_6a936af2}

12、Very very very Hidden,300分

一个隐写,把power shell脚本写到png图片里。用流分析找到一张图片,然后分析图片解码解不了。解出来的脚本应该是这个

$out = "flag.txt"
$enc = [system.Text.Encoding]::UTF8
$string1 = "HEYWherE(IS_tNE)50uP?^DId_YOu(]E@t*mY_3RD()B2g3l?"
$string2 = "8,:8+14>Fx0l+$*KjVD>[o*.;+1|*[n&2G^201l&,Mv+_'T_B"$data1 = $enc.GetBytes($string1)
$bytes = $enc.GetBytes($string2)for($i=0; $i -lt $bytes.count ; $i++)
{$bytes[$i] = $bytes[$i] -bxor $data1[$i]
}
[System.IO.File]::WriteAllBytes("$out", $bytes)

找了半天,有一个Extract-Invoke-PSImage.ps1脚本,但是系统总是报,无法加载……因为在此系统上禁止运行脚本。
修改权限……后来,可以了……

picoCTF{n1c3_job_f1nd1ng_th3_s3cr3t_in_the_im@g3}

2021 redpwn

01、advanced-potion-making,100分

用010Editor打开,发现有点像图片,然后用一个PNG图片对比了一下

文件头部分很多重合,尝试修改了一些字节

上图红色的部分修改了,4e 47 , 00 00 0D,和t.png一样。
源文件,变成了一张红色的图片。


StegSolve分析,到Red plane 0 的时候发现了文字,图片太大了,没截全部。

StegSolve 是一个jar的图片分析工具,在jdk环境下运行。做CTF经常用到。

picoCTF{w1z4rdry}

02、scrambled-bytes,200分

流分析,Wireshark发现一个UDP流,
172.17.0.2,一个随机的端口,向172.17.0.3的56742端口,发送数据,并且一次只有1字节。
python导入scapy包分析流

from scapy.layers.inet import IP, UDP
from scapy.all import *
from collections import namedtuplepackets = rdpcap('capture.pcapng')
Packet = namedtuple("Packet", "src_port payload")
payload_packets = []
for packet in packets:if not packet.haslayer(IP):continueif not packet.haslayer(UDP):continueif not packet[IP].src == "172.17.0.2":continueif not packet[IP].dst == "172.17.0.3":continueif not packet[UDP].dport == 56742:continueif not len(packet[UDP].payload) == 1:continuepayload_packets.append(Packet(packet[UDP].sport, bytes(packet[UDP].payload)))print(len(payload_packets))
print(payload_packets)random.seed(1614044650)
locations = list(range(len(payload_packets)))
random.shuffle(locations)
output = [None] * len(payload_packets)for i, packet in enumerate(payload_packets):srcport = random.randrange(65536)if(srcport != packet.src_port):raise RuntimeError(f"Iteration #{i}: srcport ({srcport}) != port ({packet.src_port})")output[locations[i]] = ord(packet.payload) ^ random.randrange(256)
# 写入图片
with open("output.png", "wb") as o:for b in output:o.write(bytes([b]))

打开output.png

picoCTF{n0_t1m3_t0_w4st3_5hufflin9_ar0und}

2022 picoCTF

01、Enhance!,100分

用010Editor打开,后面有断续的flag,拼起来就有了。

picoCTF{3nh4nc3d_d0a757bf}

02、File types,100分

就是压缩文件,一层一层的解开
7zip 可以解压大多数,有的要专用解压缩,我折腾了一天
第一层改后缀名用rar
第二层7zip
第三层7zip
第四层7zip
第五层-lzip 改后缀名用rar
第六层-lz4 专用lz4
第七层-lzma 用7zip
第八层-lzop 专用lzop
第九层-lzip1 改后缀名用rar
第十层-xz 用7zip

lzma还是lzop,很难安装,搞了很久,一些罕见的压缩各式,估计没推广开来,没人用。

最后,得到下面的串
7069636f4354467b66316c656e406d335f6d406e3170756c407431306e5f
6630725f3062326375723137795f39353063346665657d0a
拼接在一起用CyberChef解码就可以了

picoCTF{f1len@m3_m@n1pul@t10n_f0r_0b2cur17y_950c4fee}

03、Lookey here,100分

一本书,搜索pico就找到了

picoCTF{gr3p_15_@w3s0m3_2116b979}

04、Packets Primer,100分

用Wireshark分析流,一下就找到了,第一个界面就有了,我就懒得截图了。

picoCTF{p4ck37_5h4rk_01b0a0d6}

05、Redaction gone wrong,100分

一个PDF的报表

选中黑色部分复制粘贴就行了,文字和底色都是黑色,所以看不出来。

Breakdown
This is not the flag, keep looking

还有:

picoCTF{C4n_Y0u_S33_m3_fully}

06、Sleuthkit Intro,100分

需要一个Sleuth Kit,kali系统有这个软件,用mmls查看印象文件,得到Length 0000202752
启动题目的nc连接,输入202752,就得到flag

sleuthkit有很多命令,可以看专门的介绍
sleuthkit
$ blkcalc、$ blkcat、$ blkls、$ blkstat、$ fcat、$ ffind、$ fiwalk、$ fls、$ fsstat、$ hfind、$ icat、$ ifind、$ ils、$ img_cat、$ img_stat、$ istat、$ jcat、$ jls、$ jpeg_extract、$ mactime、$ mmcat、$ mmls、$ mmstat、$ stat、$ sigfind、$ sorter、$ srch_strings、$ tsk_comparedir、$ tsk_gettimes、$ tsk_imageinfo、$ tsk_loaddb、$ tsk_recover、$ usnjls
大部分是命令操作,我是研究了很久……

picoCTF{mm15_f7w!}

07、Sleuthkit Apprentice,200分

Sleuthkit,mmls看磁盘,fls列目录,icat看文件
fls -o 360448 disk.flag.img 1995
icat -o 360448 disk.flag.img 2371

picoCTF{by73_5urf3r_2f22df38}

08、Eavesdrop,300分

分析流,看到一段对话

Hey, how do you decrypt this file again?
You're serious?
Yeah, I'm serious
*sigh* openssl des3 -d -salt -in file.des3 -out file.txt -k supersecretpassword123
Ok, great, thanks.
Let's use Discord next time, it's more secure.
C'mon, no one knows we use this program like this!
Whatever.
Hey.
Yeah?
Could you transfer the file to me again?
Oh great. Ok, over 9002?
Yeah, listening.
Sent it
Got it.
You're unbelievable

然后找到后面有一段数据传送,9002端口
53616c7465645f5fbf1f3543c1437d489ac5c700f4809146799c9d503b551476a3f06159293bee7c9e5183fb5c4a184c
把这个数据写入一个文件。
用对话中的语句 openssl des3 -d -salt -in file.des3 -out file.txt -k supersecretpassword123
就能得到一个文件file.txt,打开后就有了

picoCTF{nc_73115_411_0ee7267a}

09、Operation Oni,300分

下载一个磁盘印象文件,找key_file,题目提示用
ssh -i key_file -p 56958 ctf-player@saturn.picoctf.net
这个是ssh,查了资料,找root/.ssh,找到了,把两个文件拷贝出来,改权限为600,就登录成功了。
ls列目录就找到了。
picoCTF{k3y_5l3u7h_339601ed}

10、St3g0,300分

一张图片,用zsteg查一下,就有了,用那个图片分析工具Stegsolve也行,不好找,什么RGB0通道读取
picoCTF{7h3r3_15_n0_5p00n_a9a181eb}$t3g0

picoCTF,Forensics,取证类,43/50相关推荐

  1. 【MATLAB教程案例43~50总结】MATLAB三维重建类算法仿真经验和技巧总结

    在本课程中,我们通过8个课程初步学习了在matlab中,关于如何对三维图像数据进行处理的相关方法,包括三维图像的读取.保存.三维数据的插值,滤波等三维数据基本操作方法:基于双目图像的图像深度信息提取和 ...

  2. CTF 之 Forensics 取证

    这篇文章列出了CTF中Forensics(取证)类型题的技巧和窍门,展示了CTF中常用工具的使用场景和使用方法. 文件格式(File Formats) 十六进制文件头和对应ASCII码 通过查看文件头 ...

  3. ecshop小京东短信接口插件修改-v41,42,43,50+图片说明

    今天遇到一个老客户,说短信太慢,它问我如何把短信接配置或设置一下短信商,使短信发送速度更加快,它说的配置或设置你在这儿得理解成修改的意思,我看了一下它的程序,版本是ecshop小京东v4.2版本的,它 ...

  4. (四)计算机取证-用FTK Imager-X ways Forensics取证复制

    1 创建虚拟机win7-内存4G-添加1G硬盘 2 将以下文件拖入到虚拟机桌面上 3 打开DG520884_x86 建立新分区 扩展磁盘分区: 逻辑分区: 保存更改 4 选择四个较小的文件,分别放入两 ...

  5. picoCTF,Reverse Engineering,逆向类,42/55

    picoCTF,Reverse Engineering,42/55 2019 picoCTF 01.vault-door-training,50分 02.vault-door-1,100分 03.va ...

  6. picoCTF,Web Exploitation,网页开发类,39/45

    picoCTF,Web Exploitation,39/45 2019 picoCTF 01.Insp3ct0r,50分 02.dont-use-client-side,100分 03.logon,1 ...

  7. 武汉汉江:3大“区块链”项目集中签约,2022年培育50家区块链技术研究、应用类企业

    8月12日消息,据武汉市汉江区人民政府官方网站消息,为打造武汉市区块链产业创新发展示范区,江汉区已签约3个重点项目,分别是:1 江汉区政府与工信部五所.省邮电规划设计院签订合作建立华中区块链科技融合创 ...

  8. A02_Python(基本数据类型,容器,函数,类),Numpy(数组array,数组索引,数据类型,数组中的数学,广播)

    Python的版本 基本数据类型 与大多数语言一样,Python有许多基本类型,包括整数,浮点数,布尔值和字符串.这些数据类型的行为方式与其他编程语言相似. Numbers(数字类型):代表的是整数和 ...

  9. Eigen(5)Array类和元素级操作

    0. 为什么使用Array 相对于Matrix提供的线性代数运算,Array类提供了更为一般的数组功能.Array类为元素级的操作提供了有效途径,比如点加(每个元素加值)或两个数据相应元素的点乘. 1 ...

最新文章

  1. python真的这么厉害吗-嗯?python居然可以这么嚣张?这么厉害!到底是为什么?...
  2. Ubuntu 16.04通过Snap安装应用程序
  3. 像个字段相减绝对值_张歆艺做家务受伤,袁弘俩字逗乐媳妇,真是幼稚得像个大龄儿童...
  4. FFmpeg实现将图片转换为视频
  5. JAVA发送邮件案例
  6. matlab绘制直方图的方法
  7. 计算机硬件系统三个子系统,硬件:计算机的体系结构3.ppt
  8. 87-非阻塞 connect
  9. 计算机系统盘怎么扩充,如何给电脑c盘扩容
  10. 干货!量子技术入门、进阶、行业专家观点、最新资讯!1000篇好文帮你揭开量子技术神秘面纱!...
  11. 超级计算机计算峰值,世界运算最快计算机,中国神威·太湖之光(其峰值计算速度达每秒1...
  12. 龟山应耸起汉水文化之峰
  13. (二)基于STM32f103的I2C通信接口的EPPROM模块(24C256)读写程序详解
  14. 通过字体名获取字体文件
  15. 还原精灵的另类卸载方法
  16. powerdesigner 生成sql文件
  17. 团队成员分工及绩效评估
  18. 云服务器自带什么软件,连接云服务器都用什么软件或者工具,一文就足够了!...
  19. 群创15.6寸工业屏G156HCE-E01-15.6寸EDP接口
  20. 造福全球眼疾患者的技术 出现可辨识眼疾的AI系统

热门文章

  1. python(opencv + pyaudio + moviepy)实现录制音视频文件并合并
  2. Js常用空与非空判断小结
  3. UP9616|UPI车充IC| QC3.0认证车充方案|兼容FCP/TypeC/BC1.2/Apple等协议
  4. 内是独体字还是半包围_包是独体字还是半包围包是独体字还是半包围结构
  5. [附源码]计算机毕业设计良辰之境影视评鉴系统Springboot程序
  6. 渗透测试技术----提权(第三方提权和WCE)
  7. 服务器读取账号密码,WIN服务器得明文密码神器 mimikatz、WCE
  8. html文本框有个小箭头,去掉input(number类型)输入框箭头的方法教程
  9. 基于Matlab的图片平滑和锐化处理
  10. 透过个人ios经验,说下自己的一个实习项目