flag被盜
文件不是很大,粗略看了一下,發現了shell.php字段
篩選爲http流量,追蹤TCP查看
直接得到flag flag{This_is_a_f10g}
中國菜刀
下載解壓得到數據包,比較小隻有7kb
只有TCP和HTTP協議流量,追蹤TCP流查看,發現flag.tar.gz壓縮包
使用kali集成的 binwalk提取壓縮包,
binwalk -e caidao.pcapng 文件路徑
得到 1E43文件
這是一個壓縮包,可以在windows修改後綴爲zip直接打開
得到flag key{8769fe393f2b998fa6a11afe2bfcd65e}
這麼多數據包
題目提示
數據包 TCP有大量的標紅狀態,猜測爲攻擊機對目標進行的掃描爆破等操作
過濾得到TCP協議數據包,觀察發現 4023爲最後一條標紅數據
往下看呀看呀看呀,追蹤TCP流查看,數據包過多,一無所獲
嘗試過濾一些數據包,觀察發現,此期間大部分是端口4444與端口1040之間的通信,過濾數據包
tcp && ! tcp.port eq 4444 or ! tcp.port eq 1040 and ip.addr eq 192.168.116.138
發現在最後端口 35880 和 1234 還存在通信,追蹤流查看
可疑的base64數據,解碼查看,bingo,得到flag CCTF{do_you_like_sniffer}
題目提示找getshell的流量,所以應該是拿到shell了,執行操作,所以應該從後往前找又高效~
手機熱點
題目描述如下:
httppan.baidu.coms1cwwdVC
有一天皓寶寶沒了流量只好手機來共享,順便又從手機發了點小祕密到電腦,你能找到它嗎?
手機共享
推斷爲obex協議(藍牙傳輸協議) 過濾
發現了一個壓縮包,和圖片
使用kali集成的 binwalk 分離文件
binwalk -e Blatand_1.pcapng
得到如下
打開 右下角的 flag.gif 得到 flag SYC{this_is_bluetooth}
抓到一隻蒼蠅
過濾得到HTTP流量,追蹤HTTP流,發現一個用戶通過qq郵箱上傳了一個fly.rar
壓縮包大小通過 size字段可知爲 525701
繼續過濾,從數據包的結構上下圖五個數據包是數據傳輸的過程。點開可以看到第一個到第四個的長度爲131436,最後一個爲1777,應該是剩餘的最後一部分數據
http && http.request.method== POST
但是131436*4+1777=527521 != 525701,這是由於分塊傳輸多帶了TCP的文件頭,每個文件頭大小規範一致
所以文件頭的大小就是
131436*4+1777=527571-525701=1820/5=364 需要每個文件去掉其364字節的文件頭。
提取數據,選中對應數據包,按順序重命名爲 12345
linux下使用 dd 命令 合成文件
語法:dd [選項]
if =輸入文件(或設備名稱)。
of =輸出文件(或設備名稱)。
ibs = bytes 一次讀取bytes字節,即讀入緩衝區的字節數。
skip = blocks 跳過讀入緩衝區開頭的ibs*blocks塊。
obs = bytes 一次寫入bytes字節,即寫入緩衝區的字節數。
bs = bytes 同時設置讀/寫緩衝區的字節數(等於設置ibs和obs)。
即:(dd if=文件名 bs=輸入輸出塊的大小 skip=偏移量 of=新的文件名)
dd if=1 bs=1 skip=364 of=1.1
dd if=2 bs=1 skip=364 of=2.1
dd if=3 bs=1 skip=364 of=3.1
dd if=4 bs=1 skip=364 of=4.1
dd if=5 bs=1 skip=364 of=5.1
cat拼接得到壓縮包 fly.rar
cat 1.1 2.1 3.1 4.1 5.1 > fly.rar
fly.rar打開報錯,存在加密,winhex打開
僞加密,修改加密位,將0x84位置改爲0x80即可
解壓得到flag.txt文件,打開亂碼,修改後綴爲 exe 運行發現.....蒼蠅
使用kali 集成的binwalk 查看,發現可疑圖片
binwalk flag.exe
使用 foremost 分離圖片,在一堆蒼蠅圖片底部中找到一個二維碼
foremost -v -i flag.exe
掃描得到flag flag{m1Sc_oxO2_Fly}
日誌審計
下載得到 Access.log文件,Unicode解碼發現是 dvwa靶場的sql盲注過程
搜索flag字段得到如下,sqlmap通過二分法注入爆破對應字段
網上copy的腳本,提取字符
# coding:utf-8
import re
import urllib
f = open('C:\\access.log','r')
lines = f.readlines()
datas = []
for line in lines:
t = urllib.unquote(line)
if '1765' in t and 'flag' in t: # 過濾出與flag相關,正確的猜解
datas.append(t)
flag_ascii = {}
for data in datas:
matchObj = re.search( r'LIMIT 0,1\),(.*?),1\)\)>(.*?) AND', data)
if matchObj:
key = int(matchObj.group(1))
value = int(matchObj.group(2))+1
flag_ascii[key] = value # 使用字典,保存最後一次猜解正確的ascii碼
flag = ''
for value in flag_ascii.values():
flag += chr(value)
print flag
得到flag flag{sqlm4p_15_p0werful}
Weblogic
題目描述:
黑客攻擊了Weblogic應用,請分析攻擊過程,找出Weblogic的主機名。Tip:主機名爲十六進制。
直接過濾得到http數據包,追蹤HTTP流,觀察發現爆破口令,後臺部署war包上傳shell得到權限
使用wireshark 搜索 hostname字符串關鍵字,數據包658 662 存在該關鍵字,發現命令執行操作
如圖所示,得到16進制flag,flag{6ad4c5a09043}
信息提取
題目描述如下
打開流量包,看到很多注入語句,判斷出sqlmap使用二分法進行搜索布爾盲注
網上的腳本,copy使用 需要先導出分組解析結果 爲 CSV文件格式
import re
import urllib.parse
# 更改爲自己從wireshark提取出的csv文件地址
f = open(r"D:\temp\sqlmap.csv")
lines = f.readlines()
datas = []
# 轉碼, 保存進datas
for line in lines:
datas.append(urllib.parse.unquote(line))
lines = [] # 懶得改, 就複用一下, 這個lines保存注入flag的url
for i in range(len(datas)): # 提取出注入flag的url
if datas[i].find("isg.flags ORDER BY `value` LIMIT 0,1),1,1))>64") > 0:
lines = datas[i:]
break
flag = {}
# 用正則匹配
macth1 = re.compile(r"LIMIT 0,1\),(\d*?),1\)\)>(\d*?) HTTP/1.1")
macth2 = re.compile(r'"HTTP","(\d*?)","HTTP/1.1 200 OK')
for i in range(0, len(lines), 2): # 因爲有返回響應, 所以步長爲2
get1 = macth1.search(lines[i])
if get1:
key = int(get1.group(1)) # key保存字符的位置
value = int(get1.group(2)) # value保存字符的ascii編碼
get2 = macth2.search(lines[i + 1])
if get2:
if int(get2.group(1)) > 450:
value += 1
flag[key] = value # 用字典保存flag
f.close()
result = ''
for value in flag.values():
result += chr(value)
print(result)
# ISG{BLind_SQl_InJEcTi0N_DeTEcTEd}
最後得到flag ISG{BLind_SQl_InJEcTi0N_DeTEcTEd}
特殊後門
題目描述:
某種特殊的協議,嘗試得知爲 icmp協議 過濾
搜索flag,得到下圖效果
查看第一個數據包,發現提示
繼續觀察,發現數據包依次存在單個字符
拼接得到 flag flag{Icmp_backdoor_can_transfer-some_infomation}