当前位置:网站首页>虎符CTF 2022 Quest-Crash Writeup
虎符CTF 2022 Quest-Crash Writeup
2022-08-10 22:55:00 【ek1ng】
虎符CTF 2022 Quest-Crash Writeup
加入协会后的第一场CTF,出了一个简单的misc,记录一下
题目给出了一个访问链接,仔细看了看网站的内容,大意是提供了一个有redis的存储的服务,并且给出系统信息和redis的配置,以及相关增删改查功能,然后让你crash这个服务。
getflag处提示redis-server is still running, pid: 7. ,Try harder!
题目给flag的要求是应该把redis服务打挂。
用burpsuite然后intruder发包是不好使的,这点流量估计打不挂redis,要另辟蹊径应该
感觉更有可能是KEYS * 命令查询的时候会导致宕机
抓包分析 请求KEYS*命令的时候是以POST请求发送{“query”:”KEYS “}的形式查询的,用户输入内容跟在后面,这样的话可以构造查询语句
根据原理,redis单线程的keys指令会导致线程阻塞一段时间,线上服务会停顿,直到指令执行完毕,服务才能恢复。尝试了使用intruder增加2w条key,然后再用intruder一直发送KEYS*命令,redis还是很正常。
新思路,可能这个KEYS不会模糊匹配,比如说我要给h?ello这样的数据然后再用KEYS去匹配里面所有这样的数据,正在尝试中
这样会先把web服务打挂,而不是redis先挂,卡住了卡住了
正确思路,KEY查询会导致redis锁,这个时候发起大量GET,然后这些GET要等KEY查询结束后才会进来,这时候可以可以让redis压力突然增大,可能就会寄
设置50线程发送KEY*查询指令
设置100线程发送SET的指令,往redis中添加hxxxxello:hello的键值对
设置50线程发送GET指令查询
KEY指令是单线程的,会导致redis锁,然后不停的发KEY就会导致堵塞,排在队列后面的的SET和GET指令一下子涌入就会把redis击穿
按长度查看GETflag的指令,找到了返回flag的这次请求
HFCTF{f1abf147-e3c1-4cb9-a8cb-14ea1516db05}
边栏推荐
- 二叉树 | 层序遍历 | leecode刷题笔记
- Redis - Use lua script to control the number of wrong passwords and lock the account
- 68: Chapter 6: Develop article services: 1: Content sorting; article table introduction; creating [article] article services;
- MySQL performance schema性能分析实战
- 腾讯云轻量应用服务器配置及建网站教程
- 实例051:按位与
- N1BOOK writeup
- Spark基础【RDD转换算子】
- Kotlin 由浅入深,带你搞懂协程异常处理的那点事
- ArcGIS中的坐标系统和投影变换
猜你喜欢
随机推荐
房间虚拟样板间vr制作及价格
基于深度学习的三维点云分割综述
RecyclerView设置缓存大小
RecyclerView上下滑动时,不调用onBindViewHolder 导致列表的item不刷新
Tencent Cloud Lightweight Application Server Configuration and Website Building Tutorial
HGAME 2022 Final Pokemon v2 writeup
MySQL之JDBC编程增删改查
GoldenGate中使用 exp/imp 进行初始化
MUI框架开发app中出现的问题
RecyclerView滑动监听
金山云CEO王育林离职:正值冲刺港股之际 雷军曾送金砖
【Maui正式版】创建可跨平台的Maui程序,以及有关依赖注入、MVVM双向绑定的实现和演示
一、ICESat-2数据查询,下载,与处理
(PC+WAP)带手机端pbootcms模板铝合金类网站
自学软件测试不知道该如何学起,【软件测试技能图谱|自学测试路线图】
开源一夏 | 盘点那些 Golang 标星超过 20 K 的优质项目
Btree索引和Hash索引
pytorch tear CNN
Splunk中解决数据质量问题常见日期格式化
二叉树 | 层序遍历 | leecode刷题笔记