玄渊的个人博客
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于

PWN入门之四:C语言调用栈

PWN入门之四:C语言调用栈 参考文章:PWN入门(1-1-1)-C函数调用过程原理及函数栈帧分析(Intel)C语言函数调用栈(一)C语言函数调用栈(二)Hello算法 0X01 什么是栈栈,是一种特殊的线性结构,其特殊在于其对于数据的操作受限,是一种LIFO(Last In, First out)形式的数据结构,所有数据都是后进者先出。栈的组成包括数据储存区域、栈顶指针、栈底指针。对栈内数据
2025-07-15
PWN
#入门

PWN入门之三:寄存器

PWN入门之三:寄存器 参考文章:https://www.cnblogs.com/xuanyuan/p/13850548.html 0x00 前言本篇文章实际上为PWN入门之四:C语言调用栈的前置,旨在介绍x86架构下的击中常见的寄存器,方便后续理解后续出现的汇编代码。 0x01 什么是寄存器?简单来说,寄存器就是CPU内部的一些小型储存区域,用来暂时存放一些需要计算的数据以及运算出的结果和一些
2025-07-10
PWN
#入门

PWN入门之二:配置PWN环境

PWN入门之二:配置PWN环境 文章参考:CTFWiki 0x00 前言现在的CTF-PWN以Linux下的用户态Pwn为主,更准确的说,是以Ubuntu这个Linux发行版的环境为主。因此,为了方便调试程序,我们需要不同版本的Ubuntu,因为有些漏洞只有再特定版本下才能触发,但是为每一个Ubuntu版本都配置一个拥有Pwn环境的虚拟机确实是不太现实,是安装虚拟机和配置环境非常消耗时间,而且每
2025-07-03
PWN
#入门

PWN入门之一:什么是PWN

PWN入门之一:什么是PWN0x01 什么是PWNPWN,是一个黑客间使用的术语,通常指攻破系统或者设备。对黑客而言,这象征着成功实施黑客攻击的声音——砰的一声,被“黑”的电脑或手机就被操纵了。 在CTF等竞赛中,PWN的任务就是在一个受限的环境中,寻找程序的漏洞来访问服务器上受到访问保护的资源或系统。 PWN的题目通常会给一个C或者C++编写的可执行程序,该程序运行在目标服务器上,通过利用程序中
2025-07-03
PWN
#入门

canary保护机制以及解决方法

canary保护机制以及解决方法学习参考:https://blog.csdn.net/weixin_43713800/article/details/105273284 介绍该词的来源Canary原意为“金丝雀”,来源于英国矿井工人用来探查井下气体是否有毒的金丝雀笼子。工人们每次下井都会带上一只金丝雀。如果井下的气体有毒,金丝雀由于对毒性敏感就会停止鸣叫甚至死亡,从而使工人们得到预警。 安全方面的
2025-02-25
PWN
#学习笔记

格式化字符串漏洞

格式化字符串漏洞基础参考:https://www.yuque.com/cyberangel/rg9gdm/vh62v6#rVrvN 什么是格式化字符串在我们初识C语言的时候,我们经常会使用到printf这之类的函数,printf函数的第一个参数就是一个格式化字符串,就是程序员可以使用占位符,指定格式,这些占位符用来替代后面的变量或者是数据。简单总结就是说,我们可以在一个字符串中,执行某个位置应该输
2025-02-25
PWN
#学习笔记

系统调用

系统调用0x01 基本概念计算机的各种硬件资源是有限的,为了更好的管理这些资源,用户进程是不允许直接操作的,所有对这些资源的访问都必须由操作系统控制。为此操作系统为用户态运行的进程与硬件设备之间进行交互提供了一组接口,这组接口就是所谓的系统调用。 系统调用实质上就是函数调用,只不过调用的是系统函数,处于内核态而已。 用户在调用系统调用时会向内核传递一个系统调用号,然后系统调用处理程序通过此号从系统
2025-02-13
PWN
#学习笔记

基本ROP

基本ROPret2text原理:ret2text 即控制程序执行程序本身已有的的代码(.text)。其实,这种攻击方法是一种笼统的描述。我们控制执行程序已有的代码的时候也可以控制程序执行好几段不相邻的程序已有的代码(也就是 gadgets),这就是我们所要说的ROP。这时,我们需要知道对应返回的代码的位置。当然程序也可能会开启某些保护,我们需要想办法去绕过这些保护。 ret2text(ret to
2025-01-22
PWN
#学习笔记

测试文章

测试文章这是一个测试文章这是一个测试文章这是一个测试文章这是一个测试文章这是一个测试文章这是一个测试文章 这是一个测试文章 这是一个测试文章 这 是一个 测试文章 这 是一个 测试文章 这是一个测试文章 1234567#include <stdio.h>int main(){ puts("这是一个测试文章"); return 0
1970-01-01
test
#test

搜索

Hexo Fluid
总访问量 次 总访客数 人
晋ICP备2025058428号 | police-icon 晋公网安备14011002011318号