pwn
CISCN 2023 东北赛区 pwn
(缓慢更新中 1/4) Novice Challenge
一句话版本:改 strlen 的 got 表
首先从 sub_96B 中泄漏 libc 地址:
Copy
int sub_96B()
{
int v1; // [rsp+Ch] [rbp-264h] BYREF…
[pwn笔记6] heap-zero (phoenix)
heap-zero Copy
/*
* phoenix/heap-zero, by https://exploit.education
*
* Can you hijack flow control, and execute the winner function?
*…
[pwn笔记5]format-three,format-four(phoenix)
这两道似乎没有 x86_64 的解法。 format-three
Copy
/*
* phoenix/format-three, by https://exploit.education
*
* Can you change the "changeme" variable…
[pwn笔记4]format-zero,format-one,format-two(phoenix)
新的章节讲的是利用格式化字符串漏洞的故事。 format-two 全是 x86 的题解,找了半天才在一个评论区里找到如何回避 x86_64 下 \x00 的坑
format-zero
本题源码
Copy
/*
* phoenix/format-zero, by https…
[pwn笔记3]stack-six(phoenix)
听说把这段写进~/.gdbinit 里面会让栈的情况更加真实(在调试的时候) (参考https://n1ght-w0lf.github.io/binary exploitation/stack-six/)
Copy
unset env LINES
unset env COLUMNS…

[pwn笔记2]stack-three, stack-four, stack-five(Phoenix)
最近又是数模又是开学的,很难受,还是看看远方的水入门题吧。没有动态基址,还是比较简单的。 (写这段的时候还没想到接下来还有概率论考试,还打了场 ctf 校赛,所以。。。)
stack-three
覆盖一个即将被调用的函数指针的数据,跟前面差不多。
Copy
from pwn…
[pwn笔记1]stack-one和stack-two (Phoenix)
这两道非常简单,而且只有数据读入方式的区别。跟 zero 一样,只是对覆盖的数据有要求。 stack-one
将程序第一个参数strcpy到字符串。
在 gdb 中 run 后面直接接参数即可带上参数。
pwntools 的 sh.run 可以接收字节数组作为参数…
[pwn笔记0]Phoenix环境搭建和stack-zero
找到一个学习 pwn 的项目http://exploit.education ,决定让我临时抱佛脚学的 pwn 走向正轨,试试开个笔记系列(每次 pwntools 脚本都忘记怎么写),希望不要半路弃坑。定个小目标,至少把 Phoenix 系列做完吧。 环境配置
首先在 more…
ROP返回导向编程
看从零到一第一遍有没懂的地方记录一下 长篇大论:
现代操作系统往往有比较完善的 MPU 机制,可以按照内存页的粒度设置进程的内存使用权限。内存权限分别有可读(R)、可写(W)和可执行(X)。一旦 CPU 执行了没有可执行权限的内存上的代码,操作系统会立即终止程序。
在默认情况下…