随笔分类 - pwn学习
摘要:pipeline exp from pwn import * context.log_level='debug' #p=process('./pipeline',env={'LD_PRELOAD':'./libc-2.31.so'}) p=process('./pipeline') libc=ELF
阅读全文
摘要:no_output 可以说简单,也可以说难的题目。会用ret2dlresolve就简单,不知道就难。 exp: from pwn import * import time context.log_level = 'debug' #p=remote("39.105.138.97","1234") s=
阅读全文
摘要:babypwn exp from pwn import * from z3 import * context.log_level='debug' p=process(["/root/glibc-all-in-one-master/libs/2.27-3ubuntu1_amd64/ld-2.27.so
阅读全文
摘要:[GKCTF 2021]checkin 1.ida分析 存在栈溢出漏洞,不过只能溢出8字节。 2.checksec 3.解决 找了一个官方wp和一个比较好理解的exp 官方:https://cloud.tencent.com/developer/article/1844887 大佬:https://
阅读全文
摘要:本文全为对其他大佬WP的个人理解 1.查看保护机制 可以看到NX保护是没有开启的,所以主要围绕堆栈执行来布局shellcode。 2.ida分析 通过ida的分析,可以明显的看到有堆溢出的漏洞,并且题目是没有输出的功能,就很符合题目的名字NoLeak。 3.首先申请2个chunck(chunck_0
阅读全文
摘要:1.ida分析 发现只有两种功能,一种是创建堆,另一种是free掉堆。 2.通过checksec查看 在看了其他wp后知道了本题的shellcode是利用堆栈执行代码。 3.在参考的其他wp中,其解决脚本是通过改写free的got表来实现 调试版代码: from pwn import * elf=E
阅读全文
摘要:题目有关知识点 1.printf()函数的格式化漏洞。 2.可以通过修改.fini_array的内容使得main函数一直循环运行。 3.printf()格式化修饰符中,hn为WORD(字),hhn为BYTE(字节),n为DWORD(双字),lln为QWORD(四字)。 题解 1.首先通过printf
阅读全文
摘要:ida分析 首先题目在main函数中有两次read函数,第一次read为读入输出数据的大小(然而自己因为太菜没看出来),第二次read为读入字符,然后输出相应大小的数据。 通过看WP的学习 1.open,write,read,alarm等函数都是系统调用函数,汇编代码为把相应的系统调用号给到eax寄
阅读全文
摘要:namepie 1.canary的数值总以00作为最低两位。 2.pie保护可以通过覆盖返回地址的后几位来实现跳转劫持。 3.返回地址的低位通常在栈顶位置。
阅读全文
摘要:supermarket 解题要点:1.当realloc函数申请的chunck大小比原chunck大小更大的时会先free原chunck,再申请相应的chunck。并且函数返回的是申请的chunck的指针。 2.当申请fastbin时,会优先分配free后的chunck的位置。
阅读全文
摘要:1.pwn1 解题要点:1.puts函数输出数据特点为直到读到'\x00'才停止输出。 2.canary值的接收为8字节。并且最低字节为'\x00'。 2.note-service2 解题要点:1.数组没有边界检查,通过数组越界来改写GOT表的地址为堆的地址来执行堆的代码。 2.fastbin特性:
阅读全文

浙公网安备 33010602011771号