自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 栈迁移进阶

诸如以前学的read函数能够读入很多字节的栈迁移就不再叙述,这篇文章来详细的理解有难度的栈迁移:read函数读入极少字节。

2024-05-12 23:51:17 507 3

原创 pwn中沙盒保护之orw绕过

简单来说开启沙盒保护后execve被禁用,也就是说即使我们拿到shell也没有用。我们可以使用seccomp-tools dump指令进行查看。

2024-03-09 11:49:56 1007 7

原创 pwn入门之栈迁移

栈迁移可以用于处理栈溢出的情况。当栈溢出且可溢出长度不足以容纳 payload 时,可以通过栈迁移来构建一个新的栈空间以放下 payload。

2024-03-08 20:20:46 1349 1

原创 pwn中的初级格式化字符串漏洞

onegadget fmt

2024-03-02 11:22:00 1017 3

原创 pwn中的pie保护

1:多gdb调试,去看自己输入的数据在栈中是什么情况。2:pie和canary以及libc的地址源于泄露,可以多动手操作去尝试。3:经过以上几个题目发现自己写题慢以及做不出题目还是只是少,最后一题的代码审计最开始根本看不懂。。。

2024-01-28 22:34:08 1188 1

原创 pwn入门之mprotect函数的利用

所以payload的意思就是先调用mprotect函数通过pop将原本的参数覆盖为我们想要的参数,然后返回到read函数,然后pop弹掉read的参数,把第二个参数改为bss的地址,读入shellcode。通过gadget找到一个含有三个pop一个ret指令的地址,我们要通过这个指令将mprotect函数原来的参数pop走,让我们能够填入我们想要的参数.pop_ebx_esi_ebp_ret=0x80a019b然后就是构造payload了先上代码。这题是64位的所以着重讲一下pay的构造。

2024-01-24 22:14:54 1344 1

原创 pwn入门之canary保护

简单的canary

2024-01-18 20:23:26 743 3

原创 pwn入门之32位ret2libc

为什么第一个payload发送后能够得到puts_addr,上面说到write函数是关键,看下write函数原型write(1,buf,0x32)和read很像,这里涉及到一个格式化漏洞(这个也是pwn学习中的一大知识点,后续文章再讲),像puts,write,printf等类似函数在书写时不规范会导致多输出一些信息,正确写法应该是printf("%5d\n",1000)这种前面加上格式化的,懒的程序员在写代码时会直接printf(1000)导致泄露信息。的地址,这个地址就是libc文件的基址。

2024-01-08 15:23:47 1132 8

原创 pwn入门之ret2text

重点来了:存在gets函数,先让我们了解一下gets函数,它可以无限读入数据,造成栈溢出。观察到s变量距离ebp有0x28的距离,对于这个题来说栈结构为先读入s变量然后下面是ebp然后才是返回地址,那么我们就有思路了,往s变量里面填充垃圾数据直到返回地址把返回地址改为我们需要的flag的位置。第四行:这是我们人为构造的代码数据,根据思路填充垃圾数据0x28个,因为这是32位elf文件所以需要再加上4,p32(flag)即为我们的返回地址。0不用管buf是我们输入数据的地方,0x32是能写入的字节数。

2024-01-07 20:37:53 1242 6

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除