摘要: 「主页」:https://unrav31.github.io 本文从漏洞分析、ARM64架构漏洞利用方式来讨论如何构造提权PoC达到读取root权限的文件。此题是一个ARM64架构的Linux 5.17.2 版本内核提权题目,目的是读取root用户的flag文件。 概况 题目默认开启了KASLR地址 阅读全文
posted @ 2022-04-19 15:22 unr4v31 阅读(176) 评论(0) 推荐(0) 编辑
摘要: DLink 815路由器栈溢出漏洞分析与复现 qemu模拟环境搭建 固件下载地址 File DIR-815_FIRMWARE_1.01.ZIP — Firmware for D-link DIR-815 binwalk解压固件 binwalk -Me dir815.bin 得到文件系统: 查看bin 阅读全文
posted @ 2022-03-29 16:32 unr4v31 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 固件下载地址: GitHub - ameng929/NOE77101_Firmware 文件目录结构,这里只列出了一些主要的文件信息: ├── bin ├── ftp ├── fw ├── rdt ├── webloader.ini └── wwwroot ├── SchneiderTFE.zip 阅读全文
posted @ 2022-02-24 22:52 unr4v31 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 内核分配器的功能 在操作系统管理的虚拟内存中,用于内存管理的最小单位是页,大多数传统的架构是4KB。由于进程每次申请分配4KB是不现实的,比如分配几个字节或几十个字节,这时需要中间机制来管理页面的微型内存。 为此,内核实现了一个分配器来管理页中碎片内存的分配和回收。可以把分配器理解为一个零售供应商: 阅读全文
posted @ 2022-01-17 21:45 unr4v31 阅读(246) 评论(0) 推荐(1) 编辑
摘要: 写在前面 这篇文章目的在于简单介绍内核PWN题,揭开内核的神秘面纱。背后的知识点包含Linux驱动和内核源码,学习路线非常陡峭。也就是说,会一道Linux内核PWN需要非常多的铺垫知识,如果要学习可以先从UNICORN、QEMU开始看起,然后看Linux驱动的内容,最后看Linux的内存管理、进程调 阅读全文
posted @ 2021-12-23 20:30 unr4v31 阅读(251) 评论(0) 推荐(1) 编辑
摘要: Unicorn是一个轻量级, 多平台, 多架构的CPU模拟器框架,基于qemu开发,它可以代替CPU模拟代码的执行,常用于恶意代码分析,Fuzz等,该项目被用于Radare2逆向分析框架,GEF(gdb的pwn分析插件),Pwndbg,Angr符号执行框架等多个著名项目。 开发准备 官网 Unico 阅读全文
posted @ 2021-11-22 22:56 unr4v31 阅读(235) 评论(0) 推荐(0) 编辑
摘要: house_of_emma 这是看了GD师傅的exp写的,有些地方还是不太清楚原理。 GD师傅的文章:https://mp.weixin.qq.com/s/vdfDBN6uXd0VvI_WwQ-kgw 函数调用链如下: __GI__IO_puts() -> __GI__IO_default_xspu 阅读全文
posted @ 2021-11-17 21:50 unr4v31 阅读(690) 评论(0) 推荐(0) 编辑
摘要: random_heap 原本以为这题是控随机数,因为之前做过一个题目是控随机数的,赛后仔细想想这两道题都不一样,浪费了很多时间,导致比赛的时候没做出来。 暴力直接把tcache填满,因为有UAF,可以泄露出unsorted bin里面的main_arena,当然有脸黑的时候没有放入unsorted 阅读全文
posted @ 2021-10-27 17:14 unr4v31 阅读(187) 评论(0) 推荐(0) 编辑
摘要: babyshellcode 这题考无write泄露,write被沙盒禁用时,可以考虑延时盲注的方式获得flag,此exp可作为此类型题目模版,只需要修改部分参数即可,详细见注释 from pwn import * from pwn import p64,u64,p32,u32,p8 from pwn 阅读全文
posted @ 2021-10-21 17:50 unr4v31 阅读(216) 评论(0) 推荐(0) 编辑
摘要: onecho 控memcpy参数,把ROP链读到bss段,ROP链构造orw,注意清栈 from pwn import * from pwn import p64, u64, p32, u32, p8 context.arch = 'i386' context.log_level = 'debug' 阅读全文
posted @ 2021-10-13 23:00 unr4v31 阅读(118) 评论(0) 推荐(0) 编辑