NSSCTF-web-2小白进阶篇(详解)

文章讲述了在SearchMaster挑战中,作者利用Smarty模板的rec漏洞创建payload,获取flag。后续通过理解HTTP协议和session机制,解码并加密session,最终获取管理员权限的flag。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


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}

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值