taibeihacker
Moderator
MISC
1 签到
難度簽到複製給出的flag輸入即可
2 range_download
難度中等flag{6095B134-5437-4B21-BE52-EDC46A276297}
0x01
分析dns流量,發現dns ip.addr=1.1.1.1存在dns隧道數據,整理後得到base64:cGFzc3dvcmQ6IG5zc195eWRzIQ==
解base64得到:
password: nss_yyds!
0x02
分析http流量,發現ip.addr==172.21.249.233存在http分段下載數據,每次按照請求頭range要求只下載一個字節。由於是random下載,所以需要按順序整理,整理後可以得到一個加密的壓縮包。在整理過程中會發現缺失2349位字節,需要嘗試對其進行修復。
由於0x01中,我們得到了zip的密碼,所以可以對該字節進行爆破,如果密碼正確,則修復成功。
0x03
解開壓縮包得到二維碼,掃描後得到:
5133687161454e534e6b394d4d325a7854475233566e6870626a42554e6a5a4a5645466c4e47786a62324e464d47705557464635546d6c536148565165564659645563774e327073515863324f584655524731455556413455557070634 4686957444d336544684c596c4255556e6333636e687165486c756446413351577470566e4242526b6c4a5457316c515452754d555661636e4a7859556430566c4d3559557844656a4a35626c68334d6d5a4c51513d3dciphey分析得到flag:
ciphey '5133687161454e534e6b394d4d325a7854475233566e6870626a42554e6a5a4a5645466c4e47786a62324e464d47705557464635546d6c536148565165564659645563774e327073515863324f58465552473145555641345555 70706344686957444d336544684c596c4255556e6333636e687165486c756446413351577470566e4242526b6c4a5457316c515452754d555661636e4a7859556430566c4d3559557844656a4a35626c68334d6d5a4c51513d3d' Possible plaintext: '5133687161454e534e6b394d4d325a7854475233566e6870626a42554e6a5a4a5645466c4e47786 a62324e464d47705557464635546d6c536148565165564659645563774e327073515863324f5846555247314555564134555 570706344686957444d336544684c596c4255556e6333636e687165486c756446413351577470566e4242526b6c4a5457316 c515452754d555661636e4a7859556430566c4d3559557844656a4a35626c68334d6d5a4c51513d3d' (y/N): Possible plaintext: '5133687161454v534v6y394w4w325z7854475233566v6870626z42554v6z5z4z5645466x4v47786 z62324v464w47705557464635546w6x536148565165564659645563774v327073515863324u5846555247314555564134555 570706344686957444w336544684x596x4255556v6333636v687165486x756446413351577470566v4242526y6x4z5457316 x515452754w555661636v4z7859556430566x4w3559557844656z4z35626x68334w6w5z4x51513w3w' (y/N): Possible plaintext: 'w3w31515x4z5w6w43386x62653z4z6564487559553w4x6650346559587z4v636166555w45725451 5x6137545z4x6y6252424v665074775153314644657x684561786v6363336v6555524x695x486445633w4447596864436070 755554314655554137425556485u423368515370723v477365546956465561565841635x6w64553646475550774w464v4232 6z68774v4x6645465z4z5z6v45524z6260786v6653325744587z523w4w493y6v435v4541617863315' (y/N): Possible plaintext: 'd3d31515c4a5d6d43386c62653a4a6564487559553d4c6650346559587a4e636166555d45725451 5c6137545a4c6b6252424e665074775153314644657c684561786e6363336e6555524c695c486445633d4447596864436070 755554314655554137425556485f423368515370723e477365546956465561565841635c6d64553646475550774d464e4232 6a68774e4c6645465a4a5a6e45524a6260786e6653325744587a523d4d493b6e435e4541617863315' (y/N): Possible plaintext: 'flag{6095B134-5437-4B21-BE52-EDC46A276297}' (y/N): y ╭────────────────────────────────────────────────────────────────╮
│ The plaintext is a Capture The Flag (CTF) Flag │
│ Formats used: │
│ hexadecimal │
│ base64 │
│ utf8 │
│ base62 │
│ base58_bitcoin │
│ base32 │
│ utf8Plaintext: 'flag{6095B134-5437-4B21-BE52-EDC46A276297}' │ ╰────────────────────────────────────────────────────────────────╯
0x04
題目流量生成腳本:import os
import time
import requests
import random
for i in 'cG Fz c3 dv cm Q6 IG 5z c1 95 eW Rz IQ=='.split(' '):
os.system('nslookup ' + i+'.nss.neusoft.edu.cn 1.1.1.1')
time.sleep(5)
l=int(requests.head('http://172.21.249.233/flag.7z', stream=True).headers['Content-Length'])
a=set()
while len(a) !=l:
b=random.randint(0, l)
r=requests.get('http://172.21.249.233/flag.7z', stream=True, headers={'Range': 'bytes=' + str(b) + '-' + str(b)})
if r.status_code==416:
print(b)
a.add(b)
print(len(a))
3 只是个PNG,别想太多了.png
難度簽到flag:flag{zhe_ti_mu_ye_tai_bt_le_XD}
本題考察的是對PNG結構以及常見工具的使用。
題目只是在IDAT數據當中存儲了多餘的zlib數據流,通過binwalk可以直接進行解壓縮。
binwalk -Me PNG.png

