bugku CTF雜項wp(2)

十六、想蹭網絡先破解wifi密碼

題目給了我們一個數據包,且提示我們flag爲wifi密碼,

第一步:

打開文件,WIFI連接認證的重點在WPA的四次握手包,即eapol協議的包,過濾一下:
剛好四個包
在這裏插入圖片描述

第二步

既然是密碼,還給了我們數據包,那麼我們開始爆破,首先需要一個字典

因爲手機號爲11位,給了我們7位,故我們使用一下python代碼生成字典
代碼如下:

import string
s = string.digits
f = open('1.txt', 'w')
for i in s:
    for j in s:
        for k in s:
            for o in s:
                f.write("1391040"+i+j+k+o+'\n')

第三步

使用aircrack-ng進行爆破。

首先進行安裝aircrack-ng,我在kali下進行操作。無法鎖定的原因是我之前使用終端時,可能強制退出,還有命令在執行,那麼我們就強制解除,命令如下

sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock

在這裏插入圖片描述
然後進行安裝aircrack-ng
命令如下

apt-get install aircrack-ng

安裝好用,進行爆破,得出密碼

aircrack-ng -a2 wifi.cap -w password.txt

在這裏插入圖片描述
aircrack-ng使用

aircrack-ng -w 字典文件 目標 

破解KEY,漫長的過程.漫不漫長取決於兩個方面:一是網管的聰明程度(能否設置出複雜的密碼),二是電腦的速度. 
usage:aircrack-ng[options]<.cap/.ivsfile(s)>

Commonoptions:
-a<amode>:暴破(1/WEP,2/WPA-PSK)

-e<essid>:選擇essid爲目標

-b<bssid>:選擇ap的mac爲目標,就是破解識別的關鍵字

-q:使用安靜模式,無數出模式

-C<macs>:將所有的AP合併爲一個虛擬的

–help:顯示這個幫助

十七、linux2

根據題目提示,flag爲key{},那麼使用winhex打開文件,並搜索key發現flag.

十八、賬號被盜了

點擊getf lag,發現沒有管理員權限,那麼我們就想到cookie,使用抓包工具將cookie的值,改成ture,即可得到一個網站然而發現該網站我怎麼也進去,打擾了。

十九、細心的大象

1、下載圖片,使用winhex打開沒發現什麼有用的信息

2、用binwalk查看圖片是否包含其他文件,成功分離出一個壓縮文件
在這裏插入圖片描述
3、發現該壓縮文件裏有個圖片是加密的,於是我們尋找密碼

4、在用winhex看一下大象的圖片,還是沒發現重要信息,我們打開文件的屬性,去看看文件的詳細信息裏面有什麼信息,發現一串類似於base64加密的東西。
在這裏插入圖片描述
5、把該串信息當作密碼輸入,發現失敗了,base64解密後,再輸入,可以得到以下圖片
在這裏插入圖片描述
使用winhex打開修改圖片的高爲500,就可以在圖片裏看到flag了
在這裏插入圖片描述

二十、爆照

1、首先對文件進行分析,發現1個壓縮包,壓縮包裏有一個動態圖和8個文件。更具文件的大小可以發現88、888、8888比較特殊。flag應該在這3張圖片裏。

使用winhex打開可以依次打開這3個文件可以發現這3個文件都是jpg文件。修改後綴名爲jpg

可以發現88文件有個二維碼,掃描得bilibili

在這裏插入圖片描述
888文件是個圖片,查看文件詳細信息可以發現一段base64加密的數據,解密得silisili
在這裏插入圖片描述
8888文件修改後綴名得到一張圖片,詳細信息沒有有用信息,使用binwalk分析下,發現了一個壓縮包。壓縮包裏有一個二維碼圖片,掃描得panama
在這裏插入圖片描述
故該題flag爲{bilibili_silisili_panama}

二十一、貓片(安恆)

根據題目提示,這樣應該是LBS隱寫
在這裏插入圖片描述
1、下載附件修改後綴名爲png

2、使用stegsolve打開,使用其DATA extract功能進行分析,根據提示爲LSB,BGR隱寫,經過下圖操作,保存爲png文件。
在這裏插入圖片描述
3、發現圖片打不開,使用winhex打開查看,進行下圖操作,然後保存,發現是半張二維碼
在這裏插入圖片描述

4、進行圖片高度的修改,可以得到一張完整的二維碼,掃描下載flag.rar壓縮包
在這裏插入圖片描述
打開文件,有上面的錯誤,flag文件裏的內容,有點氣,費盡腦子,發現無可奈何,於是開始查各種資料。
在這裏插入圖片描述
發現是ntfs文件數據流隱寫,就說題目的提示爲什麼ntfs沒用到。
使用ntfsstreamsEditor工具查找數據流,然後導出(注意這邊一個坑:flag.rar這個壓縮文件一定要用winrar來解壓才能找得到數據流)

在這裏插入圖片描述
發現導出的數據流文件是python反編譯文件。直接扔到在線我就進行python反編譯 ,https://tool.lu/pyc/
得到以下結果

import base64

def encode():
    flag = '*************'
    ciphertext = []
    for i in range(len(flag)):
        s = chr(i ^ ord(flag[i]))
        if i % 2 == 0:
            s = ord(s) + 10
        else:
            s = ord(s) - 10
        ciphertext.append(str(s))
    
    return ciphertext[::-1]

ciphertext = [
    '96',
    '65',
    '93',
    '123',
    '91',
    '97',
    '22',
    '93',
    '70',
    '102',
    '94',
    '132',
    '46',
    '112',
    '64',
    '97',
    '88',
    '80',
    '82',
    '137',
    '90',
    '109',
    '99',
    '112']

進行解密腳本的編寫

def decode():
    ciphertext = [
        '96',
        '65',
        '93',
        '123',
        '91',
        '97',
        '22',
        '93',
        '70',
        '102',
        '94',
        '132',
        '46',
        '112',
        '64',
        '97',
        '88',
        '80',
        '82',
        '137',
        '90',
        '109',
        '99',
        '112']
    ciphertext.reverse()             # 加密中使用ciphertext[::-1]進行取反,故使用reverse取反,
    flag = ''
    for i in range(len(ciphertext)):     # 加密中使用的是flag的長度,而ciphertext與flag長度一樣
        if i % 2 == 0:
            s = int(ciphertext[i]) - 10    # 加密中s的值其實就是int(ciphertext[i])
        else:
            s = int(ciphertext[i]) + 10
        s = chr(i ^ s)                    # 加密中爲i和flag異或,那麼i與s異或即可的到flag
        flag += s
    return flag


if __name__ == '__main__':
    flag = decode()
    print(flag)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章