subtitle
内存分配学习笔记1 内存分配学习笔记1
kmem_cachekmem_cache定义如下:https://elixir.bootlin.com/linux/v6.13.1/source/mm/slab.h#L258 cpu_slabcpu_slab是一个__per_cpu
2025-03-21 q1ming
JIT-ROP攻击 JIT-ROP攻击
Just-In-Time ROP参考:https://www.sohu.com/a/154764211_354899 主要是为了绕过非常细粒度的内存地址随机化。(可能类似于内核中FGKASLR,很多模块都存在随即偏移);为了绕过这种攻击,通
2025-03-21 q1ming
IOT入门 IOT入门
固件下载https://www.tenda.com.cn/download 选取和教程中一样的: 固件提取经过上述方法,得到的是一个zip文件,首先解压得到如下文件: 之后使用binwalk提取这个bin文件: binwalk -eM
2025-03-21 q1ming
io_uring io_uring
完整shellcode如下,前提是rdx是一个合法的可写地址: context.arch = ‘amd64’ shellcode = asm(“”” ​ mov rbp, rdx ​
2025-03-21 q1ming
HOEE HOEE
综述paper: https://link.springer.com/content/pdf/10.1186/s42400-024-00244-6.pdf 论文解决的问题:对于一个堆溢出漏洞,评估poc的可利用性; 现实中遇到的问题:有时候
2025-03-21 q1ming
house_of_apple2 house_of_apple2
从main函数退出或exit原理&&源代码分析以后有空再说 模板_exit变种_exit1.exit() 和 _exit() 都是用来终止进程的; 2._exit() 执行后立即返回给内核,而 exit() 要先执行一些清楚
2025-03-21 q1ming
house_of_husk house_of_husk
基本原理glibc源代码阅读: https://codebrowser.dev/glibc/glibc printf函数阅读路径: https://codebrowser.dev/glibc/glibc/stdio-common/print
2025-03-21 q1ming
glibc-2.39:house_of_apple2 glibc-2.39:house_of_apple2
追一波libc版本~~ 在glibc-2.38版本中,笔者测试发现需要在0x88偏移的位置(应该还是_lock字段)照抄_IO_2_1_stderr的偏移0x88的位置的值,如果仅仅是写入一个合法的地址,那么将会陷入到一个死循环中;之后笔
2025-03-21 q1ming
go语言学习笔记 go语言学习笔记
基本语法定义变量:类似于全局变量 结构体定义: 通道(chan)用于在不同的 goroutine 之间传递数据,它类似于一个管道,允许你在一个 goroutine 中发送数据,并在另一个 goroutine 中接收这些数据。 在每一个A
2025-03-21 q1ming
EzDB EzDB
例行检查 逆向分析1::create 2::free 先释放大堆块再释放小堆块; 3::insert先用这个存储: 从低地址(current)找4字节空间存放meta,然后从高地址(end)开辟空间存放数据; 这个空间的计算: 对吗
2025-03-21 q1ming
Github笔记 Github笔记
在搭建博客向远程仓库push时遇到如下问题: 解决方案是: 1.首先找到自己博客的仓库; 2.然后settings->code security 3.在下面找到push protection关闭: 4.成功push之后再打开。
2025-03-21 q1ming
EntryBleed EntryBleed
用户态为什么访问不了内核地址?在没有开启KPTI的情况下,其实用户态下页表是有内核地址的映射的,也就是说在vm_area_struct中是有它的slot的,(同时页表也得有这个项,所谓页表有没有这个项,就是说CR3指向的顶级页表的大小所限
2025-03-21 q1ming
10 / 14