XCTF MISC 幾道進階題

XCTF MISC 幾道進階題

好久沒有打CTF了,做幾道misc玩玩吧

小小的PDF

直接binwalk看一下,發現存在三張圖片,,,
在這裏插入圖片描述
binwalk -e一下沒發現有什麼東西,,,,
直接使用dd命令吧:dd if=7e5ab2e7587d4a4abf9c705dfb935a92.pdf of=1 skip=82150 bs=1
在這裏插入圖片描述
得到flag:
在這裏插入圖片描述
不明白以前爲什麼不會寫,,,

Cephalopod

下載下來是一個pcap文件,用strings大法先看看:
在這裏插入圖片描述
有圖片???binwalk一下:
在這裏插入圖片描述
binwalk -e無用,foremost也無用,難受
試試dd命令:dd if=1.pcap of=1 skip=82150 bs=1
emmmm,圖片出來了但是看不了,無用,,,,,,
在windows下wireshark也無用,沒看見能提取的文件,,,
最後查閱資料得知tcpxtract可以從網絡流量中提取文件,然而kali上沒有,需要安裝,,,
安裝直接百度其他人的吧,裝好直接利用命令:tcpxtract -f 1.pcap
能夠得到flag圖片,,,,,
在這裏插入圖片描述

HITB{95700d8aefdc1648b90a92f3a8460a2c}

misc 2 - 1

下載文件發現圖片打不開,拖入winhex,發現文件頭不對,修改文件頭:
在這裏插入圖片描述
修改之後還是打不開,突然發現表示寬度的地方顯示爲0???
怪不得打不開,,,隨便修改一下寬度,然後發現:
在這裏插入圖片描述
沒什麼用,估計要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圖片:
在這裏插入圖片描述

János-the-Ripper

下載一個壓縮包解壓之後一個未命名的文件,查看一下發現是PK:
在這裏插入圖片描述
改名爲.zip,解壓需要密碼,,,發現不是僞加密
直接使用工具爆破,得到密碼:fish
在這裏插入圖片描述
徹底懷疑自己以前是不是沒帶腦子,,,,

can_has_stdio?

下載解壓得到一個文件,發現:
在這裏插入圖片描述trainfuck編碼,,,在線解密:
在這裏插入圖片描述
再次懷疑,,,,

MISCall

下載文件放到kali中使用file查看一下文件:
在這裏插入圖片描述
是一個bzip2的壓縮文件,直接使用命令:tar -xvjf 123的到文件:
在這裏插入圖片描述
好像是.git目錄???進入目錄看一下:
在這裏插入圖片描述
好像“.”開頭的文件都被隱藏了???flag.txt中沒有flag,估摸着.git中隱藏了什麼東西。。。。
查看了一下.git列表好像沒有什麼特別的地方,,,,
最後得知一個git stash命令,
git stash會把所有未提交的修改(包括暫存的和非暫存的)都保存起來,用於後續恢復當前工作目錄
查看現有stash:git stash list
查看列表:git stash show
復原文件:git stash apply
在這裏插入圖片描述
出現一個s.py文件,運行得到flag,,,,,

適合作爲桌面

下載文件解壓發現是一張圖片!!放入stego中查看一下,發現存在二維碼:
在這裏插入圖片描述
利用二維碼掃描工具掃到內容:
在這裏插入圖片描述
扣下來:

03F30D0A79CB05586300000000000000000100000040000000730D0000006400008400005A000064010053280200000063000000000300000016000000430000007378000000640100640200640300640400640500640600640700640300640800640900640A00640600640B00640A00640700640800640C00640C00640D00640E00640900640F006716007D00006410007D0100781E007C0000445D16007D02007C01007400007C0200830100377D0100715500577C010047486400005328110000004E6966000000696C00000069610000006967000000697B000000693300000069380000006935000000693700000069300000006932000000693400000069310000006965000000697D000000740000000028010000007403000000636872280300000074030000007374727404000000666C6167740100000069280000000028000000007304000000312E7079520300000001000000730A0000000001480106010D0114014E280100000052030000002800000000280000000028000000007304000000312E707974080000003C6D6F64756C653E010000007300000000

懷疑是一個文件之類的,查找一下是否爲文件頭:
在這裏插入圖片描述
原來是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文件??
在這裏插入圖片描述
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,,,

發佈了202 篇原創文章 · 獲贊 120 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章