0%

欢迎来到f1ow的博客

这里是一个分享技术文章、生活随笔以及各种有趣内容的个人博客。希望你能在这里找到有用的信息,享受阅读的乐趣。

[TOC] 参考博客 其实没什么特别的,现在主流的打法就是puts函数会调用libc中got.plt的strlen函数,而strlen的got表可以被我

linux基础 Linux基础 网络问题:换源 网站链接 man(man 指令) /tldr(与man基本类似,只不过显示的东西更加简洁) Linux 系统目录结构 | 菜鸟教程 (runoob.com)

[TOC] 主要参考了此篇 博客 核心思路 其实llvm pass最主要的是pwn opt这个文件,同时其一般都是no pie,Partial RELRO,因此通常可以通过覆写got表

参考博客1 参考博客2 基础知识 前端后端都不用管,关注llvm IR这个东西 llvm IR的头部是一些Target Information target layout clang 与 llvm 常见指令 .ll 格式:人类可以阅读

libc2.36 此时的rax正好指向FAKE_IO头部 .text:0000000000160E56 mov rdx, [rax+38h] .text:0000000000160E5A mov rdi, rax .text:0000000000160E5D call qword ptr [rdx+20h] 也就是svcudp_reply+0x1a .text:00000000001630AA mov rbp, [rdi+48h] .text:00000000001630AE mov rax, [rbp+18h] .text:00000000001630B2 lea r13, [rbp+10h] .text:00000000001630B6 mov dword ptr [rbp+10h],

经典例题讲解 wiki内容 运行mips文件以及调试 安装mipsrop插件 shellcode base mips没有NX功能,所以栈是可以执行的,所以基本上都是打shel

这里以XYCTF2024 EZ1.0? 为例题 题目分析 int vuln() { char v1[64]; // [sp+18h] [+18h] BYREF read(0, v1, 256); return 0; } 无法泄露栈地址,因此要找适当的gadget来把sp的值给某个寄存器,然

[TOC] 不能使用tcache -> 通过large_bin attack修改mp_.tcache_bins -> free相应chunk -> 修改tcache的相应

mprotect可以修改一个区域的权限 void mprotect(void *address, size_t length, int prot); address: 这是要操作的内存区域的起始地址。通常是一个 void 指针,可以指向任何类型的数据。 length: 这是要操作