高版本glibc堆的几种利用手法
# Glibc 高版本
# 前言:
本文旨在讲述在 glibc 2.34ubuntu 高版本下(2.34-0ubuntu3.2)的一些利用手法是否依旧可以使用。会对某些手法进行概括,并没有对其进行深入透彻的讲述。感兴趣的朋友可以自行学习,最后详细介绍了 house of banana.
我只是站在了前任师傅的高台上,为大家进行一些总结分析。
前不久打算深入的去了解在 2.34 以及 2.35 这两个较高版本的 glibc 的堆漏洞的利用。
# 2.34 (2.35) 如何利用
# 一些对比
2.34 与 2.35 其实非常接近,一般情况下,我们利用的手法也都是一致的,除了继承了...
more...
pwnable-re-alloc
# Pwnable.tw re-alloc
说明:因为没有合适的 glibc 资源(自已懒),这里只是进行了一个理论分析。
# 环境保护
1234567dreamcat@ubuntu:~/Desktop/pwnable/re-alloc$ checksec --file=re-allocRELRO STACK CANARY NX PIE RPATH RUNPATH Symbols FORTIFY Fortified Fortifiable FILEPartial RELRO Canary found NX enabled No PIE No RPATH No RUNPATH 83)...
more...
滴水逆向_学习笔记
# 20220512 开始加速学习逆向,以滴水逆向的教程为路线。
下面的内容基于 32 位 pe 程序
# 1,进制
8 进制的 2-3.(32 位)
010 - 011
补码加法:0000 0000 0000 0000 0000 0000 0000 0010 + 1111 1111 1111 1111 1111 1111 1111 1101
结果 17777777777…(8)
# 2,EXE 执行文件如何执行程序
什么是程序。什么是数据
程序是数据与可执行代码的组合。
PE 文件结构
# dos 头
12345678910111213141516171819202122typedef...
more...
chunzhiIOT
# 202205 春秋杯 个人赛 ,chunzhiIOT
# exp
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091from pwn import *r=process('./pwn')#context.log_level =...
more...
slab、slub、slob学习记录
# kernelpwn 的进一步学习后,
# 虽然很多东西原理与用户态相似,但是终究还是区别很大,尤其是在内存的管理,在用户态的 glibc 使用 pmalloc 进行堆块的管理。但是在内核态,我们申请的空间不在仅仅是局限在几十字节的数据,而且进程对于空间的申请更加频繁,我们需要一个高效简单的管理机制。
目前在内核的空间 主要使用的内存管理机制有 slab,slub,slob,其中 slab 是最早的管理机制,但是在 2.6 的 kernel 后被 slub 所代替。目前 slub 也是默认的管理器。而 slob 主要应用在轻量级和移动端的设备中。
虽然 slab 被 slub...
more...
inctf2021_kqueue
# Inctf2021 pwn kqueue heap_overflow
# 环境以及保护
首先这个文件系统解压出来重新打包会出现问题,因为按照上一篇博客所讲的,创建 file_system 文件夹后,把文件系统的包丢进去,一旦更改后缀名称就是导致归档失败,无法使用 gunzip 进行解包。手动提取后,使用 find 打包,会导致我们启动的时候,报错我们没有挂载的权限。所以我没有重新打包。
提取出来的 vmlinux
123456789dreamcat@ubuntu:~/Desktop/wykernel/inctf2021_kqueue$ checksec vmlinux[*]...
more...
ciscn_babydriver
# ciscn_babydriver uaf, 修改自身的 cred
# 保护检查:
# qemu
12345dreamcat@ubuntu:~/Desktop/kernel/babydriver$ cat boot.sh #!/bin/bashqemu-system-x86_64 -initrd fs.cpio -kernel bzImage -append 'console=ttyS0 root=/dev/ram oops=panic panic=1' -enable-kvm -monitor /dev/null -m 128M --nographic...
more...