4 png被打得很惨,现在卷土从来
難度難flag:
flag{zheshirenchude}
本題考察的是對PNG結構以及常見出題點的了解程度
打開題目是PNG圖片,binwalk無異常

010editor打開發現crc異常,結構暫時沒啥問題。

tweakpng打開發現,IHDR,IDAT,IEND數據塊的CRC值均不對。



之後用StegSolve查看,發現圖片有隱藏的框。框選出了IDAT data,說明IDAT數據應該有特殊之處需要查看。

圖片本身的信息就這麼多,從PNG結構來一點點看,首先IHDR區塊CRC有問題,一般說明是圖片高度被修改,通過CRC反計算腳本(或者直接修改高度值盲試)發現圖片下面有隱藏圖像。 stegSolve查看,發現有隱藏圖案


三個框分別圈出了png圖片的一些數據結構,第二個框顯示png圖像數據使用zlib方式壓縮。框選此處說明需要注意zlib壓縮數據。
第三個框是具體壓縮塊數據結構。此圖片內容為libpng官網文檔截圖,但是實際訪問官網,可發現標註的壓縮塊結構標註並不符合。

數字被故意修改過,所以可知2233這串數字應該為題目的某個key或者hint。
之後所有的IDAT數據塊CRC值均不正確。將所有CRC值拷貝下來。 hex解碼。發現是hint
hintis[IEND_and_11]_jiayou_XD.

根據hint查看IEND,正常IEND數據應為空,僅作為文件結束標誌。但是現在卻有數據。

提取數據,發現前四位為9C 78,而zlib數據頭為78 9C。修改前四位進行解壓。發現是base64,之後進行解碼。最後得出flag第一段
flag{zheshi

得到第一段之後,hint裡面的11,還沒有解決。通過查看發現chunk 11,是最後一個IDAT數據塊。根據之前還有一個hint 2233,全數據塊搜索2233。發現數據塊末尾含有2233,僅此一個

根據前一段flag,猜測此處也是zlib壓縮,將從2233開頭到CRC值之前的32個HEX值複製,修改2233為zlib數據頭78 9C
發現解碼完數據為一種編碼,根據前一段flag來猜測,此處應該是其他base家族類的編碼。通過basecrack或者在線base解碼,可得知此為base91,解碼為renchude}
後一段flag為:renchude}



合併兩段,得到最終flag
flag{zheshirenchude}
5 在哪呢
難度簡單查看PDF
在文字中發現多處顏色越來越淡的提示




想到flag可能被以白色隱藏到文字中,全選文字
發現倒數第二段段尾有一段空白字

複製出來或編輯為其它顏色
得到flag
flag{hey_there_is_no_thing}
6 ecryptedzip
難度:難本題考察的是對明文攻擊的實戰應用在實際環境中不會主動提供明文文件用於明文攻擊需要自己尋找明文文件或部分明文進行攻擊
壓縮包內含有兩個文件LICENSE和README.md
LICENSE為開源證書文件
將常⻅開源協議全下載下來對比大小
發現Apache 2.0大小極為相近
使用github 內置的LICENSE文件可以成功解密
還有一種簡單的方法開源許可證很多都是空格開頭可以直接使用多個重複空格作為明文
7 easysteg
難度簡單
可以看到一個缺少定位符的二維碼,補全後拿到提示:一種常見的隱寫
分離圖片拿到壓縮包
解壓後配合觀察圖片名稱格式,使用stegpy拿到flag
flag{Do_U_Kn0w_Ste9py?}
8 压缩包压缩包压缩包
難度簡單第一層為50996.zip
寫腳本解密遞歸壓縮包300層
解题脚本
mkdir zipsmkdir zips/files
mv 50996.zip ./zips
cd zips
while :
do
file=$(ls -t | tail -1)
pass=$(zipinfo $file | grep - | cut -d ' ' -f12 | cut -d . -f1)
unzip -P $pass $file
echo 'unzip -P $pass $file'
mv $file ./files
done
最後一層為23333.zip 6位數字密碼為756698
打開sqlite在employees表中找到flag
flag{Unz1p_i5_So_C00l##}
WEB
9 flag
難度中等解法一
人肉排序,然後口算base64解法二
等網站輸出足夠多,複製下來,然後利用大部分文本編輯器都支持的查找/替換功能將消息替換成類似如下的格式。a=list('a' * 20)
.
a[1]='a'
a[20]='b'
a[3]='c'
.
# 最後
import base64
print(base64.b64decode(''.join(a)))
解法三
題目SSE實時推送消息至瀏覽器,路由為'/flag',可以直接:import base6