pwn
文章平均质量分 76
是脆脆啊
菜就菜了怎么滴
展开
-
pwn入门小技巧
目前我所遇到的一些pwn的做题技巧我也是偶尔玩玩ctf,所以也不会很难的,所以这篇主要是帮助刚开始学习的人学习吧首先知识点包括:栈,堆,整数溢出,格式化字符串目前ctf的题越来越偏向于实际,有的会使用刚刚爆出来的CVE漏洞的,所以不能只局限于glibc所以可以大体分为两类把:libc,kernel栈利用:有ret2libc,ret2shellcode,ret2text,ropchain,ret2syscall,brop,srop等等,当然有时候还会有seccomp的只能使用ORW系统调用堆利用:原创 2022-05-24 11:42:01 · 2933 阅读 · 0 评论 -
buuctf ACTF_2019_message(tcache bin dup / fastbin dup)
有些图片显示不出来,我懒的在复制粘贴了,可以直接去我笔记里面看网上的这道题的,大部分的exp都是写的16.04,使用的fastbin double free,但是在buuctf上根本打不通,因为人家都要求了是18.04,,所以这里写了两个版本(均可以打通)buuctf ACTF_2019_message安全检查:FULL RELRO(got表不可写),GS,NX都开了菜单题(堆的)增加函数:判断当前堆指针是否为空,为空就创建删除函数:一是没有判断该地方是否有值,而是没有将堆指针置空,可能出原创 2022-04-19 14:36:07 · 814 阅读 · 0 评论 -
ret2libc-泄露和不需要泄露
ciscn_2019_c_1 —需要泄露got题目可在buuctf下载安全检查,发现只开了NX保护(DEP)执行程序会发现,程序第二次原模原样输出了((这种菜单题,我还以为是堆))IDA查看反汇编代码加密函数其中x在bss段定义,一直在增加,所以会导致上面的第二次执行的时候长度>s,从而不执行加密那块,这可以用来泄露地址也就是后面会变的只有比上一次输入长的部分操作如下图由于get可以一直输入,达到一定长度报段错误,这应该是说明覆盖到返回地址了,所以猜想应该是只要覆盖了返回地原创 2022-04-18 15:28:28 · 273 阅读 · 0 评论 -
linkctf_2018.7_babypie
linkctf_2018.7_babypie检查安全保护,64位,保护全开IDA:并且存在后门,,但是地址都随机化了,不能够直接填写地址,需要通过与固定函数的偏移可以看到把rbp泄露出来了,同时前面一个地址,不知道是不是canary(按理说会放在ebp-8的位置,也就是前面这个,但是canary一般是以00结尾的,这个没有00的原因是,不能写入那么多字节,由于’\x00’被覆盖掉了,如果不覆盖掉的话就会截断,后面的就不会打印出来了)现在要做的就是要把canary如何打印出来,或者是绕过,或者是劫持_原创 2022-04-18 15:16:14 · 854 阅读 · 0 评论 -
(unlink) HITCON CTF 2016 : Sleepy Holder
今天仍然是复习unlink的原理和利用过程这个跟Secret Holder类似的,只不过huge secret一旦创建就无法删除了和修改了(我之前写payload时候忘记了,还delete(3)。。。)安全检查之后拖到IDA里面:菜单题free功能好像没什么毛病修改功能好像也没什么问题(难道问题在分配里面)看到分配功能,也就是三个秘密分配,也没有什么分配函数读取越界溢出,或者off-by-null漏洞然后大致只得到了,分配通过flag的位置是否为1,来判断的并且其相对的布局分别是0x602原创 2022-01-20 16:21:36 · 353 阅读 · 0 评论 -
unlink zctf 2016 note3
这个跟note2很相似,仍然是一个unlink问题,,,不同的是没法打印泄露了详情请参考,note2查看检查在IDA里面看,发现其有增加,修改,删除,打印的功能其中增加的功能:发现0x6020c0地方存放的是当前堆ptr,0x6020c0[i+8]存放的是其大小也就是其布局是这样的:cur_ptr | ptr0 | ptr1 | … | ptr6 | cur_size | size_ptr0 | size_ptr…| size_ptr6在输入size有个函数sub4009b9()中的sub原创 2022-01-19 16:14:09 · 2435 阅读 · 0 评论 -
unlink 2016 zctf note2
题目可在buuctf下载这章还是unlink的复习拖到IDA里面可以看到,开头让输入名字,地址(其实没卵用)然后看下面的菜单分别是新增,打印,编辑,释放在新增功能中size是无符号数,所以当size为0的时候,0-1之后为无穷大的数,也就是能向堆中写入无穷大的数0xffff…,根据glibc规定会分配0X20个字节,但是读取的时候不受限制,会产生堆溢出并且最多四个堆块同时我们可以看出ptr是存放content的地址(0x602120),id存放在0x602160,size存放在0x602140原创 2022-01-18 11:17:58 · 175 阅读 · 0 评论 -
unlink 2014 HITCON stkof
题目可以从buuctf下载参考链接有两篇:一篇使我们的靶场里面的内网服务器的文章链接就不贴了:他所使用的原理是通过atoi函数来达到获取shell的,另外一篇通过free-》system https://blog.csdn.net/Pwnpanda/article/details/81369367首先拿到题目,随便输入发现没有任何提示,,,,在IDA里面仔细看了看,大概看出来1.用来分配2用来写入内容3.用来free4.好像没什么用而且发现在输入的时候是没有验证大小的,可以随便输入所以就可以原创 2022-01-17 11:20:41 · 2574 阅读 · 0 评论 -
堆中的off-by-one :ASIS CTF 2016:b00ks
ASIS CTF 2016:b00ks最近在练习pwn题,主要看的是ctf竞赛权威指南这本书,感觉这个题太巧妙了,记录一下首先拿到文件第一步查看检查:然后拿到IDA里面看:在sub_b6d()函数中使用了一个自己写的read函数(这个函数存在一个off-by-one漏洞)并且可以看到这里name存在off_202018分析知道0ff_202010存的是book结构体二者相差20个偏移打印就是规中规矩的了,然后看修改作者姓名的,发现仍然是sub_b6d函数,但是在修改的时候就只能溢出一原创 2022-01-12 16:11:58 · 2471 阅读 · 0 评论