- 博客(8)
- 资源 (1)
- 收藏
- 关注
原创 格式化字符串-retaddr
hijaack retaddr(劫持返回地址)原理很容易理解,我们要利用格式化字符串漏洞来劫持程序的返回地址到我们想要执行的地址。这里以三个白帽pwnme_k0为例:这里有NX和Full RELRO,先介绍一下RELRO:Partial RELRO: gcc -Wl, -z, relro:ELF节重排.got, .dtors,etc. precede the .data and ...
2019-12-18 20:51:37
991
原创 pwn调整栈帧的技巧
调整栈帧的技巧我们在存在栈溢出程序中,经常会碰到一些关于栈的问题,比如开启ASLR导致栈地址不可预测,所能溢出的字节数太少等等。对于这些问题,我们有时候可以通过gadgets来调整栈帧以完成攻击。比如我们所用到的常见手段,包括esp值的加减,利用部分溢出字节来修改ebp的值来进行stack pivoting等。0x00 扩大栈空间正常来说,当栈空间不够用时我们是写入bss段中的,那有什么办...
2019-12-05 18:45:09
1201
转载 pwn 栈溢出入门
简介在计算机安全领域,缓冲区溢出是个古老而经典的话题。众所周知,计算机程序的运行依赖于函数调用栈。栈溢出是指在栈内写入超出长度限制的数据,从而破坏程序运行甚至获得系统控制权的攻击手段。本文将以32位x86架构下的程序为例讲解栈溢出的技术详情。为了实现栈溢出,要满足两个条件。第一,程序要有向栈内写入数据的行为;第二,程序并不限制写入数据的长度。历史上第一例被广泛注意的“莫里斯蠕虫”病毒就是利用C...
2019-12-02 19:23:28
850
1
原创 stack canary绕过思路
canary简介:我们知道,通常栈溢出的利用方式是通过溢出存在于栈上的局部变量,从而让多出来的数据覆盖ebp、eip等,从而达到劫持控制流的目的。然而stack canary这一技术的应用使得这种利用手段变得难以实现。canary的意思是金丝雀,来源于英国矿井工人用来探查井下气体是否有毒的金丝雀笼子。工人们每次下井都会带上一只金丝雀如果井下的气体有毒,金丝雀由于对毒性敏感就会停止鸣叫甚至死亡,...
2019-11-29 20:29:10
2088
转载 ELF文件格式解析
数据类型首先在解析之前, 必须对数据类型格式声明一下名称大小说明Elf32_Addr4无符号程序地址Elf32_Half2无符号中等整数Elf32_Off4无符号文件偏移Elf32_SWord4有符号大整数Elf32_Word4无符号大整数unsigned char1无符号小整数整体结构概述ELF头部(EL...
2019-11-21 21:48:59
503
原创 UNCTF pwn部分writeup
UNCTFpwnbabyrop(栈溢出)解题过程首先覆盖变量,然后开启后门,然后通过后门函数来libc leak,然后再次回到后门函数,再次跳转到libc空间执行system("/bin/sh"),需要注意的是,对ret地址进行了check,所以先跳到ret上,然后通过check再到libc空间。IDA打开程序很简单int __cdecl main(){ char buf; /...
2019-11-16 15:12:49
456
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人