2019 第十届 SWPUCTF writeup(Pwn)
2024-10-21 19:49:57
p1KkHeap
0.环境
1.文件信息
2.文件开启的保护
3.IDA分析
main函数
add
show
edit
delete
delete功能出现了指针悬浮的问题,配合上tcache,可以任意地址申请。
思路
程序禁用了system和execve,但是mmap出了一个R/W/X的区段。
我们可以通过double free 再 fix 的方式来修改tcache的struct,从而leak出libc地址 && 写入shellcode && 将 __malloc_hook改成R/W/X的区段。
login
0.环境
1.文件信息
2.文件开启的保护
3.IDA分析
一个简单的格式化字符串漏洞,在 函数 sub_804854B 里,出现了直接调用printf输出字符串的现象(这个字符串的内容完全由用户控制)
但是这道题的解决思路不是改got表的解析或修改__fini_array。
根据动态调试可以发现,当执行 printf(s1); 时,在栈上存储了很多栈地址,并且他们是构成了单向链条的,因此我们可以利用栈上的栈地址,通过 %n 去修改栈上的栈地址为返回地址,从而跳到 one_gadget 拿到 shell。
参考链接:
官方writeup:https://www.anquanke.com/post/id/194640#h3-13
题目文件:https://github.com/DrsEeker/swpuctf2019
最新文章
- JAVA安装过程中出现的“javac不是内部或外部指令”的解决方法
- ZOJ2314 Reactor Cooling
- 【优先队列】【最近连STL都写不出来了/(ㄒoㄒ)/~~】hdu_5360/多校#6_1008
- java采用Apache FileUpload组件实现上传
- Ubuntu14.04安装有道词典
- C#线程(二)
- 关于Android自定义view 你所需要知道的基本函数
- Python基础——0前言
- IDEA更换主题
- 咏南新BS开发框架
- MySQL 批量添加
- python全栈开发day17-常用模块collections,random,time,os,sys,序列化(json pickle shelve)
- 外部调用mvc的api方法时,如何解决跨域请求问题?
- 用windows自带的fsutil来创建1G稀疏文件(sparse file)
- Problem A&;B: 开宝箱 1/2 (最沙雕的做法)(未用指针做) 改:附上一种指针做法
- dRMT: Disaggregated Programmable Switching
- ACM 第十四天
- ARM实验4—按键轮询实验
- python中的字典内置方法小结
- 异或巧用:Single Number