avatar
文章
44
标签
13
分类
1
Home
HaoIne
Home

HaoIne

Fuxiang's Instruction
发表于2025-04-07|notes
先安装arch-linux-xdg-menus 123$ sudo pacman -S archlinux-xdg-menu$ sudo ln /etc/xdg/menus/arch-applications.menu /etc/xdg/menus/applications.menu $ XDG_MENU_PREFIX=kbuildsycoca6 --noincremental # 好像没有用 这样大概就解决了在dolphin中无法选择使用什么应用打开的问题了,但是还有一个问题,那就是kitty默认终端的设置:参考网站:Arch wiki 1$ nvim ~/.config/kdeglobals 在~/.config/kdeglobals中添加如下行 text12[General]TerminalApplication=kitty
Compile
发表于2025-04-06|notes
编译是将源代码变成可执行程序的过程,这个过程可以分为以下步骤: 预处理 编译 汇编 链接 下面以gcc为例解释每个阶段 预处理阶段 预处理阶段主要是处理源代码中以’#’开始的预处理指令,将其转换后直接插入程序文本中,得到另一个C源码,通常以”.i”作为文件扩展名。 例如此时有一个文件 hello.c: 12345#include <stdio.h>int main(void) { printf("hello world"); return 0;} 预处理命令: 1gcc -E hello.c -o hello.i 简单来说预处理阶段的一些处理规则如下: 递归处理 #include 命令,将对应文件的内容复制到该指令所在的位置 删除所有的 #define 命令,并替换为对应的宏 处理所有的条件预处理指令,比如” #if, #ifdef, #endif...
Linking
发表于2025-04-06|notes
什么是链接呢?链接就是把多个目标文件、库文件组合成一个可执行文件(或共享库、静态库)的过程。链接分为两类: 静态链接:直接把库代码复制进可执行文件 动态链接:程序运行的时候加载共享库 链接时主要解决的问题: 符号解析 (Symbol Resolution) 地址和段重定位 (Relocation)
config the IA-32 utils for arch
发表于2025-04-03|notes
在 Arch Linux 上运行和调试 32 位程序需要安装 32 位兼容库和必要的工具链。由于 Arch Linux 默认不启用 multilib (32位兼容支持), 你需要手动配置。 启用 multilib 仓库 修改 /etc/pacman.conf 1$ sudo vim /etc/pacman.conf 找到下面这一行,并取消注释 12[multilib]Include = /etc/pacman.d/mirrorlist 然后再更新软件包数据库: 1$ sudo pacman -Sy 安装32位运行环境 安装32位基础库 1$ sudo pacman -S lib32-glibc lib32-gcc-libs 安装32位调试工具 1$ sudo pacman -S gdb-multilib
Sequence
发表于2025-03-31|notes
I’m learning the CS_61A course since January 2024, but there was a long time I suspended the learning of this course to learn some other subjects like Algorithm and Data Structure, and pwn in CTF. And now it’s time to continue the learning. Sequences are a list of Data in a specific order such as queues, arrays and linked lists. ListWe should know that Python does not have a built-in array type (like C arrays) that’s available without importing a module. But there is a list type in...
What_is_ELF
发表于2025-03-31|notes
I always see ELF in some passages. And now it’s time to deeply see what it is. ELF actually is Executable and Linkable Format. Yes, it’s a format for file (specifically for binary file such as Executable Program, Object Code and Shared Library Files) ELF 文件的类型 可重定位文件 (Relocatable File): 由源文件编译而成尚未链接的目标文件,通常以 .o 作为扩展名。用于与其它目标文件进行链接以构成可执行文件或动态链接库。 可执行文件 (Executable File): 经过链接的、可执行的目标文件,就是我们通常在 Linux 中执行的程序。 共享目标文件 (Shared Object File),...
ret2shellcode.md
发表于2025-03-29|notes
After learning ret2text, here comes the ret2shellcode.ret2text的前提是程序中包含了系统调用shell的代码,只要直接覆盖返回地址到敏感代码就可以直接getshell了,但是实际上基本没有什么程序会包含这样的敏感代码,而这时候就需要自己去构造敏感代码了。 前提 程序中存在栈溢出漏洞,没有开启canary保护,并且溢出大小合适,能够让我们注入shellcode并覆盖返回地址。 由于我们要向程序中注入shellcode并且执行,所以要求程序中包含可读可写可执行的片段,比如没有开启NX (No eXecutable)保护的栈帧片段。 Implementation (只介绍在栈帧中注入shellcode的情况)准备shellcode最简单的shellcode就是execve('/bin/sh', NULL,...
ret2text.md
发表于2025-03-29|notes
参考网站:CTF Wiki ret2text 是最简单的利用栈溢出漏洞来getshell的方法,这种方法就是利用程序中已经有的敏感命令比如system('/bin/sh')来getshell 前提 程序存在栈溢出,并且溢出大小合适,能够覆盖函数返回地址。 程序中存在敏感命令的调用,我们能够获取其地址。 程序没有开启canary保护,栈溢出可以被利用。 Implementation 找到敏感命令system('/bin/sh')的地址 计算esp到返回地址的偏移量,构造payload覆盖返回地址为敏感命令的地址 运行程序,getshell Template1234567from pwn import *context.binary = elf = ELF('./vuln')context.log_level = 'debug'p = remote('ip', port)payload = <padding> + <loc of vulnerable...
Stack_Buffer_Overflow
发表于2025-03-26|notes
我们平时说的栈溢出一般是指栈缓冲区溢出 (Stack Buffer Overflow)。 栈溢出的条件 程序必须向栈上写入数据。 写入的数据大小没有被很好地控制。 利用栈溢出的攻击方式直接现用 getshell若漏洞程序调用了现成的含有 systemcall 的函数,直接利用栈溢出覆盖函数返回地址为 systemcall 函数的地址 ROPROP(Return Oriented Programming)...
call_stack
发表于2025-03-24|notes
IA-32 (Intel 32位) 寄存器Note: 32 位说明栈中指针偏移量以 32位(4字节)为一个基元。 EAX ~ EDX: 通用寄存器 (general purpose registers), 通用寄存器是通用的,但是有一部分指令对寄存器有特殊要求,这时它们分别有如下用途: EAX: 累加器 (“A” means Accumulator) EBX: 数据基地址暂存器 (“B” means Base) ECX: 循环计数器 (“C” means Counter) EDX: 操作数或操作结果暂存器 (“D” means Data) 为了方便存储较短的数据,通用寄存器都可以只使用低16位 ESI 和 EDI: 这两个寄存器优势也被包括在通用寄存器内,但是不能拆分,一般用作字符串操作的源指针和目的指针。 ESP 和 EBP: ESP 存储的是栈顶地址,即栈指针 (Stack Pointer),而 EBP 存储的是位于栈顶的栈帧的栈底地址,即基指针 (Base Pointer) 控制权移交 控制权是指 CPU...
1…345
avatar
HaoIne
文章
44
标签
13
分类
1
Follow Me
公告
Welcome!
最新文章
reverse-engineering2025-10-10
talking-web2025-10-07
data2025-10-04
Bandit2025-09-28
GDB2025-09-28
分类
  • notes42
标签
maths wp miscs notes full-stack assembly csbu pwn study Arch pwn-Stack-Overflow pwn-dependencies utils
归档
  • 十月 2025 3
  • 九月 2025 13
  • 八月 2025 1
  • 七月 2025 1
  • 六月 2025 6
  • 五月 2025 3
  • 四月 2025 7
  • 三月 2025 10
网站信息
文章数目 :
44
本站访客数 :
本站总浏览量 :
最后更新时间 :
©2019 - 2025 By HaoIne
框架 Hexo 7.3.0|主题 Butterfly 5.3.5