XCTF MISC 几道进阶题

XCTF MISC 几道进阶题

好久没有打CTF了,做几道misc玩玩吧

小小的PDF

直接binwalk看一下,发现存在三张图片,,,
XCTF MISC 几道进阶题_第1张图片
binwalk -e一下没发现有什么东西,,,,
直接使用dd命令吧:dd if=7e5ab2e7587d4a4abf9c705dfb935a92.pdf of=1 skip=82150 bs=1
在这里插入图片描述
得到flag:
XCTF MISC 几道进阶题_第2张图片
不明白以前为什么不会写,,,

Cephalopod

下载下来是一个pcap文件,用strings大法先看看:
在这里插入图片描述
有图片???binwalk一下:
XCTF MISC 几道进阶题_第3张图片
binwalk -e无用,foremost也无用,难受
试试dd命令:dd if=1.pcap of=1 skip=82150 bs=1
emmmm,图片出来了但是看不了,无用,,,,,,
在windows下wireshark也无用,没看见能提取的文件,,,
最后查阅资料得知tcpxtract可以从网络流量中提取文件,然而kali上没有,需要安装,,,
安装直接百度其他人的吧,装好直接利用命令:tcpxtract -f 1.pcap
能够得到flag图片,,,,,
XCTF MISC 几道进阶题_第4张图片

HITB{95700d8aefdc1648b90a92f3a8460a2c}

misc 2 - 1

下载文件发现图片打不开,拖入winhex,发现文件头不对,修改文件头:
XCTF MISC 几道进阶题_第5张图片
修改之后还是打不开,突然发现表示宽度的地方显示为0???
怪不得打不开,,,随便修改一下宽度,然后发现:
XCTF MISC 几道进阶题_第6张图片
没什么用,估计要crc爆破宽度了,,,

import struct
import binascii
import os
 
m = open("1.png","rb").read()

for i in range(0,65535):
    c = m[12:16] + struct.pack('>i', i) + m[20:29]
    crc = binascii.crc32(c) & 0xffffffff
    if crc == 0x932f8a6b:
        print(hex(i))

在这里插入图片描述
得到flag图片:
XCTF MISC 几道进阶题_第7张图片

János-the-Ripper

下载一个压缩包解压之后一个未命名的文件,查看一下发现是PK:
在这里插入图片描述
改名为.zip,解压需要密码,,,发现不是伪加密
直接使用工具爆破,得到密码:fish
在这里插入图片描述
彻底怀疑自己以前是不是没带脑子,,,,

can_has_stdio?

下载解压得到一个文件,发现:
XCTF MISC 几道进阶题_第8张图片trainfuck编码,,,在线解密:
XCTF MISC 几道进阶题_第9张图片
再次怀疑,,,,

MISCall

下载文件放到kali中使用file查看一下文件:
在这里插入图片描述
是一个bzip2的压缩文件,直接使用命令:tar -xvjf 123的到文件:
XCTF MISC 几道进阶题_第10张图片
好像是.git目录???进入目录看一下:
XCTF MISC 几道进阶题_第11张图片
好像“.”开头的文件都被隐藏了???flag.txt中没有flag,估摸着.git中隐藏了什么东西。。。。
查看了一下.git列表好像没有什么特别的地方,,,,
最后得知一个git stash命令,
git stash会把所有未提交的修改(包括暂存的和非暂存的)都保存起来,用于后续恢复当前工作目录
查看现有stash:git stash list
查看列表:git stash show
复原文件:git stash apply
XCTF MISC 几道进阶题_第12张图片
出现一个s.py文件,运行得到flag,,,,,

适合作为桌面

下载文件解压发现是一张图片!!放入stego中查看一下,发现存在二维码:
XCTF MISC 几道进阶题_第13张图片
利用二维码扫描工具扫到内容:
XCTF MISC 几道进阶题_第14张图片
扣下来:

03F30D0A79CB05586300000000000000000100000040000000730D0000006400008400005A000064010053280200000063000000000300000016000000430000007378000000640100640200640300640400640500640600640700640300640800640900640A00640600640B00640A00640700640800640C00640C00640D00640E00640900640F006716007D00006410007D0100781E007C0000445D16007D02007C01007400007C0200830100377D0100715500577C010047486400005328110000004E6966000000696C00000069610000006967000000697B000000693300000069380000006935000000693700000069300000006932000000693400000069310000006965000000697D000000740000000028010000007403000000636872280300000074030000007374727404000000666C6167740100000069280000000028000000007304000000312E7079520300000001000000730A0000000001480106010D0114014E280100000052030000002800000000280000000028000000007304000000312E707974080000003C6D6F64756C653E010000007300000000

