pwn入门到入土1-堆概述

本篇主要参考了https://xz.aliyun.com/t/10650?page=1 对其中的知识点进行了理解和重新排序,便于对其更好的理解 0x00 堆的数据结构,申请与释放 堆和栈都是一种数据结构,在内存中线性分布储存数据,栈由高地址向低地址伸展,堆由低地址向高地址伸展。堆的位置一般都在bss

pwn入门到放弃7-绕过Canary进行栈溢出攻击

0x00 前言 栈溢出攻击比较常见而且比较简单,所以为了保护程序免于栈溢出攻击,就出现了Canary。 {% note primary %} canary的意思是金丝雀,来源于英国矿井工人用来探查井下气体是否有毒的金丝雀笼子。工人们每次下井都会带上一只金丝雀如果井下的气体有毒,金丝雀由于对毒性敏感就

pwn入门到放弃6-整数溢出漏洞及64位ROP

0x00 前言 这次主要分析整数溢出漏洞,分析样本为bugku题目Easy_int。 什么是

pwn入门到放弃5-绕过地址随机化及LibcSearcher

前面的学习测试中,一般都是关闭了地址随机化来测试以及学习的。但是一般情况下,除了基址,其它的地址一般都是开启了随机化保护的。 0x00 准备工作 0x01 pwngdb&pwndbg peda的插件虽然好用,但是pwn专属的调试插件会更好用。安装教程如下: pwngdb cd ~/ git clon

pwn入门到放弃4-ROP绕过栈可执行保护与GOT表劫持

0x00 前言&准备工作 该篇是基于前一篇的基础之上所做的研究。上一篇中,因为程序没有system所以导致需要我们构造自己的shellcode,但是前提是栈可执行,该篇研究的是在栈不可执行的情况下如何获取shell 准备工作还是上一篇差不多,先关闭操作系统的地址空间随机化(ASLR),这是针对栈溢出

pwn入门到放弃3-没有system之构造自己的shellcode

在挖掘和利用漏洞的时候,会遇见没有没有system函数的时候,无法执行system("/bin/sh"),此时,需要构造自己的shellcode 0x00 准备工作 随手写一个作为测试使用 #include<stdio.h> #include<string.h> int main

pwn入门到放弃2-格式化字符串漏洞

title: pwn入门到放弃2-格式化字符串漏洞 date: 2022-03-03 15:42:01 tags: [Pwn] categories: Pwn基础知识 index_img: https://asteri5m.oss-cn-chengdu.aliyuncs.com/img/image-

2021CDUCTF11月校赛

新生赛,担任出题给新生们出点题玩玩,没想到惨不忍睹,只能可劲放hint,深怕他们们解不出来。 0x00 Reverse 所有我出的题,我尽量给出双解(IDA和OD),不是我出的就不要在我这里看了奥 0x01 Luck IDA 先看mian函数,game函数和flagshow函数 然后看game函数

Pwn环境搭建

前言 在13号有一个校内赛CTF,目前我们战队的情况是比较尴尬的,没有pwn手了,我这一届,底下一届连续两届都没有。只能寄希望于这届新生了。另一方面是Re确实不太好走,技术嘛,还是越走越宽才好。所以,弄一个pwn题的靶场环境是很有必要的。 0x00 靶场环境安装 准备Linux的系统环境,这里我用的