自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 深入理解TLS(Thread Local Storage)——以MacOS为例

中文互联网上聊TLS原理的文章比较少,不仅不大详细,而且不少是七八年前的文章,比如有在window xp上介绍tls的实现的,比较老旧。笔者因工作内容,需要较深入的理解TLS,故在此分享一下。本文会以Mac上,arm64的程序为例,介绍clang、dyld与macOS是怎么配合,实现的TLS。注意不同的平台,windows、linux、appleOS实现的方式都不大相同,在不同架构x64、arm上的处理细节也略有不同,但是原理相似。不了解TLS的读者也会有所收获。

2023-08-06 00:24:46 231

原创 [阅读型]Linux内核系列:从开发环境到调试环境

目录前言编译内核安装QEMU创建一个硬盘镜像文件使用BusyBox构建ramdisk使用buildroot构建ext4格式根文件系统内核驱动开发环境调试环境前言文章更新时间2022.04.25写文前搜了下CSDN的资源,要么质量不行或者太过时,没有自己想要的。笔者很早就想学习内核了,然而曾多次尝试。这次以实验室的一个项目为契机,鼓励自己完善下去。本文将面向同为新手的你,记录学习的一些值得注意的地方。你只需要准备一台Linux操作系统的计算机即可(以Ubuntu为例),并预留一定的硬盘空间。因为笔者

2022-04-26 21:43:01 3280

原创 [阅读型]新版musl libc(1.2.2)堆管理之源码剖析!

目录前言关键的数据结构三级目录前言文章更新时间2021.07.09自defcon21q,那道mooosl起,就有些比赛喜欢折腾这新版的musl libc的堆。在当时打defcon的时候,相关资料几乎没有,只能硬磕源码。虽然笔者当时是审出来了dequeue()会有类似unlink的任意地址写的可能,但是此题还是由大佬亲自出手把它干掉。事后一直懒没有复现,结果强网杯21又蹦出一个musl libc的题,血亏。此文章开坑,也是督促自己把这一块源码仔细扣一扣,做一个笔记。下文除了源码剖析,会以defcon21

2021-07-23 01:05:52 2838 5

原创 [阅读型]glibc-2.31中的tcache stashing unlink与large bin attack

文章目录前言题目的漏洞与功能tcache stashing unlinklarge bin attack有了上述方法,然后做什么前言有幸和校队一起参加21年5月的xctf-final。笔者爆肝连续战斗十小时,在与队友各种讨论下艰难做出了house of pig这一题。事后看出题人的wp,方法不尽相同但也是收获良多,特此记录。笔者的这题解法是没有large bin attack的(知识盲区),利用tcache stashing unlink写global_max_fast完成house of hust,

2021-06-01 21:14:44 1472 1

原创 [总结型]C++stl中常见数据结构逆向分析

文章目录前言前言2019年defcon资格赛。election_coin一题,标签为reverse&pwn

2021-04-30 15:14:18 1215 1

原创 [总结型]记CTF PWN中过气的堆利用

目录前言不再好用的unsorted bin attack不可能的tcache double free前言how2heap(https://github.com/shellphish/how2heap)可以说是目前"权威"的glibc中的heap exploitation techniques文档。在学术界近年的一些顶会文章也有引用这个github项目。攻防对抗是一直持续发展的,很容易在学习中,复现一些过时的攻击技术出现困难,原因就是已经有补丁打上了。本文大致总结一些在比赛中常见的过时技术,持续更新…吧

2021-04-15 15:05:16 1227 1

原创 [阅读型]深入理解C++多继承(multiple inheritance)与虚继承(virtual inheritance)的底层原理与实现-以g++为例

目录前言1. virtual 函数需要解决的问题2. 单继承3. 多继承4. 虚继承前言做安全的肯定是要深究一下,特别是了解其c++对象的memory layout和一些编译器生成的固定代码。另一方面c++开发者,既然是选择折腾c++,实际上也有了解的必要。本文不是讨论怎么用继承去实现一个良好的设计,而是讨论c++编译器是怎么支持这个特性的。这里不要把编译器想象的多么神通广大,实际上它是通过生成一些固定的代码与数据来实现的。主要参考文献c++的abi1。极具争议的多继承与虚继承为啥这么恶心?因能力有

2021-04-14 14:13:26 1057 1

原创 [阅读型]CTF中linux pwn的四大基本防御措施

讨论linux pwn中对二进制文件常见的四个基本防御措施RELRONXCANARYPIE

2021-04-13 17:31:54 1382

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除