怀疑是一个文件之类的,查找一下是否为文件头:
XCTF MISC 几道进阶题_第15张图片
原来是pyc的文件头,直接用winhex保存为pyc文件
利用在线反编译工具的到源码:

def flag():
    str = [
        102,
        108,
        97,
        103,
        123,
        51,
        56,
        97,
        53,
        55,
        48,
        51,
        50,
        48,
        56,
        53,
        52,
        52,
        49,
        101,
        55,
        125]
    flag = ''
    for i in str:
        flag += chr(i)
    
    print flag

直接运行一下得到flag!
在这里插入图片描述

misc 3 - 1

下载文件下来,发现是一个rar压缩包,解压得到一个文件,发现是一个pcap文件
wireshark打开文件来,没找到什么,直接搜索字符串flag找到一个flag.rar文件??
XCTF MISC 几道进阶题_第16张图片
save下来,发现需要密码???难受了,返回去继续看wireshark,emmmm
在tcp.stream eq 6中发现可疑内容:

[root@localhost wireshark]# llss

1  2  3  test
[root@localhost wireshark]# ccaatt  11

Rar!....3...
.............TU..<..... .+......flag.txt0.....n.Kr..z....uEo.Bn&=i.S..>....4.B..~...xj.".
...u......3.....jWj..%m..!.+h...+s..q#.]...3Ks.y.....r.2...wVQ....[root@localhost wireshark]# ccaatt  22

19aaFYsQQKr+hVX6hl2smAUQ5a767TsULEUebWSajEo=[root@localhost wireshark]# ppiinngg  bbaaiidduu..ccoomm

PING baidu.com (111.13.101.208) 56(84) bytes of data.
64 bytes from 111.13.101.208 (111.13.101.208): icmp_seq=1 ttl=48 time=33.4 ms
64 bytes from 111.13.101.208 (111.13.101.208): icmp_seq=2 ttl=48 time=32.1 ms
64 bytes from 111.13.101.208 (111.13.101.208): icmp_seq=3 ttl=48 time=34.7 ms
64 bytes from 111.13.101.208 (111.13.101.208): icmp_seq=4 ttl=48 time=31.9 ms
...^C
--- baidu.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3037ms
rtt min/avg/max/mdev = 31.921/33.067/34.784/1.155 ms
[root@localhost wireshark]# ccaatt  33

# coding:utf-8
.

.
__author__ = 'YFP'
.

.
from Crypto import Random
.
from Crypto.Cipher import AES
.

.
import sys
.
import base64
.

.
IV = 'QWERTYUIOPASDFGH'
.

.
def decrypt(encrypted):
.
  aes = AES.new(IV, AES.MODE_CBC, IV)
.
  return aes.decrypt(encrypted)
.

.
def encrypt(message):
.
  length = 16
.
  count = len(message)
.
  padding = length - (count % length)
.
  message = message + '\0' * padding
.
  aes = AES.new(IV, AES.MODE_CBC, IV)
.
  return aes.encrypt(message)
.

.
str = 'this is a test'
.

.
example = encrypt(str)
.

.
print(decrypt(example))
.

一串字符串:19aaFYsQQKr+hVX6hl2smAUQ5a767TsULEUebWSajEo=
还有一个python脚本,,,,emmmm,估摸着要我们解密!!
直接修改一下脚本:

# coding:utf-8
__author__ = 'YFP'
from Crypto import Random
from Crypto.Cipher import AES
import sys
import base64
IV = 'QWERTYUIOPASDFGH'

def decrypt(encrypted):
	aes = AES.new(IV, AES.MODE_CBC, IV)
	return aes.decrypt(encrypted)

def encrypt(message):
	length = 16
	count = len(message)
	padding = length - (count % length)
	message = message + '\0' * padding
	aes = AES.new(IV, AES.MODE_CBC, IV)
	return aes.encrypt(message)

example = base64.b64decode("19aaFYsQQKr+hVX6hl2smAUQ5a767TsULEUebWSajEo=")
print(decrypt(example))

运行得到:
在这里插入图片描述
得到解压密码:No_One_Can_Decrypt_Me
解压得到flag,,,

你可能感兴趣的:(CTF题,XCTF)