2019-04-22 学习笔记 ropasaurusrex level2 ROP区域较小的情况 改变read的size 256字节 -> 160字节 限制写入size1$ xxd -p ropasaurusrex | sed -e 's/c744240800010000/c7442408a0000000/' | xxd -r -p > ropasaurusrex2 确认123456789$ diff &... 続きを読む…
2019-04-19 学习笔记 Plaid CTF 2013 - pwn200 – ropasaurusrex Plaid CTF 2013 - pwn200 – ropasaurusrex 根据难度可以分成Level 1 ~ 5 Level 1(原始二进制)会详细讲解 后面的难度自行探索 ropasaurusrex攻略(Level 1)查看x86二进制文件文件可以在这里下载: http://shell-storm.org/repo/CTF/PlaidCTF-2013/Pwnable/ropasau... 続きを読む…
2019-04-15 学习笔记 Pwn学习笔记14:stack pivot与Off-by-one ROP的问题点ROP需要一个较大的溢出缓冲区 因为只包含一些细分的小指令,要发送的数据不可避免的增加 如果在srack返回地址下没有较大的溢出,就会很糟糕 如果没有足够的溢出缓冲区该怎么办? stack pivot 溢出量问题绕过 - stack pivot stack pivot 使用ret2plt等将后续ROP加载到bss(适当区域) 通过pop ebp; ret来调整... 続きを読む…
2019-04-12 学习笔记 Pwn学习笔记13:ROP与DROP ASLR绕过 - 方式2在ASLR中,并非所有地址都是随机的 也可以利用.text区域 NX+ASLR绕过2 - ROPROP(Return Oriented Programming) 狭义:想要执行的代码细分后在.text区域搜索合并 RX权限,即能够执行的只有.text区域,因此想办法使用.text区域 广义:除了狭义的ROP之外,也包括ret2plt/ret2libc之类的... 続きを読む…
2019-04-12 学习笔记 Pwn学习笔记12:ASLR与memory leak ret2libc对策 – ASLRASLR(Address Space Layout Randomization) 主要是地址随机化 现代Linux内核中默认开启 ret2libc成功的原因是,libc之类的读取地址是固定的 因此如果每次运行时,libc之类的地址随机,是一个比较好的方式 miao# echo 2 > /proc/sys/kernel/randomize_va_... 続きを読む…
2019-04-09 学习笔记 Pwn学习笔记11:ret2libc ret2plt链的问题点 如果想要使用的函数不在PLT中,则无法构成链 ret2libc img 绕过NX2 - ret2libc想要使用的函数不在PLT时,应该怎么办? 源代码... 続きを読む…
2019-04-09 MacOS下编译使用php_mt_seed 下载源码包https://www.openwall.com/php_mt_seed/php_mt_seed-4.0.tar.gz 编译直接编译会报错,缺少openmp 可以去掉这... 続きを読む…
2019-04-03 学习笔记 Pwn学习笔记10:PLT,GOT与ret2plt PLT与GOTPLT(Procedure Linkage Table)与GOT(Global Offset Table) ELF文件调用库函数时,存在PLT入口和GOT入口 注意,静态链接库没有这些 是一种在libc.so等动态查找外部函数地址的机制 PLT解析外部地址,之后保存(缓存)在GOT中 如果有PLT入口,就可以在不知道函数实际地址的情况下去调用它 PLT作为代理跳... 続きを読む…
2019-04-02 学习笔记 Pwn学习笔记9:栈溢出及NX 漏洞类型及攻略方法全写出来不太可能,图示大概这样: Stack以x86环境为例 每个进程在内存区域底部都有一个stack ... 続きを読む…
2019-04-01 学习笔记 Pwn学习笔记:总结01 总结 这一次,主要解决与堆密切相关的漏洞 还有很多其他类型的漏洞 例如栈溢出,很有名并且很容易找到 条件竞争,整数溢出这类稍微有点难找 简单介绍一下其他漏洞 其他类型的漏洞栈缓冲区溢出 当输入数据超出栈上分配的内存末尾时,会产生这种溢出 可以通过重写返回地址来控制后续操作 如果启用了canary保护,那么会检测到stack被更改 特别情况,仅能超出一个元素,被称为Off-By-One ... 続きを読む…