SLAKE paper:https://dl.acm.org/doi/pdf/10.1145/3319535.3363212 摘要工作: 使用静态分析和动态分析来识别内核object以及对应的syscall; 建模常见的exp方法,开发一种方法简化 2025-03-21 q1ming paper
eBPF之ringbuf学习笔记 介绍BPF的ringbuf被实现为2的指数大小的环形缓冲区,它有两个总是递增的计数器:consumer_pos、producer_pos; producer_pos是生产者计数器,每当一个record被成功存储,producer_pos就会 2025-03-21 q1ming eBPF
RSA ed互推def extended_gcd(a, b): # 扩展欧几里得算法,返回 (gcd, x, y),使得 a*x + b*y = gcd if b == 0: return a, 1, 0 gcd, 2025-03-21 q1ming Crypto
qwb2024-heap2 base64:明文3倍数,密文4倍数; 此时我们输入密文,如果不是4的整倍数,这里malloc分配空间会向下取整,但是到了真正解密的时候: 直接一次+4,然后处理4个字节密文,转变成三字节明文,根本不考虑当前剩余字节数目,回想前面me 2025-03-21 q1ming Crypto
pwn中的随机数 原始的c随机数使用线性同余确实很好破解,但是现在的gcc应该都是使用带有反馈机制的算法,即我们不能够通过上一个随机数来预测下一个随机数了; 使用python的ctypes库来调用随机数函数,且可以实现时间种子基本一致; from ctype 2025-03-21 q1ming pwn
在CTF中让read返回0 在CTF pwn中利用pwntools发送EOF标志使得read没有读取任何字符后返回0: from pwn import *import ttyfile = './test'sh = process(file, std 2025-03-21 q1ming pwn
pid_namespace深入学习 基数树看这篇文章:https://zhuanlan.zhihu.com/p/643699822 节点的基本结构如下: 上述结构体中: shift表示位移量,其实也就是和层级正相关的; slots用于指向下一个节点,如果没有相应的子节点就可 2025-03-21 q1ming kernel
pipe可以通过wqueue来set-szie吗? 源码定位https://elixir.bootlin.com/linux/v5.10/source/fs/pipe.c#L624 首先可以看到pipe的ioctl接口,如果cmd是IOC_WATCH_QUEUE_SET_SIZE的话,会走 2025-03-21 q1ming kernel
pcb_2024_vm check_cmd爆破md5: pay = “LOGIN:root\naaaaa:&&h3r3_1s_y0u2_G1ft!&&An9q\nDONE&EXIT” LOGIN:rootaaa 2025-03-21 q1ming CTF VM SandBox
pid_namespace学习笔记 PID命名空间隔离的意义PID 命名空间的隔离作用非常关键,主要体现在以下几个方面: 进程树的独立性:每个容器或命名空间有独立的进程 ID,从 1 开始,确保进程间互不干扰。 安全性和隔离性:通过进程 PID 隔离,确保容器和宿主机之间的 2025-03-21 q1ming kernel