自定义博客皮肤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)
  • 收藏
  • 关注

原创 堆利用

这里给哪些初学者学堆的一些简单的讲解,什么是堆?在程序运行过程中,堆可以提供动态分配的内存,允许程序申请大小未知的内存。堆其实就是程序虚拟地址空间的一块连续的线性区域,它由低地址向高地址方向增长。我们一般称管理堆的那部分程序为堆管理器。堆管理器处于用户程序与内核中间,主要做以下工作响应用户的申请内存请求,向操作系统申请内存,然后将其返回给用户程序。同时,为了保持内存管理的高效性,内核一般都...

2020-03-26 21:56:20 526

原创 pwn入门(1)

知识点主要是:缓冲区溢出缓冲区溢出的利用方式return to dl resolve 堆溢出off by one 格式化字符串漏洞需要用到的程序是gdb、gdb-peda、gcc、python、pwntools、socat、rp++、readelf缓冲区溢出简介:(栈)ps:这个图方便大家理解栈的结构可以看出这个函数的有一个参数和两个局部变量,因为局部变量和参数会放在函数的栈帧上而且这个栈...

2020-02-09 17:01:07 432

原创 bugku pwn4(栈溢出)

查看保护机制,没有任何保护拉入ida看一下read函数是一个危险函数,造成栈溢出查看一下没有binsh字符串,但在ida里面看到哪个$0(这个在linux是shell脚本的名称)system()调用frok()产生子进程,由子进程来调用/bin/sh - c string来执行参数string字符串所代表的命令,系统调用注一下:ps 是显示当前进程ps a 显示目前所有程序,包...

2019-12-11 22:02:47 400

原创 bugku pwn5(栈溢出)

查看保护机制:这个开了nx保护,堆栈不可以执行拉到ida看一下:这道题没有binsh和system两个后门,所以这个需要libc地址,在main函数看到了libc_start_main函数,这里需要得到libc_base地址,通过真实地址-偏移地址这里得到是真实地址, 0x7ffff7a2d830-240=‘0x7ffff7a2d740’通过真实地址后面三位不变可以去得到偏移地...

2019-12-11 21:51:19 908 3

原创 无安全机制 32位

源码编译 :gcc -m32 -no-pie -fno-stack-protector -z execstack -o no no.c要看ubuntu中是否是32位还是64位,一开始查看安全机制可以加一条命令可以关闭系统的地址随机化先查看是否在系统中ASLR是否打开 cat /proc/sys/kernel/randomize_va_space如果是2,则开启需要关闭 s...

2019-08-14 10:41:24 122

原创 入门栈溢出(1)

1,shellcode (修改返回地址,让其指向溢出数据中的一段指令)其实就是用攻击指令的起始地址覆盖返回地址,就可以得到shellpayload:padding1+ address of shellcode +paddiing2 + shellcodepadding1:可以任意填充(不要输入 “\x00",否则程序传入溢出数据会造成截断)长度刚好可以覆盖函数的基地址 ...

2019-08-14 10:33:10 197

原创 oj 中level3 (普通栈溢出32位)

查看文件信息,安全机制代码审计分析漏洞点编写EXP一道题出来,先看一下保护机制,由于你道题是nx是保护的,拉进入ida看一下,明显这道题是栈的溢出这道题们没有system 函数,和binsh 其实这道题没有这些,我们可以在泄露函数got表函数的真正加载地址,通过偏移找出函数的库,从而通过找其他函数的真正加载地址,找到system 函数和 binsh字符串·,开了nx保护所...

2019-07-14 09:56:49 278

原创 oj level2_x64 简单栈溢出(64)

一开始就看一下这道题的保护机制和位数由于NX是保护的,所以栈上的数据没有执行权限防止攻击手段:栈溢出 + 跳到栈上执行shellcode 因为这道题是64位的,不是32位,32位和64位的主要区别在于函数参数传递的方式,32位程序函数的参数是压在栈中的,而64位程序的前6个参数是存在寄存器中的,第7个开始才压入栈中。就是前6个是从左到右,多于6个的时候时,就是从右到左压入堆栈,64位主要...

2019-07-12 20:04:57 242

原创 pwn guess 中利用fork

checksec 查看保护机制 guess只有一个保护,发现程序自己把读取flag到了栈中,所以思路就是:1.通过覆盖argv[0]先泄露puts的地址2.通过泄漏的puts的地址,计算出基地址然后泄漏出environ的地址(也就是栈的地址),为什么泄漏environ:https://www.jianshu.com/p/cc9d09a3f65f 有详细的解释什么是environ?...

2019-07-11 23:10:13 501

空空如也

空空如也

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

TA关注的人

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