-
网谷杯
pwn金丝雀-wgb附件 分析看到main中的buf可以绕过canary,而gift是很明显的栈溢出 用read函数去泄露,把canary的值放到bss段,写出来 之后用retlibc去泄露就好,(把canary放在合适的位置上面) 可以看到 ... -
SROP
syscall_leaverootersctf_2019_srop 可以看到这个什么都没有,但是存在pop rax的操作,所以可以用SROP来泄露后门函数 思路用SROP第一次读入执行read函数,第二次向这个read函数读入/bin... -
[湾区杯]odd_canary
附件 思路让函数通过good函数吧name和bss段连接在一起,然后再次进入good函数读取泄露出来的puts地址,之后进入exit函数让bss段数值为char的地址,然后用同样的方式泄露它的地址,最后进入vuln函数去把后门函数布置在bs... -
[HNCTF 2022 WEEK2]ret2csu
题目 分析 可以看到没有system函数,而且只能通过write去泄露,write有三个参数,但是pop指令不够 所以要用csu 整理一下思路 先通过pop那一块操作把我们要的值放入对应的寄存器中,然后再调用mov函数去设置我们需要的寄存器,... -
[NSSRound#14 Basic]rbp
题目 可以看到是栈迁移,而且是只有read输入的类型,考虑lea类型 因为read读入数据之后哈有个puts输出,为了防止发送数据的时机不对,我们控制lea在输出try it之前,以控制程序执行流程 又看到沙盒,在程序中验证 允许所有系统... -
simple_shellcode
题目 MEMORY[0xCAFE0000]: 这部分表示程序正在访问内存地址 0xCAFE0000 处的内容。 (): 在 C/C++ 等编程语言中,圆括号 () 通常表示函数调用。 合起来,这句话的意思就是:将内存地址 0xCAFE... -
[ZJCTF 2019]Login
题目 发现代码有点不容易分析,但是题目中存在直接的后门函数 所以题目应该不难 在check函数中 看到这个函数的参数被执行了 所以我们可以把这个参数直接替换为后门函数的地址(第一个参数存在rdi中) 因为这个函数是在main函数中被调用的 我们去... -
heap_base
堆管理器ptmalloc程序运行时堆提供动态分布的内存,从而允许程序申请大小未知的内存,堆由低地址向高地址方向增长,这和栈是相反的(栈是由高地址向低地址方向生长) 每个系统都有自己的堆管理器,不同平台的堆管理器是不一样的,比如Windows、Linu... -
orw
orw基础orw是open、read和write三个系统调用的缩写。orw 攻击是一种绕过沙箱(Sandbox)或NX保护的技术,其核心思想是:不直接获取shell,而是通过这三个系统调用来读取目标文件(通常是flag文件),然后将其内容打印到标准输... -
libc版本切换
更换libc版本首先要拿到对应的libc.so文件 然后查看版本 1strings libc文件名 |grep ubuntu 然后切换clibc版本 1libc 文件名 libc版本信息 查看libc版本通过got表泄露libc版本 输出一个...