<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      西電CTF平臺——NewStar CTF 2024 WriteUP

      Week1-Misc雜項

      Labyrinth

      圖片題,kali里filestringszsteg命令一頓梭,沒有發現。只能用stegsolve工具了,查看各個通道的圖片,在green plane 0、Red plane 0、Blue plane 0三個通道都能看到一張二維碼。
      image
      image
      image
      用在線二維碼掃描工具掃一下,結果都是一樣的。
      image

      decompress(公開賽道)

      解壓得到decompressit.zippasswd_regex_hint.txt,打開txt文件,里面有提示。
      image
      正則表達式,提示我們密碼的格式是3個小寫英文字母1個阿拉伯數字1個小寫英文字母,根據這個格式生成密碼字典。

      import string
      
      alpha = string.ascii_lowercase
      digit = string.digits
      
      res = []
      for i in alpha:
          for j in alpha:
              for k in alpha:
                  for m in digit:
                      for n in alpha:
                          res.append(i+j+k+m+n)
      
      with open("password.txt", "w") as file:
          for passwd in res:
              file.write(passwd+"\n")
      

      進行字典爆破,得到密碼為xtr4m
      image
      解壓,再把flag.zip.001解壓得到flag.txt,拿到flag。
      image

      decompress(校內賽道)

      解壓得到16個文件,只需要bindzip打開flag.zip.001解壓出flag.txt
      image
      全部內容計算完md5后,套上flag即可。
      image
      flag{c6edaba55bac51875a215e2de11c35dd}

      pleasingMusic

      audacity打開音頻,往后拉能看到明顯的摩斯密碼特征。
      image
      提取出來進行解密,是亂碼。
      ./..-/---/.-.-/-.--.././.../.-./---/--/-.--../..--/.
      image
      奇怪了,看下題目描述,一首歌可以好聽到正反都好聽,將提取出來的摩斯密碼倒一下再解密成功。
      image
      image
      全部變為小寫就是flag。

      兌換碼

      根據題目描述,就可以猜到圖片的長和寬和圖片的crc校驗值不符,需要修改寬高,放到kali里顯示不出來也可以驗證是這個問題。
      image
      先獲得圖片的crc校驗值1c204acf
      image
      利用腳本爆破正確的長款。

      import struct
      import binascii
      import os
      
      m = open("./榮花與炎日之途.png", "rb").read()
      k = 0
      for i in range(5000):
          if k == 1:
              break
          for j in range(5000):
              c = m[12:16] + struct.pack('>i', i) + struct.pack('>i', j) + m[24:29]
              crc = binascii.crc32(c) & 0xffffffff
              if crc == 0x1c204acf:
                  k = 1
                  print(hex(i), hex(j))	# 0xa00 0x4e9
                  break
      
      

      修改圖片的長寬如下。
      image
      打開圖片拿到flag。
      image

      Week1-Crypto 密碼學

      Base

      經過16進制解碼,base32解碼,base64解碼拿到flag。
      image

      Strange King

      根據“抽銳刻 5 的皇帝”可以想到凱撒密碼,“娶了個模,回到原點”說明有取模運算。再對照ksjrflag之間的映射關系,每次的增量為2。編寫腳本:

      base = 5
      
      ciphertext = "ksjr{EcxvpdErSvcDgdgEzxqjql}"
      plaintext = ""
      
      for i in ciphertext:
          if i == "{" or i == "}":
              plaintext += i
          else:
              start = ord("A") if i.isupper() else ord("a")
              plaintext += chr((ord(i) - start - base) % 26 + start)
          base += 2
      print(plaintext)	# flag{PleaseDoNotStopLearing}
      
      

      xor

      異或的特性:ab=c,ac=b,b^c=a,知道這個就可以寫腳本還原了。

      from pwn import xor
      from Crypto.Util.number import bytes_to_long, long_to_bytes
      
      
      c1= 8091799978721254458294926060841
      c2= b';:\x1c1<\x03>*\x10\x11u;'
      key = b'New_Star_CTF'
      flag_first = long_to_bytes(c1 ^ bytes_to_long(key))
      flag_end = xor(c2, key)
      print(flag_first+flag_end)	# b'flag{0ops!_you_know_XOR!}'
      

      如果沒有pwn庫,使用pip install pwn命令安裝即可。

      一眼秒了

      最入門的rsa題目了,直接對n進行大素數分解,得到p和q,接下來就輕而易舉了。(大素數分解可用在線網站或者yafu工具)
      image

      from Crypto.Util.number import *
      from gmpy2 import *
      import binascii
      
      
      e = 65537
      c = 48757373363225981717076130816529380470563968650367175499612268073517990636849798038662283440350470812898424299904371831068541394247432423751879457624606194334196130444478878533092854342610288522236409554286954091860638388043037601371807379269588474814290382239910358697485110591812060488786552463208464541069
      p = 7221289171488727827673517139597844534869368289455419695964957239047692699919030405800116133805855968123601433247022090070114331842771417566928809956044421
      q = 7221289171488727827673517139597844534869368289455419695964957239047692699919030405800116133805855968123601433247022090070114331842771417566928809956045093
      phi_n = (p-1)*(q-1)
      d = gmpy2.invert(e, phi_n)
      m = powmod(c,d,p*q)
      print(long_to_bytes(m))	# b'flag{9cd4b35a-affc-422a-9862-58e1cc3ff8d2}'
      

      Week2-Misc雜項

      Herta's Study

      wireshark打開,導出http對象。
      image
      upload.php里看到一串代碼,是base64編碼的,還原看一下。
      image
      傳入的字符串先進行base64編碼,然后對字符串中奇數位的字符進行rot13的轉換。在多個文件中都可以看到base64編碼的字符串,可以一個一個試,真正的字符串在horse.php%3fpayload=type%20f.txt中。

      <?php
      $ns="ZzxuZ3tmSQNsaGRsUmBsNzVOdKQkZaVZLa0tCt==";
      for($i=0;$i<strlen($ns);$i+=1){
          if($i%2==1){
              $ns[$i]=str_rot13($ns[$i]);
          }
      }
      echo base64_decode($ns);	// flag{sH3_i4_S0_6eAut1fuL.}
      ?>
      

      wireshark_checkin

      wireshark打開,導出http對象,flag就在flag.txt中。
      image

      wireshark_secret

      wireshark打開,導出http對象,flag就在secret.png中。
      image

      你也玩原神嗎

      下載得到gif文件,看的時候會看到有東西一閃而過,用stegsolve工具一幀幀查看,第37幀看到內容,保存下來。
      image
      根據題目關鍵字原神提瓦特文字搜索得到映射圖片。
      image
      將圖片里的文字進行翻譯。
      中間5行翻譯出來,一堆垃圾,無用。

      lorem ipsum dolor sit amet
      consectetur adipiscing elit
      sed do eiusmod tempor
      incididunt ut laborc ct
      dolorc magna aliqua quis
      

      左上角

      flagisasentence
      

      右上角

      iiaaelgtsfkfa
      

      左下角

      doyouknowfence
      

      右下角

      mesioaabgnhnsgogmyeiade
      

      還需要進行柵欄解密,右上角的是假flag,右下角是真的。
      image

      字里行間的秘密

      key.txtsublime工具打開,發現零寬字符,用零寬字符網站解密。
      image
      image
      拿到隱藏文本,打開flag.docx文件,需要密碼,將隱藏文本輸入,打開。
      image
      直接全選,復制到sublime中拿到flag。
      image

      熱心助人的小明同學

      內存取證題需要用到volatility神器,kali系統或者windows系統都可以。
      使用下述命令即可拿到登錄密碼。
      image
      故flag為flag{ZDFyVDlfdTNlUl9wNHNTdzByRF9IQUNLRVIh}

      用溯流儀見證伏特臺風

      看視頻,大概5分50秒左右看到domain和其下方的內容,但是不清晰。
      image
      直接豆包搜索我需要2024年7月8日伏特臺風II的威脅盟報告原文件,給出了以下兩種途徑。
      image
      訪問中國國家計算機病毒應急處理中心官網,在首頁就能看到2024年7月8日的報告。
      image
      打開報告放大就能看清了。
      image
      powerj7kmpzkdhjg4szvcxxgktgk36ezpjxvtosylrpey7svpmrjyuyd.onion
      進行md5加密就能拿到flag。
      image
      flag{6c3ea51b6f9d4f5e}

      Week3-Misc雜項

      BGM 壞了嗎?

      Adudacity打開,查看頻譜圖,發現左聲道是噪音,右聲道有信息。
      image
      先分離成單聲道。
      image
      選中下半部分,復制。
      image
      新建一個文件,將剛剛復制的粘貼進來。
      image
      然后“文件”->“導出”->“導出為WAV”.
      image
      最后使用dtfm工具識別即可拿到flag。
      image
      flag:flag{2024093020241103}

      OSINT-MASTER

      先查看task.txt,告知flag格式是航班號+照片拍攝時飛機經過的地級市,查看圖片屬性。
      image
      得到時間為2024年8月18日下午2點半,在看圖片,放大能看到B-2419
      image
      網上搜索B-2419,進入flightera的官網。
      image
      點擊搜索,將飛機型號輸入,隨便選擇兩項中的一項。
      image
      查看2024年8月份的航班。
      image
      一直翻到8月18號,只有4個航班,但是滿足下午2點半這個時間還在飛的只有MU5156這一航班。
      image
      剩下的就是找途徑的地級市了。一開始我根據航線將其附近的地級市都試了一遍,結果都不對。下載航班管家,首頁->航班動態,搜索MU5156,查看飛行成就。
      image
      找到了北京飛往上海的航線圖,將中間的幾個城市試一下,得到結果為濟寧市。
      image
      故flag為:flag{MU5156_濟寧市}

      Week4-Misc雜項

      Alt

      鍵盤流量,用tshark命令提取數據。tshark -r keyboard.pcapng -T fields -e usbhid.data | sed '/^\s*$/d' > usbdata.txt得到數據。
      image
      利用python腳本還原。

      normalKeys = {"04": "a", "05": "b", "06": "c", "07": "d", "08": "e", "09": "f", "0a": "g", "0b": "h", "0c": "i",
                    "0d": "j", "0e": "k", "0f": "l", "10": "m", "11": "n", "12": "o", "13": "p", "14": "q", "15": "r",
                    "16": "s", "17": "t", "18": "u", "19": "v", "1a": "w", "1b": "x", "1c": "y", "1d": "z", "1e": "1",
                    "1f": "2", "20": "3", "21": "4", "22": "5", "23": "6", "24": "7", "25": "8", "26": "9", "27": "0",
                    "28": "<RET>", "29": "<ESC>", "2a": "<DEL>", "2b": "\t", "2c": "<SPACE>", "2d": "-", "2e": "=", "2f": "[",
                    "30": "]", "31": "\\", "32": "<NON>", "33": ";", "34": "'", "35": "<GA>", "36": ",", "37": ".", "38": "/",
                    "39": "<CAP>", "3a": "<F1>", "3b": "<F2>", "3c": "<F3>", "3d": "<F4>", "3e": "<F5>", "3f": "<F6>",
                    "40": "<F7>", "41": "<F8>", "42": "<F9>", "43": "<F10>", "44": "<F11>", "45": "<F12>",
                    "59": "1", "5a": "2", "5b": "3", "5c": "4", "5d": "5", "5e": "6", "5f": "7", "60": "8", "61": "9",
                    "62": "0", }
      
      shiftKeys = {"04": "A", "05": "B", "06": "C", "07": "D", "08": "E", "09": "F", "0a": "G", "0b": "H", "0c": "I",
                   "0d": "J", "0e": "K", "0f": "L", "10": "M", "11": "N", "12": "O", "13": "P", "14": "Q", "15": "R",
                   "16": "S", "17": "T", "18": "U", "19": "V", "1a": "W", "1b": "X", "1c": "Y", "1d": "Z", "1e": "!",
                   "1f": "@", "20": "#", "21": "$", "22": "%", "23": "^", "24": "&", "25": "*", "26": "(", "27": ")",
                   "28": "<RET>", "29": "<ESC>", "2a": "<DEL>", "2b": "\t", "2c": "<SPACE>", "2d": "_", "2e": "+", "2f": "{",
                   "30": "}", "31": "|", "32": "<NON>", "33": "\"", "34": ":", "35": "<GA>", "36": "<", "37": ">", "38": "?",
                   "39": "<CAP>", "3a": "<F1>", "3b": "<F2>", "3c": "<F3>", "3d": "<F4>", "3e": "<F5>", "3f": "<F6>",
                   "40": "<F7>", "41": "<F8>", "42": "<F9>", "43": "<F10>", "44": "<F11>", "45": "<F12>"}
      
      
      file = open("usbdata.txt")
      res_usb_data = []
      for line in file.readlines():
          if line[4:6] in normalKeys:
              res_usb_data.append(normalKeys[line[4:6]])
          elif line[4:6] in shiftKeys:
              res_usb_data.append(shiftKeys[line[4:6]])
          else:
              continue
      res = ""
      for i in res_usb_data:
          res += i
      print(res)	# 1021089710312338190<DEL>30424<DEL>27969<DEL>37327<DEL>9511910511610495971081169521644<DEL>31383<DEL>25143<DEL>9549539553111487979481119537239<DEL>125
      
      

      看開頭的幾個數字,就知道是flag{,說明沒找錯。
      一開始看到<DEL>以為是要把其前面的一個字符刪除,但是發現翻譯過來很多都是非ASCII字符。然后結合題目名字ALT,才知道Alt 加數字鍵也能打印出字符。看了下中間的數字,分成了以下幾部分:
      10210897103123 => flag{
      38190<DEL>30424<DEL>27969<DEL>37327<DEL>=> 這段不知道怎么翻譯,感覺都不太對
      95119105116104959710811695=>_with_alt_
      21644<DEL>31383<DEL>25143<DEL> => tB7
      95495395531114879794811195=>_15_5o0OO0o_
      37239<DEL>125=>w}
      這題就這樣吧,哪位大佬解出來了告知一下。

      掃碼領取 flag

      四個壓縮包格式的文件通過file命令可判斷為png。
      image
      改后綴,但是在kali里打不開,全部都是CRC校驗錯誤,用腳本還原。

      import struct
      import binascii
      import os
      
      m = open("fla9.png", "rb").read()
      k = 0
      for i in range(5000):
          if k == 1:
              break
          for j in range(5000):
              c = m[12:16] + struct.pack('>i', i) + struct.pack('>i', j) + m[24:29]
              crc = binascii.crc32(c) & 0xffffffff
              if crc == 0xAD8705E1:	# 每張圖片的crc碼
                  k = 1
                  print(hex(i), hex(j))	# 0xfa 0xfa
                  break
      
      

      這四張圖片的crc碼都一致,將寬高都改為0xfa即可。
      image
      每個圖片都是二維碼的四分之一,拼完整如下。
      image
      掃描二維碼沒有內容,經過豆包查詢知道這是阿茲特克碼。
      image

      利用在線 AZTEC 二維碼閱讀器讀取。
      image

      Week5-Misc雜項

      zipmaster

      解壓得到5個加密文件,看到4個文件較小,可以使用crc值爆破出內容。

      # 參數crc 為壓縮包里面文件CRC32的值
      import itertools
      import string
      import binascii
      
      dic = string.ascii_letters + string.digits + '+/=_!@#$%^&*'
      crc = 0x03c90238	# 填每個文件的crc
      
      
      for secret_number in itertools.product(dic, repeat=3):
          secret_number = ''.join(secret_number)  # 轉換元組為字符串
          encoded_s = secret_number.encode('utf-8')  # 編碼后的 s
          if binascii.crc32(encoded_s) & 0xffffffff == crc:
              print(secret_number)
              exit(0)
      
      # this_is_key!
      

      密碼為this_is_key!,解壓得到0721.ziphint.txt
      image
      提示是明文攻擊,看到114514.zip中的hint.txt0721.zip中的hint.txtcrc值一致,可以確認是明文攻擊。
      image
      將解壓出來的hint.txt使用bindzip壓縮成一個新的壓縮包,確保壓縮方法一致。
      image
      使用Advanced Archive Password Recovery軟件利用明文攻擊。
      image
      如果長時間沒有解出來,就停止,也能得到解壓后的壓縮包flag.zip
      image
      這些文件都很大,是個壓縮包炸彈,利用HxD打開,拉到最下面,可看到base64編碼的字符串。
      image
      將中間的.去掉,解碼。
      image
      看到504b0304就知道是個壓縮包,將數據復制到HxD中保存為111.zip
      image
      解壓需要密碼,又看到最后一句話what the fuck i can not see the passwdf4tj4oGMRuI=,對f4tj4oGMRuI=base64解碼,全是不可見字符。
      image
      只能利用python腳本解壓了。

      import pyzipper
      import base64
      
      # 加密的 ZIP 文件名
      zip_filename = "111.zip"
      # 解壓到的目標文件夾
      extract_to = "."
      # 加密密碼
      password = base64.b64decode('f4tj4oGMRuI=')
      
      with pyzipper.AESZipFile(zip_filename,'r') as zipf:
          zipf.pwd = password
          zipf.extractall(extract_to)
      

      解壓得到Z1文件,用HxD打開拿到flag。
      image

      posted @ 2025-07-05 22:35  死不悔改奇男子  閱讀(463)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 色又黄又爽18禁免费视频| 99riav国产精品视频| 亚洲av无一区二区三区| 深夜释放自己在线观看| 精品乱码一区二区三四五区| 内射老阿姨1区2区3区4区| 欧美另类精品xxxx人妖| 色一伊人区二区亚洲最大| 亚洲欧洲日产国无高清码图片| 好吊妞人成视频在线观看27du | 一本色道久久综合熟妇人妻| 欧美成本人视频免费播放| 在线中文一区字幕对白| 国产精品美女一区二三区| 国产免费一区二区不卡| 国产漂亮白嫩美女在线观看| 国产精品午夜福利视频| 69天堂人成无码免费视频| 国产精品一区二区久久精品| 国产精品理论片| 国产亚洲欧洲AⅤ综合一区| 色情一区二区三区免费看| 亚洲中文字幕五月五月婷| 亚洲精品麻豆一区二区| 亚洲AV美女在线播放啊| 啦啦啦视频在线日韩精品| 2022最新国产在线不卡a| 久久大香萑太香蕉av黄软件| 鸡东县| 亚洲精品日韩精品久久| 97国产成人无码精品久久久| 蜜桃网址| 国产口爆吞精在线视频2020版| 亚洲日韩av无码中文字幕美国 | 国产精品久久久久久久久电影网| 亚洲一区二区三成人精品| 国产一卡2卡三卡4卡免费网站| 亚洲 都市 无码 校园 激情| 性xxxx搡xxxxx搡欧美| 一 级做人爱全视频在线看| 亚洲国产精品色一区二区|