Bugku -分析-合集
文章目錄
- 一、flag被盜
- 二、中國(guó)菜刀
- 三、這么多數(shù)據(jù)包
- 四、手機(jī)熱點(diǎn)
- 五、抓到一只蒼蠅
- 五、日志審計(jì)
- 六、weblogic
一、flag被盜
http篩選
選中一個(gè)post包,追蹤tcp數(shù)據(jù)流
得到flag
二、中國(guó)菜刀
同理和 flag被盜一樣的流程
追蹤tcp得到php一句話,菜刀連接即可
三、這么多數(shù)據(jù)包
按照 flag被盜 、中國(guó)菜刀 的套路失敗,沒有有用的信息
看數(shù)據(jù)包顏色變化,中間一段猩紅色,應(yīng)該就是攻擊機(jī)對(duì)被攻擊機(jī)的掃描了
4730-5742之間一大段的“平原”,之后沒了什么聯(lián)通
在此期間基本上是4444與1040之間的通信,追蹤TCP數(shù)據(jù)流也沒什么用
過濾4444和1040的通信
! tcp.port eq 4444 or ! tcp.port eq 1040 and ip.addr eq 192.168.116.138發(fā)現(xiàn)兩個(gè)主機(jī)上的1234、35880端口還存在通信
追蹤tcp
base64解碼
四、手機(jī)熱點(diǎn)
必應(yīng) “藍(lán)牙傳輸協(xié)議”,即obex。
wireshark搜索obex用WireShark分析
傳了一個(gè)“secret.rar”壓縮包
選中
導(dǎo)出為x.rar,解壓得到Flag
五、抓到一只蒼蠅
Step1:http過濾
查看數(shù)據(jù)包可以得知是發(fā)送QQ郵件
http過濾 可以看到第一個(gè)數(shù)據(jù)包有fly.rar
第一個(gè)壓縮包內(nèi)涵的信息如下
繼續(xù)增加過濾條件
http && http.request.method==POST我們需要做的就是將這個(gè)wireshark數(shù)據(jù)包中的文件提取出來(lái),查看接下來(lái)的幾個(gè)post請(qǐng)求,發(fā)現(xiàn) midia type 都是數(shù)據(jù)流的格式,猜測(cè)這幾個(gè)數(shù)據(jù)流里就是我們需要的文件。
Step2:導(dǎo)出數(shù)據(jù)包
5個(gè)數(shù)據(jù)包中的Media Type域的大小各為131436 、131436 、131436 、131436 、1777,共527521,比f(wàn)ly.rar大小525701大1820,多出來(lái)的猜想是包頭類的信息,平均每個(gè)包大364。
先導(dǎo)出這5個(gè)數(shù)據(jù)包,使用Wireshark自帶的導(dǎo)出工具導(dǎo)出Media Type的內(nèi)容
依次重命名為 1 2 3 4 5
Step3:整合所獲得的文件碎片,獲得fly.rar
將五個(gè)文件丟到kali下
使用dd命令分別將其前364個(gè)字節(jié)去除:
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
(dd if=文件名 bs=輸入輸出塊的大小 skip=便宜量 of=新的文件名)
dd命令詳解
but,,,如圖,出現(xiàn)了部分文件無(wú)法跳至偏移量,導(dǎo)致接下來(lái)的操作失敗。。。所以借鑒了其他人的圖。。。
使用cat命令將碎片拼成完整的fly.rar:
cat 1.1 2.1 3.1 4.1 5.1 > fly.rar使用md5sum命令檢查文件完整性:
md5sum fly.rar獲得e023afa4f6579db5becda8fe7861c2d3,文件完整!
Step4:破譯偽加密,獲得flag.txt
偽加密,即這是一個(gè)未加密過的rar文件,但是卻將加密位置為了1。只需將文件開頭處0x74位后面的0x84位置改為0x80即可。
解壓失敗,需要密碼,壓縮包偽加密
將文件頭0x1674后面的84改為80。(84為加密,80/20不加密)
現(xiàn)在就可以正常解壓,解壓結(jié)果是一個(gè) flag.txt,打開看一下發(fā)現(xiàn)是亂碼,并不是真正的txt文件,看一下文件類型,發(fā)現(xiàn)是原來(lái)是一個(gè) windows 下的小程序,改文件后綴名在windows下跑一遍,著實(shí)是蒼蠅滿屏幕亂跑,可怕。。。
Step5:分析flag.txt文件,獲得二維碼,獲取flag
binwalk 看一下里面還有什么東西,發(fā)現(xiàn)一堆的圖片,弄出來(lái)看看。
binwalk flag.txt
foremost -v -i flag.txt
導(dǎo)出來(lái)89個(gè)圖片,好家伙,在圖片里發(fā)現(xiàn)一個(gè)二維碼,用手機(jī)掃一掃,終于出來(lái)了flag,flag{m1Sc_oxO2_Fly}。
解壓后獲得flag.txt。看起來(lái)這是個(gè)txt文件,但把后綴改成exe,即可執(zhí)行。出現(xiàn)了傳說(shuō)中的大蒼蠅!
五、日志審計(jì)
sqlmap盲注日志審計(jì)。
題目描述
請(qǐng)從流量當(dāng)中分析出flag。
考點(diǎn)
本題考查根據(jù)日志,還原sqlmap采用二分法注入獲得的數(shù)據(jù)。
解題過程
題目是sqlmap采用二分法進(jìn)行注入的日志,辦法很多,可以手撕,可以根據(jù)特征進(jìn)行分析。
這里舉例說(shuō)一種。如果對(duì)Apache日志熟悉的話,應(yīng)該知道,access.log里面會(huì)記錄Response的狀態(tài)碼和Response包的長(zhǎng)度。猜解正確或錯(cuò)誤,返回的長(zhǎng)度是不同的。
urldecode解碼幾條記錄:
id=2' AND ORD(MID((SELECT IFNULL(CAST(flag AS CHAR),0x20) FROM dvwa.flag_is_here ORDER BY flag LIMIT 0,1),24,1))>96 AND 'RCKM'='RCKM&Submit=Submit HTTP/1.1" 200 1765 id=2' AND ORD(MID((SELECT IFNULL(CAST(flag AS CHAR),0x20) FROM dvwa.flag_is_here ORDER BY flag LIMIT 0,1),24,1))>112 AND 'RCKM'='RCKM&Submit=Submit HTTP/1.1" 200 1765 id=2' AND ORD(MID((SELECT IFNULL(CAST(flag AS CHAR),0x20) FROM dvwa.flag_is_here ORDER BY flag LIMIT 0,1),24,1))>120 AND 'RCKM'='RCKM&Submit=Submit HTTP/1.1" 200 1765 id=2' AND ORD(MID((SELECT IFNULL(CAST(flag AS CHAR),0x20) FROM dvwa.flag_is_here ORDER BY flag LIMIT 0,1),24,1))>124 AND 'RCKM'='RCKM&Submit=Submit HTTP/1.1" 200 1765 id=2' AND ORD(MID((SELECT IFNULL(CAST(flag AS CHAR),0x20) FROM dvwa.flag_is_here ORDER BY flag LIMIT 0,1),24,1))>126 AND 'RCKM'='RCKM&Submit=Submit HTTP/1.1" 404 5476 id=2' AND ORD(MID((SELECT IFNULL(CAST(flag AS CHAR),0x20) FROM dvwa.flag_is_here ORDER BY flag LIMIT 0,1),24,1))>125 AND 'RCKM'='RCKM&Submit=Submit HTTP/1.1" 404 5476以猜解的第24位為例,猜解正確的時(shí)候,返回的狀態(tài)碼為200,長(zhǎng)度為1765;猜解錯(cuò)誤的狀態(tài)碼為404,長(zhǎng)度為5476。而且可以得出結(jié)論,sqlmap采用二分法進(jìn)行注入的時(shí)候,正確的值為最后一次進(jìn)行>比較正確的值+1,即為125。
簡(jiǎn)單寫個(gè)腳本,匹配一下即可。
# coding:utf-8 import re import urllibf = open('C:/Users/Bayernchen Zhouzhong/Desktop/5b0b08e0-31aa-4a8d-ae19-89b843554506/access.log','r') lines = f.readlines() datas = [] for line in lines:t = urllib.unquote(line) if '1765' in t and 'flag' in t: # 過濾出與flag相關(guān),正確的猜解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))+1flag_ascii[key] = value # 使用字典,保存最后一次猜解正確的ascii碼flag = '' for value in flag_ascii.values():flag += chr(value)print flag六、weblogic
(廣告且開掛。。。)
題目描述
黑客攻擊了Weblogic應(yīng)用,請(qǐng)分析攻擊過程,找出Weblogic的主機(jī)名。flag格式:flag{}
Tip:主機(jī)名為十六進(jìn)制。
考點(diǎn)
weblogic 攻擊流量審計(jì)。模擬了爆破weblogic登錄密碼,通過部署war包getshell,執(zhí)行命令獲取hostname的操作。
解題過程
使用科來(lái)分析工具打開流量包,在數(shù)據(jù)包選項(xiàng)中,Ctrl+F搜索字符串hostname,可以找到編號(hào)為658、662的數(shù)據(jù)包當(dāng)中存在hostname關(guān)鍵詞。
其中編號(hào)662數(shù)據(jù)原地址為服務(wù)端,是http的Response包。右鍵解碼數(shù)據(jù)包,可以很直觀的看到服務(wù)端返回的內(nèi)容:
總結(jié)
以上是生活随笔為你收集整理的Bugku -分析-合集的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mstsc远程连接发生身份验证错误要求的
- 下一篇: 使用easywechat做小程序模板消息