文章目錄
- 比賽信息
- 內心os(蠻重要的)
- 被偷走的文件 | SOLVED |
- [GXYCTF2019]佛系青年 | SOLVED |
- 祕密文件 | SOLVED |
- [BJDCTF 2nd]TARGZ-y1ng | SOLVED |
- [BJDCTF2020]認真你就輸了 | SOLVED |
- [BJDCTF2020]just_a_rar | SOLVED |
- [BJDCTF2020]你猜我是個啥 | SOLVED |
- 寂靜之城 | SOLVED |
- 間諜啓示錄 | SOLVED |
- [GXYCTF2019]gakki | SOLVED |
- 黑客帝國 | SOLVED |
- [安洵杯 2019]吹着貝斯掃二維碼 | SOLVED |
- [GXYCTF2019]SXMgdGhpcyBiYXNlPw== | SOLVED |
- [SUCTF 2019]Game | SOLVED |
- 小易的U盤 | SOLVED |
- [GUET-CTF2019]KO | SOLVED |
- [HBNIS2018]caesar | SOLVED |
- [ACTF新生賽2020]base64隱寫 | SOLVED |
- [SWPU2019]Network | SOLVED |
- [GUET-CTF2019]zips | SOLVED |
- [HBNIS2018]低個頭 | SOLVED |
- 百裏挑一 | SOLVED |
- [RCTF2019]draw | SOLVED |
- [WUSTCTF2020]find_me | SOLVED |
- 我吃三明治 | SOLVED |
- sqltest | SOLVED |
- 弱口令 | SOLVED | ![圖片](https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWRlci5zaGltby5pbS9mL083TWJacXVubkM4bFRIZkgucG5nIXRodW1ibmFpbA?x-oss-process=image/format,png)
- 真的很雜 | SOLVED |
- [V&N2020 公開賽]拉胯的三條命令 | SOLVED |
- USB | SOLVED |
- 蜘蛛俠呀 | SOLVED |
- [安洵杯 2019]Attack | SOLVED |
- [ACTF新生賽2020]NTFS數據流 | SOLVED |
- [ACTF新生賽2020]swp | SOLVED |
- [安洵杯 2019]easy misc | SOLVED |
- [XMAN2018排位賽]通行證 | SOLVED |
- hashcat | SOLVED |
- Business Planning Group | SOLVED |
比賽信息
比賽地址:Buuctf靶場
內心os(蠻重要的)
我只想出手把手教程,希望大家能學會然後自己也成爲ctf大佬,再來帶帶我QWQ
被偷走的文件 | SOLVED |
foremost分離一下文件,發現有rar用軟件跑一下有了密碼
flag{6fe99a5d03fb01f833ec3caa80358fa3}
[GXYCTF2019]佛系青年 | SOLVED |
下載文件,發現有一個沒加密和加密文件,發現它是僞加密
2處不一樣,然後修改成00,就可以解壓了發現
這個圖片其實是jpg,然後發現沒有用,然後打開txt看到佛曰
flag{w0_fo_ci_Be1}
祕密文件 | SOLVED |
foremost,分離一下發現有rar
然後軟件找密碼就有了flag
flag{d72e5a671aa50fa5f400e5d10eedeaa5}
[BJDCTF 2nd]TARGZ-y1ng | SOLVED |
他說不用爆破,我覺得是很簡單密碼,然後試一下他的用戶名,然後成了,反覆多次發現是套娃,上網找腳本
#Python3.7大佬超級好用的腳本
import zipfile
name = 'hW1ES89jF'
while True:
fz = zipfile.ZipFile(name + '.tar.gz', 'r')
fz.extractall(pwd=bytes(name, 'utf-8'))
name = fz.filelist[0].filename[0:9]
fz.close()
方便的不行
BJD{wow_you_can_rea11y_dance}
[BJDCTF2020]認真你就輸了 | SOLVED |
發現文件裏面既然有txt文件,然後該一個後綴zip,進入路徑找到了flag
flag{M9eVfi2Pcs#}
[BJDCTF2020]just_a_rar | SOLVED |
解壓文件,發現有密碼跑一下得到密碼解壓圖片
flag{Wadf_123}
[BJDCTF2020]你猜我是個啥 | SOLVED |
發現我png格式改後綴名,在winhex最後發現了flag
flag{i_am_fl@g}
寂靜之城 | SOLVED |
看來半天沒找到,最後在點贊中找到了出題人
http://blog.sina.com.cn/s/blog_bb4702370102w4oa.html
很大腦洞的題目由於有些賬號被封禁
flag{31010419920831481363542021127}
間諜啓示錄 | SOLVED |
ios 使用fore分離
得到4個東西 進入rar,打開壓縮包運行flag.exe就生成了一個flag
Flag{379:7b758:g7dfe7f19:9464f:4g9231}
[GXYCTF2019]gakki | SOLVED |
首先解壓文件,發現是圖片,使用fore分離得到了rar用破解密碼軟件跑
然後打開txt發現是雜亂的字符,就使用查重複字碼以下腳本
# gakki_exp.py
# Author : imagin
alphabet = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#$%^&*()_+- ={}[]"
f = open("flag.txt", "r")
data = f.read()
result = {d:0 for d in alphabet}
def sort_by_value(d):
items = d.items()
backitems = [[v[1],v[0]] for v in items]
backitems.sort(reverse=True)
return [ backitems[i][1] for i in range(0,len(backitems))]
for d in data:
for alpha in alphabet:
if d == alpha:
result[alpha] = result[alpha] + 1
print(sort_by_value(result))
flag{gaki_IsMyw1fe}
黑客帝國 | SOLVED |
解壓文件,然後用notepad,用插件轉換成ascii,發現是rar文件
爆破一下獲得一個文件,然後放進winhex裏面發現文件頭錯誤修改一下
flag{57cd4cfd4e07505b98048ca106132125}
[安洵杯 2019]吹着貝斯掃二維碼 | SOLVED |
解壓文件繞後給沒有後綴名的文件加上.jpg就是漫長的拼圖了
BASE Family Bucket ??? 85->64->85->13->16->32
然後看樣子base85不可能,所以換一下反過來是base32->base16->rot13->base85->base64->base85的順序解密得到壓縮包密碼
ThisIsSecret!233
flag{Qr_Is_MeAn1nGfuL}
[GXYCTF2019]SXMgdGhpcyBiYXNlPw== | SOLVED |
以爲是base64,用note轉碼發現是亂碼,看起來不是,然後百度一下發現有一種base64隱寫術
# -*- coding: cp936 -*-
b64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
with open('flag.txt', 'rb') as f:
bin_str = ''
for line in f.readlines():
stegb64 = ''.join(line.split())
rowb64 = ''.join(stegb64.decode('base64').encode('base64').split())
offset = abs(b64chars.index(stegb64.replace('=','')[-1])-b64chars.index(rowb64.replace('=','')[-1]))
equalnum = stegb64.count('=') #no equalnum no offset
if equalnum:
bin_str += bin(offset)[2:].zfill(equalnum * 2)
print ''.join([chr(int(bin_str[i:i + 8], 2)) for i in xrange(0, len(bin_str), 8)]) #8 位一組
GXY{fazhazhenhaoting}
[SUCTF 2019]Game | SOLVED |
解壓發現他的index裏面有base32
可惜不是flag
在圖片中看到了密碼,沒有密鑰,就猜測是之前的假flag
試了N此成功了
suctf{U_F0und_1t}
小易的U盤 | SOLVED |
這個研究的我心態爆炸,先說iso文件解壓,然後找不到flag,然後用發開壓縮包看見了一堆
可是解壓了沒有,後面發現,沒打開顯示隱藏文件,如果不知道怎麼打開隱藏文件看這個文章
https://jingyan.baidu.com/article/574c5219cf48e86c8d9dc11a.html
起初以爲,啓動一個就生成flag,然後發現沒有用,只生成都是ffff的文件
然後發現有個時間不一樣
然後打開文件,搜索flag,就找到了
flag{29a0vkrlek3eu10ue89yug9y4r0wdu10}
[GUET-CTF2019]KO | SOLVED |
一看就是ook加密https://www.splitbrain.org/services/ook,破解一下
flag{welcome to CTF}
[HBNIS2018]caesar | SOLVED |
百度一下caesar是凱撒,就凱撒密碼破解一下
flag{flagiscaesar}
[ACTF新生賽2020]base64隱寫 | SOLVED |
名字既然如此,看到了文件
腳本跑一下
# -*- coding: cp936 -*-
b64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
with open('flag.txt', 'rb') as f:
bin_str = ''
for line in f.readlines():
stegb64 = ''.join(line.split())
rowb64 = ''.join(stegb64.decode('base64').encode('base64').split())
offset = abs(b64chars.index(stegb64.replace('=','')[-1])-b64chars.index(rowb64.replace('=','')[-1]))
equalnum = stegb64.count('=') #no equalnum no offset
if equalnum:
bin_str += bin(offset)[2:].zfill(equalnum * 2)
print ''.join([chr(int(bin_str[i:i + 8], 2)) for i in xrange(0, len(bin_str), 8)]) #8 位一組
ACTF{6aseb4_f33!}
[SWPU2019]Network | SOLVED |
打開文本始終找不到思路,看到大佬的提示
然後明白還有這種操作!!
fp = open('attachment.txt','r')
a = fp.readlines()
p = []
for i in a:
p.append(int(i))
s = ''
for i in p:
if i == 63:
a = '00'
elif i == 127:
a = '01'
elif i == 191:
a = '10'
elif i == 255:
a = '11'
s += a
import binascii
flag = ''
for i in range(0,len(s),8):
flag += chr(int(s[i:i+8],2))
flag = binascii.unhexlify(flag)
wp = open('flag.txt','wb')
wp.write(flag)
wp.close()
轉換之後打開txt
發現是zip,給你改個擴展名,發現有密碼,然後檢查一下發現是僞加密修改爲00,打開文件知道看到最後知道是base64,然後N次,解碼成功拿到flag
flag{189ff9e5b743ae95f940a6ccc6dbd9ab}
[GUET-CTF2019]zips | SOLVED |
解壓zip,然後看到還有加密的zip,用軟件破解得到密碼解壓,發現還是加密,是僞加密修改一下09變成00之後,解壓打開setup 打開一看發現是py,然後運行一下
看不懂,完後百度了一下知道了這是掩碼破解 格式是???.??
然後用軟件破解
flag{fkjabPqnLawhvuikfhgzyffj}
[HBNIS2018]低個頭 | SOLVED |
他說低頭,我低頭看着鍵盤,看見這些能組成3個字就是CTF
flag{CTF}
百裏挑一 | SOLVED |
解壓打開,導出http,,發現都是圖片,百度才知道有這個exiftool找flag的辦法
summer@summer:~/桌面/cc/flag$ exiftool *|grep flag
XP Comment : 恭喜你!找到一半了,還有另一半哦!flag{ae58d0408e26e8f
這樣代碼找到一般,另外一半,找了半天才知道
tcp.stream eq 114
這裏真的的人腦洞大無止境啊!!!
flag{ae58d0408e26e8f26a3c0589d23edeec}
[RCTF2019]draw | SOLVED |
打卡文件,剛開始以爲是字頻,發現太少了,然後放進百度,發現是畫logo的密文????
https://www.calormen.com/jslogo/
flag{RCTF_HeyLogo}
[WUSTCTF2020]find_me | SOLVED |
屬性面板看到了盲文解密一下
https://www.qqxiuzi.cn/bianma/wenbenjiami.php?s=mangwen
wctf2020{y$0$u_f$1$n$d$_M$e$e$e$e$e}
我吃三明治 | SOLVED |
分離一下發現沒有任何問題,屬性也沒有,然後打開winhex,在2張圖片的連接處找到了
base32解碼
flag{6f1797d4080b29b64da5897780463e30}
sqltest | SOLVED |
打開文件,文件–>導出文件–>http
看到這個我研究了半天,找到大佬才知道這是一個注入,先複製出來然後用
知道,就是取flag字段一個進行判斷從第一個開始判斷,從第一個框知道102>flag1>101
所以就是102,慢慢測試出來
102 108 97 103 123 52 55 101 100 98 56 51 48 48 101 100 53 102 57 98 50 56 102 99 53 52 98 48 100 48 57 101 99 100 101 102 55 125
轉爲字符串得flag
flag{47edb8300ed5f9b28fc54b0d09ecdef7}
弱口令 | SOLVED |
似乎有東西sublime打開,發現了是莫斯
HELL0FORUM
用binw和fore都沒結果,最後在lsb,隱寫上面,下載腳本
#網上腳本#
太長了就省略
#用法#
$ python lsb.py
LSB steganogprahy. Hide files within least significant bits of images.
Usage:
lsb.py hide <img_file> <payload_file> <password>
lsb.py extract <stego_file> <out_file> <password>
lsb.py analyse <stego_file>
搞這個安裝了超級多的庫比如
pip install pycryptodome
pip install Crypto
pip install Pillow
pip install matplotlib
pip install numpy
最後用py2,輸入
E:\桌面\腳本庫>py lsb.py extract 1.png 1.txt 123456
[+] Image size: 500x500 pixels.
[+] Written extracted data to 1.txt.
因爲是弱口令就密碼是123456
flag{jsy09-wytg5-wius8}
真的很雜 | SOLVED |
下載,解壓,使用fore分離,發現了000001.zip其實是apk,更換該後綴名.apk,安卓文件,apktool先通過這個編譯
apktool d 00001.apk
然後在zip方式打開,看到複製到dex2jar-2.0
d2j-dex2jar.bat classes.dex
jd-gui使用這個打開,就能看到flag
flag{25f991b27fcdc2f7a82a2b34386e81c4}
[V&N2020 公開賽]拉胯的三條命令 | SOLVED |
首先,下載,百度如何抓包,查端口,然後知道了可以用tcpdump
tcpdump -n -r nmapll.pcapng 'tcp[13] = 18' | awk '{print $3}'| sort -u
-n 不把 [網絡地址轉換](https://baike.baidu.com/item/%E7%BD%91%E7%BB%9C%E5%9C%B0%E5%9D%80%E8%BD%AC%E6%8D%A2) 成名字;
-r 從指定的文件中讀取包(這些包一般通過-w選項產生);
awk ‘{print $3}’ 取第三爲字符串
sort -u 拒絕重複
flag{21226318013306}
USB | SOLVED |
下載文件,然後解壓,發現文件有個png文件頭損壞。然後去看數據結構
修改7A到74,解壓圖片,在blue通道中看到二維碼
ci{v3erf_0tygidv2_fc0} 發現不是凱撒也不是柵欄~
接下來看看binwalk -e key.ftm
看到了有key.pcap
使用讀取usb數據
tshark -r key.pcap -T fields -e usb.capdata > usbdata.txt
得到一個txt用腳本跑
mappings = { 0x04:"A", 0x05:"B", 0x06:"C", 0x07:"D", 0x08:"E", 0x09:"F", 0x0A:"G", 0x0B:"H", 0x0C:"I", 0x0D:"J", 0x0E:"K", 0x0F:"L", 0x10:"M", 0x11:"N",0x12:"O", 0x13:"P", 0x14:"Q", 0x15:"R", 0x16:"S", 0x17:"T", 0x18:"U",0x19:"V", 0x1A:"W", 0x1B:"X", 0x1C:"Y", 0x1D:"Z", 0x1E:"1", 0x1F:"2", 0x20:"3", 0x21:"4", 0x22:"5", 0x23:"6", 0x24:"7", 0x25:"8", 0x26:"9", 0x27:"0", 0x28:"\n", 0x2a:"[DEL]", 0X2B:" ", 0x2C:" ", 0x2D:"-", 0x2E:"=", 0x2F:"[", 0x30:"]", 0x31:"\\", 0x32:"~", 0x33:";", 0x34:"'", 0x36:",", 0x37:"." }
nums = []
keys = open('usbdata.txt')
for line in keys:
if line[0]!='0' or line[1]!='0' or line[3]!='0' or line[4]!='0' or line[9]!='0' or line[10]!='0' or line[12]!='0' or line[13]!='0' or line[15]!='0' or line[16]!='0' or line[18]!='0' or line[19]!='0' or line[21]!='0' or line[22]!='0':
continue
nums.append(int(line[6:8],16))
keys.close()
output = ""
for n in nums:
if n == 0 :
continue
if n in mappings:
output += mappings[n]
else:
output += '[unknown]'
print 'output :\n' + output
得到key
output :
KEYXINAN
維吉尼亞密碼破解一下,在柵欄一下
ci{v3erf_0tygidv2_fc0}
key=XINAN
fa{i3eei_0llgvgn2_sc0}
柵欄
flag{vig3ne2e_is_c00l}
蜘蛛俠呀 | SOLVED |
分離也出不來,fore和binw都失敗了,然後知道了可以用
tshark -r out.pcap -T fields -e data >out.txt
提取隱寫一堆看不懂,然後百度一下原來要刪除篩選一些,這是腳本
lines = open("out.txt",'rb').readlines()
files = open("out1.txt","wb")
for line in lines:
files.write(line.strip().decode('hex'))
files.close()
得到的結果還要往下面解base64這邊使用notepad++,插件轉換髮現很多都重複了,使用腳本刪除重複的
a = open("out1.txt",'rb').readlines()
file1 = open("out2.txt",'wb')
for i in range(len(a)):
bb = a[i].strip()
if bb == a[i-1].strip():
continue
file1.write(bb+'\n')
然後轉換還有問題,多了一些沒用的東西刪除
然後用notepad++插件轉換成base64解碼,然後轉換zip就成功了拿到了gif然後搜索一下有什麼隱寫,知道了一個這個identify
#identify -format “%T” flag.gif
“20”“50”“50”“20”“50”“50”“20”“50”“20”“50”“20”“20”“20”“50”“20”“20”“20”“20”“50”“50”“20”“50”“20”“50”“20”“50”“20”“50”“50”“50”“50”“50”“20”“20”“50”“50”“20”“20”“20”“50”“20”“50”“50”“50”“20”“50”“20”“20”“66”“66”
起初以爲是二進制可是看到有66,打消,以爲是莫斯,還是不對,最後又繞回了二級制
01101101 01000100 00110101 01011111 00110001 01110100
翻一下
m D 5 _ 1 t
mD5_1t
md5加密一下
flag{f0f1003afe4ae8ce4aa8e8487a8ab3b6}
[安洵杯 2019]Attack | SOLVED |
下載文件,使用fore分離發現了又flag的zip
然後在wir到處對象-》html -》看到一個藍屏數據然後百度一下似乎用這個辦法不行找到一個mimikatz,這個來找win密碼
privilege::debug
sekurlsa::minidump lsass.dmp
sekurlsa::logonpasswords full
進入模式
選擇文件
找密碼
* Username : Administrator
* Domain : WIN7
* Password : W3lc0meToD0g3
解壓
D0g3{3466b11de8894198af3636c5bd1efce2}
[ACTF新生賽2020]NTFS數據流 | SOLVED |
下載,然後一看這麼多文件都是一樣大小,百度一下知道是ntfs隱寫流
ACTF{AAAds_nntfs_ffunn?}
[ACTF新生賽2020]swp | SOLVED |
下載導出文件-》html-》發現了zip。保存,然後,解壓,發現失敗,一看就發現是僞加密,解壓,swp恢復一下,
在liunx中
pjy@admin:~/桌面/bb$ vim -r flag
pjy@admin:~/桌面/bb$ cat flag
flag{c5558bcf-26da-4f8b-b181-b61f3850b9e5}
[安洵杯 2019]easy misc | SOLVED |
下載打開zip然後前面算式解出來是7
7+NNULLULL,和 7NNULLULL,都不是
試了很久
2019456NNULLULL,
解壓看起來是什麼密碼百度一下,發現是原來分離出來2張一樣的圖片是有用的,盲水印
在11裏面,字屏爆破看看
也就只有11可以運行把
etaonrhisdluygwm
base64: QW8obWdIWT9pMkFSQWtRQjVfXiE/WSFTajBtcw==
base85: Ao(mgHY?i2ARAkQB5_^!?Y!Sj0ms 這一步還以爲的柵欄
flag{have_a_good_day1}
[XMAN2018排位賽]通行證 | SOLVED |
base64:a2FuYmJyZ2doamx7emJfX19ffXZ0bGFsbg==
得到這個:kanbbrgghjl{zb____}vtlaln
這個迷住了,最後師傅提醒,就是柵欄和凱撒,然後盡然解密不行,那我就加密吧,
看到一個很想flag的
xman{oyay_now_you_get_it}
hashcat | SOLVED |
放入winhex,發現有xml的信息,就改成doc,沒想到有密碼,使用軟件破解一下
Accent OFFICE Password Recovery v5.1 CracKed By Hmily[LCG]
知道了密碼9919
都提交一下不對,然後
看着這些白色的東西其他沒東西似乎有東西
Flag{okYOUWIN}
Business Planning Group | SOLVED |
放入winhex,分離都沒有,最後放入010,發現了bpg,搜索了一下看一啦是一個圖片,分離出來
YnNpZGVzX2RlbGhpe0JQR19pNV9iM3R0M3JfN2g0bl9KUEd9Cg= =
bsides_delhi{BPG_i5_b3tt3r_7h4n_JPG}