0%

欢迎来到f1ow的博客

这里是一个分享技术文章、生活随笔以及各种有趣内容的个人博客。希望你能在这里找到有用的信息,享受阅读的乐趣。

[TOC] 参考博客 参考博客 基本概念 session:一个服务器可以包含多个会话,可以理解成是一个特定的终端组合,通常将同一任务下的工作放到一个会话中。

[TOC] pwntools 直接pip install pwntools ROPgadget 参考此篇博客 one_gadget sudo apt update sudo apt install ruby gem install one_gadget ida 吾爱破解 gdb pwndbg 参考此篇博客 sudo ./setup.sh

[TOC] 做题步骤 第一步先checksec(checksec至关重要,因为如果partial rello那么很可能会打got,然后no pie这种很可能

[TOC] UAF不仅可以泄露,还能让两个指针指向同一个chunk 题目分析 巅峰极客2022 happy_note libc2.35 add大小要<=0x200,add时无read。然

[TOC] 核心 这个技巧适用于no pie的情况下使用 chunk 0 ptr store in &ptr malloc(0x420) # not in fastbin or tcache malloc(0x420) edit(0, p64(0)+p64(fake_size)+p64(&ptr-0x18)+p64(&ptr-0x10)+p64(0)*k + p64(fake_prev_size)+p64(size)) # fakesize = 0x430-0x10 限制: overflow ,可以修改prev_inuse触发fake chunk unlink

[TOC] 1.unsorted bin attack 被利用的前提是控制 unsorted bin chunk 的 bk 指针或者有show函数。 2.unsorted bin attack的目的一般是为别的attack做准备,比如可以通过main_ar

OGEEK2019_FINAL_OVM 数组溢出 from pwn import * context.log_level='debug' p = process("vmpwn") elf = ELF("vmpwn") libc = elf.libc s = lambda data :p.send(data) sa = lambda text,data :p.sendafter(text, str(data)) sl = lambda data :p.sendline(data) sla = lambda text,data :p.sendlineafter(text, str(data)) r = lambda num=4096 :p.recv(num) ru = lambda text :p.recvuntil(text) uu32 = lambda :u32(p.recvuntil("\xf7")[-4:].ljust(4,"\x00")) uu64 = lambda :u64(p.recvuntil("\x7f")[-6:].ljust(8,"\x00")) lg = lambda name,data :p.success(name + "-> 0x%x" % data) def

参考博客1 参考博客2 有时候可以逆向出结构体 vmpwn难度在于逆向,逆向结束后一般都是会有整数溢出进行任意地址读写或者是个堆题,七分逆向三分猜

例题 SICTF ROUND3 ezcpp 题目分析 题目上来泄露出了pie,也有后门函数,然后是两个功能get和print,核心思路是劫持vtable 细节阐述 对ida反汇编的

[TOC] 参考博客 VNCTF2022一道题 一般httpd程序的执行流程为 在main函数中用pthread或fork来进入HTTP请求处理函数 在HTT