題目打包在這里
提取碼:fhkb
MISC
流量包分析
流量包_1
是一個日志文件,用 notepad++打開查看,更清晰明了一些,利用插件解碼
大致看了一下是二分法的sql盲注 ,每一條語句返回的狀態碼有200和404
我們往后繼續看,看到有 flag_is_here 的記錄,%3E通過url解碼后是’>’
如何判斷flag的第一個字符呢?
在sql盲注里測試的字符的 最后一條狀態碼為 200 的語句 的ASCII值再加1就是猜解正確的ASCII值,轉換成字符就是我們需要的答案的其中一個字符。
舉個例子
flag_is_here ORDER BY flag LIMIT 0,1),1,1))>101 AND ‘RCKM’='RCKM&Submit=Submit HTTP/1.1" 200 1765
我們可以看到當 LIMIT 0,1),1,1))>101 時,是第一個字符的最后一個 狀態碼為 200 的語句,這時的ASCII碼是 101 ,那么 101+1=102 ,ASCII碼為 102 對應的是 f ,因此flag的第一個字符就為 f 。
知道了原理,我們就可以去找到flag的字符串了,如果寫不腳本的話就得要手工一個一個扣了
貼一下腳本(python2.7)
import re
import urllib
f = open('D:/access.log','r') # 下載的access.log文件的絕對路徑,記得寫全英文
lines = f.readlines()
datas = []
for line in lines:
t = urllib.unquote(line) # 就是將文本進行 urldecode 解碼
if '1765' in t and 'flag' in t: # 過濾出與flag相關,正確的猜解(只要200的)
datas.append(t)
flag_ascii = {}
for data in datas:
matchObj = re.search( r'LIMIT 0,1\),(.*?),1\)\)>(.*?) AND', data) # 在date 中搜索符合正則表達的字符串並 將匹配的字符串存入變量 matchObj 中
if matchObj:
key = int(matchObj.group(1)) # 取變量matchObj 中 的第一個括號里的內容 (也就是上條語句中的 (.*?)中的內容)並轉為10進制
value = int(matchObj.group(2))+1 # 取變量matchObj中的第二個括號里的內容,並轉為 10 進制
flag_ascii[key] = value # 使用字典,保存最后一次猜解正確的ascii碼
flag = ''
for value in flag_ascii.values():
flag += chr(value)
print flag
得到答案flag{sqlm4p_15_p0werful}
流量包_2
用wireshark打開流量包,這樣設置檢索一下有沒有flag字符串,得到提示
將檢索設置改為這樣,在查找,發現了幾個很眼熟的東西
多點了幾次,發現就是flag,整理一下
flag{Icmp_backdoor_can_transfer-some_infomation}
流量包_3
打開附件是一個wifi.cap文件,這個是wifi握手包,通過握手包可以對密碼進行暴力破解
用到了kali的兩個軟件,crunch 生成字典;aircrack-ng,爆破密碼
利用kali里的crunch來生成字典
crunc命令格式:crunch <最小長度> <最大長度> [options]
crunch 11 11 -t 1391040%%%% >>wifi.txt
-t 指定模式
@ 插入小寫字母
, 插入大寫字母
% 插入數字
^ 插入特殊符號
得到手機號字典,之后用這個字典去爆破wifi密碼
aircrack-ng -w wifi.txt wifi.cap
-w后跟字典路徑
跑出來了答案,flag{13910407686}
圖片隱寫
圖片隱寫_1
得到一張圖片,首先用winhex打開查看一下,首先ctrl+f,來搜索一下看看有沒有flag字符串,發現沒有,
然后往下查看,在右邊的代碼中看到了一塊與這群亂碼格格不入的代碼,猜測是一種編碼
在CTF在線工具里,利用解碼工具去嘗試一下,在html編碼里找到了flag
key{you are right}
圖片隱寫_2
先用winhex打開,老樣子,先檢索一下看看有沒有flag關鍵字,沒有找到
猜測圖片修改了寬高,放到kali打開,如果修改了寬高,kali會報錯
果真修改了寬高
百度了一下知道了
89 50 4E 47PE頭是png照片的,就是說沒有可能照片中嵌入了Exif信息
給大家稍微介紹一下
89 50 4E 47 是文件的格式
00 00 00 0D 說明IHDR頭塊長為13
49 48 44 52 IHDR標識
00 00 01 F4 圖像的寬
00 00 01 A4 圖像的高
最后四位
CB D6 DF 8 A為CRC校驗
在查看PNG文件格式時,IHDR后面的八個字節就是寬高的值,這邊報錯就是因為圖片的寬高被修改了
將圖片的寬高修改成一樣看看
BUGKU{a1e5aSA}
圖片隱寫_3
wc,這不是我們物聯網課程的圖標么
一樣先用winhex打開,檢索flag字符串,沒有找到,放到kali里打開,能打開,說明沒有修改寬高,在kali里用binwalk檢查一下圖片
有貓膩,隱藏了東西,用foremost 3.jpg對它進行文件恢復,然后多了一個圖片,打開得到flag
falg{NSCTF_e6532a34928a3d1dadd0b049d5a3cc57}
圖片隱寫_4
先放winhex里,沒有找到flag,kali打開,沒有修改寬高,binwalk分析,沒有隱藏文件,百度后發現一個神奇的工具zsteg
gem install zsteg #安裝zsteg
關於zstog工具看這里
我們在kali里直接利用這個工具跑一下即可
看到一個特殊的bse64編碼,拿去解碼一下
flag{542fb433f4c8ebf02f78e0f0436d2e76}
圖片隱寫_5
先放winhex里,沒有找到flag,kali打開,沒有修改寬高,binwalk分析,沒有隱藏文件,接着用zstog工具跑一下
qwxf{you_say_chick_beautiful?}
圖片隱寫_6
這題出題人的腦洞有點大,我們看到這個是七代目火影,我們用StegSolve打開,保存第七幀的圖片,然后用StegSolve打開這個保存的圖片,一直往右點就能看到flag
flag{49bdbe-abfe-472-9f66-a533331e6}
音頻隱寫
音頻隱寫_1
這題本來有兩個文件的,那個用來破解的密碼的壓縮包找不到了,湊合看一下
原本打開下載的文件,會發現里面得兩個文件都需要密碼解密,意味着沒有任何線索來獲取密碼
那么就只能粗暴一點,直接爆破出他的密碼,即
解密money.zip,並打開里面得文件,在文件的最底部,即:
摩斯密碼解密得:
解壓包里面還有一個mp3的文件,又得到密碼,那么使用工具MP3Stego
在cmd界面下,將decode.exe拖進去運行,之后會在我們會得到一個txt文件,里面是base64編碼,拿去解碼一下即可
moctf{#S1ngl3_D0g#}
音頻隱寫_3
音頻文件,首先用audacity打開,查看音譜,發現最好一部分有點奇怪
放大后發現后面這一塊長這樣
假設在上方是1,下方是0,整理一下得到一串01字符串,8位一組將得到的十進制數用ascii碼替換
這個一個一個數起來有點長,我數了兩次,都數錯了,沒有做完,這邊就介紹一下思路和方法
音頻隱寫_4
用Audacity載入音頻文件,如圖查看頻普圖
flag{e5353bb7b57578bd4da1c898a8e0d767}
音頻隱寫_5
看附件提示是silenteye,使用工具打開,解密一下就得到了flag
flag{lsb_is_so_easy}
取證分析
取證分析_1
首先放到kali里file一下看看文件,是一個ext4文件
用extundelete對ext4文件系統進行數據恢復,恢復的目錄保存在RECOVERED_FILES
打開目錄文件,讀出flag
f l a g { f u g l y _ c a t s _ n e e d _ l u v _ 2 }
取證分析_2
打開是2個文件
volatility 使用:
volatility -f <文件名> --profile=<配置文件> <插件> [插件參數]
獲取–profile的參數
使用imageinfo插件來猜測dump文件的profile值:WinXPSP2x86
volatility -f mem.vmem imageinfo
列舉進程,可以發現一個TrueCrypy.exe的進程。
volatility -f mem.vmem --profile=WinXPSP2x86 pslist
TrueCrypy.exe是一款加密程序,而我們可以推出,suspicion為加密的結果。 我們需要從內存dump出key來。 dump出來的文件為1464.dmp 。
我們需要借助Elcomsoft Forensic Disk Decryptor(Elcomsoft硬盤取證解密器,簡稱為EFDD)軟件來獲取key和破解文件 。
找到key保存
PCTF{T2reCrypt_15_N07_S3cu2e}
神秘的文件
附件是一個flag.zip壓縮包(需要密碼)和圖片,雙擊壓縮包發現圖片也在那個壓縮包里,是明文攻擊,利用winrar將logo壓縮成zip,記住一定要用winrar壓縮
之后使用ARCHRP進行破解,得到密碼
拿這個密碼去打開加密的文件
將文件放到kali里用binwalk看一下,
果真有貓膩,foremost分離一下文件,在里面找到了flag.txt,打開發現是base64編碼,解碼一下
flag{d0cX_1s_ziP_file}
disk
放到kali先用binwalk檢查一下
有貓膩,用foremost恢復看一下
一個壓縮包里還有一個壓縮包,然后里面的壓縮包里的flag.png上鎖了,將原文件改為zip,發現了一個readme文件,打開提示密碼被刪了
將源文件改為.txt查看,發現了密碼
用這個密碼去提取flag圖片
Windows下打開是
Kali打開的時候提示文件寬高存在問題
用winhex修改圖片高度,將之前的01改為02
flag{3ae25f72880ac8ca7b1369a32e6c4edb34fdd886}
題目包里還有一個js編碼的題目,有師傅做出來了帶帶小弟唄