我可是会飞的啊 主要方向:re,pwn

每日一练2:[HTB]Dream Diary: Chapter 2

前言 该题目在1的基础上,内存布局申请变得更加混乱,原本的off by one变成了off by null,克服这些挑战拿到shell 每日一题计划:督促自己练习,每日分享一题的练习!想一起刷题咱们可以一起练练练,以及,相互监督! 今天是第2天,希望能坚持下去 题目情况 Hint: Xenial X

selph Published on 2024-10-25

每日一练1:[HTB]Dream Diary: Chapter 1

前言 每日一题计划:督促自己练习,每日分享一题的练习!想一起刷题咱们可以一起练练练,以及,相互监督! 今天是第1天,希望能坚持下去 题目情况 Hint: Xenial Xerus 这是ubuntu16.04lts的代号,意味着适用2.23的libc Arch: amd64-64-

selph Published on 2024-10-24

[Pico CTF] pwn-homework writeup:一次有趣虚拟化分析之旅

原文出处:先知社区(若*风):《PicoCTF homework wp:一次有趣代码虚拟化分析之旅》:https://xz.aliyun.com/t/15354?time__1311=GqjxnD2DyGGQitD%2FD0eH%3Di%3DBgciDuGOoD 前言 时隔多日的又一次虚拟化代码分析

selph Published on 2024-09-05

栈溢出练习:ROP Emporium

1 前言 我第一次做这套练习是在初学pwn的时候,隐约记得当时做了一半放弃是卡在了fluff上,当时很复杂,没耐心搞懂bextr和xlat指令就放弃了,现在回过头来,补全当初 这套练习非常适合新手用于栈溢出的学习练习和查缺补漏,关于栈溢出的8个情况,从最基础的覆盖返回地址,到rop,到利用一些机制完

selph Published on 2024-08-09

[HTB] pwn - Restaurant

经典的栈溢出基础题 analysis: checksec:没有Canary和PIE pwn_restaurant ➤ checksec restaurant

selph Published on 2024-05-24

[HTB] pwn - Bad grades

简单的题也有很多小细节上的知识收获 analysis: checksec:无PIE,其他全开 Bad grades ➤ checksec bad_grades [*] '/mnt/c/Users/selph/Downloads/HTB/pwn/Bad grades/bad_grades' A

selph Published on 2024-05-23

[HTB] pwn - Execute

analysis: shellcode题: .text:00000000000012ED ; int __fastcall main(int argc, const char **argv, const char **envp) .text:00000000000012ED

selph Published on 2024-05-18

osu!gaming CTF 2024 (2 pwn)

前言 比赛总共4个pwn,做了2个,剩下1个没看,1个没懂 pwn - betterthanu 题目分析 给出了源码: #include <stdio.h> #include <string.h> #include <stdlib.h> #include <stdint.h> FILE *flag

selph Published on 2024-03-05

[libc 2.35 源码学习] IO_FILE 篇 - 任意地址读&写

简介 对IO_FILE的一种利用方法是,不修改虚表,修改IO_FILE结构中的数据指针,可以实现任意地址读和任意地址写 IO_FILE 结构 pwndbg> dt FILE FILE +0x0000 _flags : int +0x0008 _IO_rea

selph Published on 2024-03-04

[libc 2.35 源码学习] IO_FILE 篇 - vtable & IO_validate_vtable

源码分析 IO_validate_vtable 位于:libio/libioP.h /* Perform vtable pointer validation. If validation fails, terminate the process. */ // 确保vtable指针合法,不然

selph Published on 2024-03-03

[libc 2.35 源码学习] IO_FILE 篇 - 相关结构体

简介&前言 FILE 在 Linux 系统的标准 IO 库中是用于描述文件的结构,称为文件流。 FILE 结构在程序执行 fopen 等函数时会进行创建,并分配在堆中。我们常定义一个指向 FILE 结构的指针来接收这个返回值。 libioP.h 的定义:_IO_list_all 全局变量 #incl

selph Published on 2024-03-02

[libc 2.35 源码学习] IO_FILE 篇 - fclose

简介&前言 这是IO_FILE篇的第四个函数分析:fclose,文件流的关闭操作,一览文件流的关闭流程:先刷新写缓冲区,再断链,关闭文件描述符,释放文件结构体 到这里IO FILE常用的4个函数分析完了,下一篇开始将进入文件流利用相关的内容 源码分析 _IO_new_fclose 位于:libio/

selph Published on 2024-03-01

[libc 2.35 源码学习] IO_FILE 篇 - fwrite

简介&前言 这是IO_FILE篇的第三个函数分析:fwrite,本文分析了fwrite的主要流程,fwrite如何写入文件,以及其中各缓冲区的使用: 这里主要涉及的几个缓冲区指针: // write 缓冲区指针 wchar_t *_IO_write_base; /* Start of put a

selph Published on 2024-02-29

[libc 2.35 源码学习] IO_FILE 篇 - fread

简介&前言 这是IO_FILE篇的第二个函数分析:fread,本文分析了fread的流程,fread如何读取文件内容返回,fread中的各种缓冲区的使用: // 读取缓冲区,base是起始地址,end是结束地址,ptr是指针 wchar_t *_IO_read_ptr; /* Current r

selph Published on 2024-02-28

[libc 2.35 源码学习] IO_FILE 篇 - fopen

简介&前言 最近学习各种堆利用技术,发现到处都有用到对 IO 的攻击,但是对 IO_FILE 的了解很模糊,这次来好好探索一下 IO_FILE 的内部,以 libc 2.35 源码为例进行分析学习 fopen做的事情,简单来说就是创建FILE结构体,初始化内容并链接进入_IO_list_all链表中

selph Published on 2024-02-27
Previous Next