![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
CTF-PWN
文章平均质量分 92
记录PWN方向学习历程
Dao-道法自然
一路寒风身如絮,命海沉浮客独行。
展开
-
PWN 基础篇 Write Up
data 信息第一句定义了一个名为_data的数据段。segment关键字用于声明一个新的段,dword表示每个数据元素的大小为 4 字节,public表示该段可以在其他模块中访问,'DATA'是标识符,用于标识数据段。第二句则是将代码段(.text)的默认段寄存器cs和数据段(.data)的_data段寄存器进行关联。assume关键字用于指定段寄存器与段的关系,在这里它指定了cs寄存器与_data段寄存器的关联。通过这两句指令,我们可以确保在程序运行时,使用cs寄存器来访问_data段。原创 2023-10-02 22:35:36 · 513 阅读 · 1 评论 -
PWN Test_your_nc Write UP
彩蛋题,没啥说的system执行cat命令是在shell环境下的,shell命令是由交互的,会把执行的结果打印在shell里面工作原理是什么?/bin/sh 其实是一个软链接,指向dashsystem()函数先fork一个子进程,在这个子进程中调用/bin/sh -c来执行command指定的命令。/bin/sh在系统中一般是个软链接,指向dash或者bash等常用的shell,-c选项是告诉shell从字符串command中读取要执行的命令(shell将扩展command中的任何特殊字符)。原创 2023-10-02 00:05:33 · 320 阅读 · 0 评论 -
PWN 常用工具-补充
file几乎是使用频率最高的命令,当我们拿到一个未知文件时,首先要做的就是确定其文件类型,获取一些最基本的信息。ELF文件的符号表(Symbol Table)是一种数据结构,用于存储与程序中定义和引用的符号相关的信息。objdump命令用于查看目标文件的信息,具备反汇编能力是其最大的亮点,但其反汇编过于依赖ELF节头,且不会进行控制流分析,导致其健壮性略差。示例:x/100gx 地址 查看100个8字节的数据,4字节g 第二个x表示16进制显示内容。x/8i 地址 显示8个8字节的指令。原创 2024-01-28 23:25:21 · 1093 阅读 · 0 评论 -
x86汇编基础
这一部分更详细的内容可以参考我的专栏:C与汇编。原创 2023-09-27 02:11:56 · 297 阅读 · 0 评论 -
静态链接与动态链接
本篇会重点介绍静态链接,动态链接,延迟绑定机制问:两个或者多个不同的目标文件是如何组成一个可执行文件的呢?答:这就需要进行链接( linking )。链接由链接器( linker )完成,根据发生的时间不同,可分为编译时链接( compile time)、加载时链接( load time )和运行时链接(runtime )。原创 2023-09-27 00:49:01 · 221 阅读 · 0 评论 -
ELF文件结构
实际上,系统并不关心每个节的实际内容,而是关心这些节的权限(读、写、执行),那么通过将不同权限的节分组,即可同时装载多个节,从而节省资源。ELF文件头(ELF header )位于目标文件最开始的位置,包含描述整个文件的一些基本信息,例如ELF文件类型、版本/ABI版本、目标机器、程序人口、段表和节表的位置和长度等。一个目标文件中包含许多节,节的信息保存在节头表( Section header table )中,表的每一项都是一个 Elf64_Shdr结构体(也称为节描述符),原创 2023-09-26 17:35:21 · 140 阅读 · 0 评论 -
PWN基础:从源文件到可执行文件
高级语言编写的程序想在操作系统运行,需要被翻译为机器指令,在按照可执行目标文件格式打包并以二进制形式存储在文件中。原创 2023-09-26 02:01:13 · 273 阅读 · 0 评论 -
PWN环境搭建
工具:Vmware 16 以及 Ubuntu 18或20。原创 2023-09-25 23:51:49 · 351 阅读 · 0 评论