Geek精神战队 WriteUp(撰写完成后导出为pdf文件提交至平台)

微信公众号:Geek_Team

网络建设与运维-网络安全 信息安全管理与评估

这次的CTF题目还是有点难度的,也没有拿到特别好的成绩(最后半小时被冲烂了),此WP仅供学习参考,大佬勿喷。

排名

战队名称:第27名

1.png

解题思路

WEB

EzRCE
<?php
error_reporting(0); / 不报错回显
highlight_file(__FILE__); / 高亮本文件内容
if (!empty($_GET['PK'])){ / 如果GET请求中有PK参数则执行以下代码
$PK = $_GET['PK']; / 将GET请求中PK参数赋值于变量PK
/ 对blacklistFilter函数返回值进行判断
if(blacklistFilter($_SERVER["QUERY_STRING"])){ / $_SERVER["QUERY_STRING"]获取
url?后面的参数
include $PK; / 文件包含变量PK的的参数
}else{
highlight_file(__FILE__);
}
}
/ 设置黑名单
function blacklistFilter($arg) {
$blacklist = array('[', ']', ';', '?', '@', '(', ')', 'exec', 'eval', '$',
'phpinfo', 'flag', 'data', 'filter', '#');
$filteredInput = str_replace($blacklist, '', $arg);
return $filteredInput;
}
?>

通过代码审计得知,本题为文件包含漏洞,不过本题的黑名单似乎起不到作用依然可以使用黑名单中的字符串

**Payload:**http: //69780cc4.clsadp.com/?PK=. /. /. /. /. /. /. /. /flag

2.png

Mua

目录扫描发现robots.txt文件,访问/substr_pass.php,ctrl+u看源码得到hint:?a=xx&b=xx

构造payload:?a=1&b=1,发现是存在内容的

构造payload:?a=0&b=3、/substr_pass.php?a=0&b=3

发现回显pas感觉快出来了,通过使用脚本来进行循环请求

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])

3.png

脚本得到pass:password是富强民主文明和谐自由平等公正法制爱国敬业诚信友善

直接去拼接URL得到flag4.png

MICS

云缨

拿到题目,云缨,考虑到了谐音,且题目要求答案进行md5加密作为flag,说明答案是比较简单的,优先考虑云影解密

8881088410842088810810842042108108821041010882108881

直接解出YUNYINGISEASY

MD5加密后即为flag{9edabf1448871181eb0e7133b5b3d701}5.png

hack_dns

首先给了压缩包,也不是伪加密,尝试暴力破解,直接上最简单的1-6位纯数字,直接爆出来密码

6.png

解压之后直接分析压缩包,根据题目提示dns,直接过滤dns流量,发现解析的域名的三级域名很可疑,使用tshark导出

tshark -r flag.pcap -T fields -e dns.qry.name dns.flags.response==0 > output.txt

7.png

去重后得到字符串:640a0a780a0a680a0a790a0a7b0a0a366a0a0a0a0a650a300a0a630a0a6d0a0a310a0a6c0a0a360a0a780a0a380a0a390a0a370a0a300a0a330a0a330a0a690a0a670a0a300a0a610a0a310a0a720a0a680a0a340a0a300a0a390a0a310a0a350a0a760a0a360a0a350a0a390a0a7d0a0a

十六进制转字符串得到:

dxhy{6je0cm1l6x897033ig0a1rh40915v659}

先考虑维吉尼亚看看,附件还给了图片,盲猜key是图片隐写,上steghide 默认密码解出key,进行维吉尼亚解密得到flag

8.png9.png

REVERSE

ezpython

使用pyinstxtractor进行反编译,得到pyc文件,补充缺失的Python 3.8 的 Magic Number 文件头后使用在线工具对main.pyc进行反编译得到源码 10.png 发现ctr1 += chr(ord(flag[i]) ^ 5)是个异或,使用工具进行异或即可解出flag

奖状到啦!!奖状到啦!!奖状到啦!!奖状到啦!!奖状到啦!!奖状到啦!!奖状到啦!!奖状到啦!!奖状到啦!! 11.png