SearchMaster
题目提示OVO BUT YOU CAN POST ME A DATA && 你可以用post发送data
还是蒙蒙的对他进行目录扫描一下
发现有个composer.json文件,打开得到
smarty模板: 可以使得"php代码"与"html代码"分离的技术。查了一下smarty模板是存在rec漏洞的
由此制造payload查看flag data:{if system("cat fl*")}{/if}
flag=NSSCTF{b4c626f4-a59c-4471-af70-8097a0cd9d41}
Flag点击就送!
在cookie中发现session
session:由于http协议是一个无状态的协议,也就是说同一个用户第一次请求和第二次请求是完全没有关系的,但是现在的网站基本上有登录使用的功能,这就要求必须实现有状态,而session机制实现的就是这个功能。用户第一次请求后,将产生的状态信息保存在session中,这时可以把session当做一个容器,它保存了正在使用的所有用户的状态信息;这段状态信息分配了一个唯一的标识符用来标识用户的身份,将其保存在响应对象的cookie中;当第二次请求时,解析cookie中的标识符,拿到标识符后去session找到对应的用户的信息。
session的值看着是base64编码,拿去解码一下
题目提示只有管理员才能拿到flag所以把name改为admin然后在对session进行加密
伪造需要key,猜测为”LitCTF”
session加密工具:https://github.com/noraj/flask-session-cookie-manager
此时再访问
/flag
,将当前页面cookie改为伪造的值,刷新页面即可看到flag
flag=NSSCTF{074add69-678b-42d0-950f-ef44e485a610}