Web篇
1. D0n't pl4y g4m3!!!
这是一个重定向网页题目,登陆指定网页到一个游戏界面,一开始以为是通关获得flag,但修改了相关参数,发现没有任何显示,然后想到题目让我们到网页p0p.php,但这实际是执行了一个PHP文件,自动跳转游戏界面,所以还是要从根本去寻找,这里题目给出了两个线索,
A.一个是因为重定向,可以通过curl访问指定网页,给出了提示
B.第二种,我想到在原目录下进行扫描,扫到start.sh
然后访问下载下来,发现是一个创建本地进程,但脚本里蕴含的变量在自己电脑是不存在的,所以通过文本打开寻找线索
很遗憾这个线索和上面a方法的线索重合了,本以为可以直接访问,但是到了根目录,访问发现没有找到文件,再考虑是否是目录穿越,../貌似被过滤,但编码绕过依旧无果,再一次考虑tmp在不同环境中的位置,/var/tmp,依旧无效....临门一脚找不到用力点
2.Serpent(web第四题)
进去是一个简单页面,直接找到session,进行jwt解密,发现跟admin身份有关,同时扫根目录拿到www.zip得到通过提示,这里需要使用flask-session进行加解密,网站上的不知道为什么无效,通过软件修改加密后可得到另一源码
@app.route('c0de')
def src0de():
f = open(__file__, 'r')
rsp = f.read() f.close()
return rsp[rsp.index("@app.route('/src0de')"):]
@app.route('ppppppppick1e')
def ppppppppppick1e():
try:
username = "admin"
rsp = make_response("Hello, %s " % username)
rsp.headers['hint'] = "Source in
c0de"
pick1e = request.cookies.get('pick1e')
if pick1e is not None: pick1e = base64.b64decode(pick1e)
else:
return rsp
if check(pick1e):
pick1e = pickle.loads(pick1e)
return "Go for it!!!"
else:
return "No Way!!!"
except:
Exception as e:
error_message = str(e)
return error_message
return rsp
class GWHT():
def __init__(self):
pass
if __name__ == '__main__':
app.run('0.0.0.0', port=80)
不知道是不是要找到flask框架漏洞还是要找哪里。
Pwn篇
1.risky_login
近日来一直学习pwn,想着能做出一题,但打开发现只能看汇编,连源码编译都不行,勉强看这汇编,找不到输入函数点最终无奈放弃。
Cryrto篇
1.Easy_3L
看起来思路比较清晰,放入chatgpt可以生成大部分代码解密,大致应该要进行方向推导,已经给出密文加密的密文,知道p和h,应该是需要算出s3,但gpt说复杂算不出来因为有种子,所以根据代码s生成过程,知道其中四个参数,应该可以用脚本写出s3吧,核心就是要求出s3,在文中承上启下,不知道思路是否这样。
Misc篇
1.ai和nia的交响曲
全篇唯一一个难度标明是简单题,结果一早上和下午过去只有10人做出,一开始想找最简单的拿分,然后又是流量分析题,马上找到了flag2.zip,里面是一个加密的文件,以为只要找到密码就可以拿到flag,但是从上传的upload.php中提取出需要的图片代码,是一个
一开始想到会不会是二维码集合,需要切割然后一个个脚本扫描,但没有发现二维码角标特征,再通过隐写,文件藏取,分离文件,png补齐,盲水印都没有结果,后来想到暴力破解flag2.zip的,暴力很长时间,拉进010一看是伪加密,打开后又是不知道什么东西
到这不会了
2.EZ_misc
一样的图片类型misc,先进行补全说flag不在,同样各种方法尝试没有结果。。。