今年第一次參加這樣子的 CTF 比賽,自己好菜,很多都不會寫 awww
不過這次的參加很開心!希望明年可以繼續玩 aww
簽到#
先點一下啟動,然後很明顯把那個 false 改成 true 就好了
簽到 again#
根據題目,先找一下 中國科學技術大學校內 CTF 隊伍的招新首頁在哪
查詢了一下是 https://www.nebuu.la/
使用 ls -all 就找到了第二個 .flag, cat 一下就可以得到了
使用 env 就可以得到第一個 flag
flag{0k_175_a_h1dd3n_s3c3rt_f14g___please_join_us_ustc_nebula_anD_two_maJor_requirements_aRe_shown_somewhere_else}
flag{actually_theres_another_flag_here_trY_to_f1nD_1t_y0urself___join_us_ustc_nebula}
小提示: 如果使用 sudo -i ,你會被傳到某個番劇頁面(((
貓咪問答(Hackergame 十周年紀念版)#
- 采取關鍵詞 Hackergame 2015 ,前一天晚上,賽前講座
扒一下 大概可以得到這個頁面 https://lug.ustc.edu.cn/wiki/sec/contest.html
可以查詢到是 2682 人 (2019 年 hg)
- Hackergame 2018 熱門檢索詞成為了科大圖書館當月熱搜第一
這個思路其實是去 hg 2018 的 writeup 扒了
https://github.com/ustclug/hackergame2018-writeups/blob/master/misc/others.md
在這邊就有寫到了(
- 關鍵詞 USENIX Security , 學術會議,中國科學技術大學 (USTC), 電子郵件偽造攻擊
https://www.usenix.org/conference/usenixsecurity24/
扒一下 conference 然後發現了這篇
https://www.usenix.org/conference/usenixsecurity24/presentation/ma-jinrui
全文通讀一下可以發現是 336
小提示,看了十幾遍才發現直接有寫,之前一直是算 6*16 這樣子的 要命
5. 這個實在是太火了.png
https://github.com/torvalds/linux/commits/master/MAINTAINERS
點進去 Maintainer 的 commit 記錄 找一下
https://github.com/torvalds/linux/commit/6e90b675cf942e50c70e8394dfb5862975c3b3b2
即可得到 commit 6e90b67
- 大語言模型會把輸入分解為一個一個的 token 後繼續計算,請問這個網頁的 HTML 源代碼會被 Meta 的 Llama 3 70B 模型的 tokenizer 分解為多少個 token?
我沒什麼好思路,先是簡單搜了一下 Liama 3 70B Tokenizer
https://huggingface.co/meta-llama/Meta-Llama-3-8B/discussions/116
emm 我不想跑,因此就找了這個
https://lunary.ai/llama3-tokenizer
手動跑了一下得到了 1835
但是試了下不對,然後隨手在 1840-1820 試,試出了 1833 (
flag{@_GOØD_CΛT_1$_the_CA7_Who_CΛn_pΛs5_7HE_QUI2}
flag{TEN_y34rs_OF_ha©keЯ9AM3_ØMede7Øu_w!7h_И3k0_qu!z}
打不開的盒#
我下了個 meshlab ,用 meshlab 看的 (
做完就把 meshlab 揚了,然後我就懶得下回來截圖了(
flag{Dr4W_Us!nG_fR3E_C4D!!w0W}
每日論文太多了!#
疑惑,然後用編輯器處理掉了 xwx
比大小王#
什麼小猿口算 for Hackergame 2024
我的方法比較簡單:
fetch('/submit', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({inputs}),
})
根據提交得知他傳的是一個 inputs 的數組,裡面是 > < 這兩個字符的列表
每次打開,總會向 http://202.38.93.141:12122/game 請求題目
寫了個 py 腳本,然後在 10s 內用在 console submit ([input]) 即可
為什麼呢,因為我發現好像直接用 py 會說數據異常,不給 flag(
with open("test.txt", "r", encoding="utf-8") as file:
data = json.load(file)
values = list(data["values"])
answers = []
for data in values:
if data[0] > data[1]:
answers.append('>')
elif data[0] < data[1]:
answers.append('<')
else:
print("Throw new err?")
print(answers)
PaoluGPT#
我也不知道我怎麼幹的,但是確實得到了(
1' or contents like '%flag%'
本來是注入這個的,但是他好像會因為某些原因把第二個也漏出來?
flag{zU1_xiA0_de_11m_Pa0lule!!!_73a5cee3f9}
flag{enJ0y_y0uR_Sq1_&_1_would_xiaZHOU_hUI_guo_657f7eaad1}
思索,然後發現我自己以前寫過的代碼也能這麼注入(害怕
旅行照片 4.0#
一年一度的搜索引擎大法題(
- 題目 1-2
1 題我偷懶了,直接 北校區南門 xxx 試了好幾個,然後過了
2 題直接在 b 站搜一下就好了,嘎嘎快 x
- 題目 3-4
3 很明顯,垃圾桶有個標識 “六安園林”
把六安那幾個公園搜一下就好了,具體哪個忘了
4 直接 Google lens 得出來的
https://m.ytszg.com/article/hubei/a10965.html
長江三峽壇子嶺景區
5 依靠百度搜索圖片,然後發現了 b 站這個視頻
比對一下,最終得出 積水潭醫院
6 Google lens 第一個就是這個網站
https://www.china-emu.cn/Trains/Model/detail-26012-201-F.html
解決 x
不寬的寬字符#
UTF 16 LE -> UTF 8
以 UTF8 的方式讀取 UTF16LE
獲取 Z:/TheFlag
最終是這個 => 㩚瑜敨汦條
但是我們需要讓他結束,所以說需要加個 / 0 這樣子的來停止
思考了一下 打了個空格,然後過了
flag{wider_char_isnt_so_great_e2ed6a125e}
Node.js is Web Scale#
// GET /api/store - Retrieve the current KV store
app.get("/api/store", (req, res) => {
res.json(store);
});
// POST /set - Set a key-value pair in the store
app.post("/set", (req, res) => {
const { key, value } = req.body;
const keys = key.split(".");
let current = store;
for (let i = 0; i < keys.length - 1; i++) {
const key = keys[i];
if (!current[key]) {
current[key] = {};
}
current = current[key];
}
// Set the value at the last key
current[keys[keys.length - 1]] = value;
res.json({ message: "OK" });
});
嗯哼 ?
__proto__.cmd cat /flag
然後讓他直接去讀 flag 即可
惜字如金 3.0#
我只做出來第一題 awa>
看起來是某種規範,每行強制 80
然後我寫了個讀取每行長度的玩意 一個一個調
第二題貌似是利用 gzip 壓縮,因為
上傳文件無論使用 LF 還是 CRLF 換行,無論是否在尾部增加了單獨的換行符,均對匹配結果沒有影響
但是沒有構建起來 x
無法獲得的秘密#
一開始我是想着,直接
base64 secret > file.txt
區區 512 kb,洒洒水啦(
之後想了下,能不能通過 qrss 來實現極限壓縮,先傳進去
之後給他幹到了 打包 70kb 單文件,傳了進去,然後用了四五次差不多弄好的
傳的方法使用 Pyautogui, 代碼如下
import time
import pyautogui
with open('hash.txt', 'r', encoding='utf-8') as file:
content = file.read()
time.sleep(10)
pyautogui.typewrite(content, interval=0.0001)
先不說關於我從零開始獨自 balbalabala 什麼#
然後看了下他是個比較的玩意,什麼 wordle 加強版 英專生狂喜
In the grand hall of Hackergame 2024, where the walls are lined with screens showing the latest exploits from the cyber world, contestants gathered in a frenzy, their eyes glued to the virtual exploits. The atmosphere was electric, with the smell of freshly brewed coffee mingling with the scent of burnt Ethernet cables. As the first challenge was announced, a team of hackers, dressed in lab coats and carrying laptops, sprinted to the nearest server room, their faces a mix of excitement and determination. The game was on, and the stakes were high, with the ultimate prize being a golden trophy and the bragging rights to say they were the best at cracking codes and hacking systems in the land of the rising sun.
原文就是這個
最後#
這次真的玩的挺開心的,雖然菜死了,明年再來玩玩惹
此文由 Mix Space 同步更新至 xLog
原始鏈接為 https://lemonkoi.one/posts/tech/hackergame-2024-exp