菜狗子pwn
文章平均质量分 62
长街395
这个作者很懒,什么都没留下…
展开
-
[OGeek2019]babyrop
重复调用sub_80487D0(),栈溢出,使程序在返回时调用system(‘/bin/sh’),成功getshell。原创 2022-07-23 21:19:57 · 247 阅读 · 0 评论 -
bjdctf_2020_babystack
虽然只是一道基础的栈溢出题目,我其实很激动,因为其他的博客里我多多少少是参照了其他大佬的思维,这道题,也算证明了菜狗子的训练是有效的,起码碰到类似的题目也可以尝试做了。嘻嘻,加油吧。......原创 2022-07-23 00:09:29 · 262 阅读 · 0 评论 -
jarvisoj_level2
要先看函数结构,在去看栈结构,system和/bin/sh的位置很重要。原创 2022-07-22 23:15:38 · 463 阅读 · 2 评论 -
ciscn_2019_n_8
感觉主函数中给的线索比较清晰,系统调用函数就在主函数中,看带代码是当var[13]==17LL时候执行system函数。32位,开启了Canary保护。所以我们可以把17填充进去。原创 2022-07-22 21:39:54 · 351 阅读 · 0 评论 -
ciscn_2019_c_1
ret2libc来泄露libc基址原创 2022-07-21 23:12:55 · 1462 阅读 · 0 评论 -
[第五空间2019 决赛]PWN5
格式化字符串漏洞原创 2022-07-21 21:14:02 · 1528 阅读 · 0 评论 -
jarvisoj_level0
在Functionswindow可以看到有一个callsystem()函数,按F5反汇编可以看到这是一个系统调用,且callsystem()函数的起始地址为0x400596。双击vulnerable_function()函数可以看到buf的长度只有0x80,即可用栈大小只有108字节,但是read()并没有限制输入,显然存在栈溢出漏洞。buf需覆盖0x80个字节覆盖,再加上rbp的0x8个字节,最后加上callsystem()函数的起始地址0x400596构成payload。信息就了解他是64位即可。...原创 2022-07-21 19:41:04 · 573 阅读 · 0 评论 -
pwn1_sctf_2016
这道题目的情况是多了个替换字符的函数,使得一个I在存储中变为you,一个字节变为三字节,这时候需要根据情况确定多少字符使得栈溢出。还是照常的流程,但题目已经开始变化了,我现在还是一知半解迷迷糊糊的状态,害,菜狗子还需努力。......原创 2022-07-21 11:50:59 · 1670 阅读 · 2 评论 -
ciscn_2019_n_1
还是一道栈溢出的题,我们在那个可疑的函数里发现有两个变量,v1,v2,其中只有v1可以通过gets()函数输入,但我们的判断的条件是v2=??一个数,我们如和更改v2值呢,答案是通过v1的溢出来改变v2里的值。.........原创 2022-07-20 23:07:22 · 369 阅读 · 0 评论 -
warmup_csaw_2016
做了几道入门的题,从原来的柔弱蚂蚁到现在稍稍强壮的蚂蚁,我决定实施菜狗子计划,让蚂蚁继续进化。题目中的思路很清晰,对于栈溢出,我们先判断是否有栈溢出的漏洞,之后去找系统调用的函数,然后查到他的地址,最后就是我们的代码构建了。偏移量的计算=(数组本身大小+对应位的偏移64位是ox8)然后加上我们系统调用函数的地址。...原创 2022-07-20 22:21:09 · 1331 阅读 · 0 评论 -
BUUCTF -rip
用IDAPro64bit打开pwn1后按F5反汇编源码并查看主函数,发现gets()函数读取输入到变量s中,s的长度只有0xf,即可用栈大小只有15字节,但是gets()函数并没有限制输入,显然存在栈溢出漏洞。先file./pwn1查看文件类型再checksec--file=pwn1检查一下文件保护情况。且fun()函数的起始地址为0x401186。得到信息64位,各项保护都未开启。......原创 2022-07-20 21:58:40 · 385 阅读 · 0 评论 -
ret2text
第二步还是用反汇编,获取到system函数的地址。由于要完整调用,所以取lea指令的位置0x00000000004007b8,也就是0x4007b8。第一步利用反汇编,查看变量的位置,为[rbp-0x70]。从IDA中可以看出,pwn程序只有这两个用户函数,其他的都是库函数。让返回地址,也就是EIP指向system(‘/bin/sh’)所在语句对应的内存地址就能获得shell。局部变量s是用户可以通过gets()输入的,只要达到特定的长度L,就能覆盖掉黄色的返回地址。......原创 2022-07-20 16:23:15 · 455 阅读 · 0 评论 -
ret2shellcode
基本流程是先查看文件信息,然后ida反编译,再去寻找自己所要的变量,最后构建代码。原创 2022-07-20 17:56:27 · 463 阅读 · 1 评论