0ctf 2017 kernel pwn knote write up
UAF due to using hlist_add_behind() without checking.
There is a pair locker(mutex_lock) at delete_note(), but isn’t at edit_note_time().
And it doesn’t check the flag
before hlist_add_behind()
in insert_note()
.
for(;;) {/* add before a larger epoch */iter = hlist_entry(node, struct note_t, next);if (iter->epoch > epoch) {hlist_add_before(&(note->next), node);flag = true;break;}if (node->next == NULL)break;node = node->next;}/* at behind the last node */// if (!flag) <-- patch...// it can lead to hlist broken.hlist_add_behind(&(note->next), node);
Exploitation:
1. UaF
First we could free arbitrary object (eg. tty_struct
) via any vulnerabilities,
re-allocate fake object with evil functions or rop gadgets.
Finally we can call related function in user mode.
2. kernel info leak
should use the kzalloc() instead of kmalloc()
转载于:https://www.cnblogs.com/bittorrent/p/6680249.html
0ctf 2017 kernel pwn knote write up相关推荐
- CTF-PWN-babydriver (linux kernel pwn+UAF)
第一次接触linux kernel pwn,和传统的pwn题区别较大,需要比较多的前置知识,以及这种题的环境搭建.运行和调试相关的知识. 文章目录 Linux内核及内核模块 Linux内核(Kerne ...
- 【学习札记NO.00004】Linux Kernel Pwn学习笔记 I:一切开始之前
[学习札记NO.00004]Linux Kernel Pwn学习笔记 I:一切开始之前 [GITHUB BLOG ADDR](https://arttnba3.cn/2021/02/21/NOTE-0 ...
- Kernel pwn 入门 (6)
本篇文章笔者借助一道题来学习一下kernel中的一种条件竞争利用方式:userfaultfd. 强网杯2021-notebook 这是一道kernel pwn题.我们首先打开ko文件看看. 本文主要参 ...
- Linux kernel pwn notes(内核漏洞利用学习)
前言 对这段时间学习的 linux 内核中的一些简单的利用技术做一个记录,如有差错,请见谅. 相关的文件 https://gitee.com/hac425/kernel_ctf 相关引用已在文中进行了 ...
- Kernel pwn 入门 (3)
ret2dir 这是一种绕过SMAP/SMEP和PXN防护的攻击方式.利用内核空间的direct mapping area(起始位置为0xFFF8880000000000).Linux对内存的访问采用 ...
- linux kernel pwn学习之hijack prctl
Hijack prctl Prctl是linux的一个函数,可以对进程.线程做一些设置,prctl内部通过虚表来调用对应的功能,如果我们劫持prctl的虚表,使它指向其他对我们有帮助的内核函数,比如c ...
- pt-slot.php,Pwn In Kernel(一):基础知识
Kernel Pwn In CTF 简单分析一下 CTF Kernel Pwn 题目的形式,以 2017 CISCN babydrive 为例. 先对文件包解压➜ example ls babydri ...
- linux后缀asok是什么意思,Pwn In Kernel(一):基础知识
Kernel Pwn In CTF 简单分析一下 CTF Kernel Pwn 题目的形式,以 2017 CISCN babydrive 为例. 先对文件包解压➜ example ls babydri ...
- linux 堆溢出 pwn 指南,新手科普 | CTF PWN堆溢出总结
学习汇总 序言 自从加入RTIS交流群, 在7o8v师傅,gd大佬的帮助下,PWN学习之路进入加速度.下面是八周学习的总结,基本上是按照how2heap路线走的.由于八周内容全写,篇幅太长,这里只讲述 ...
最新文章
- 基于 NodeGit 的周报生成工具
- 【机器听觉】初探语音识别技术
- mysql 创建外键实例_mysql 外键创建实例
- 模拟IE登录一个需要(windows身份)验证的网站
- JavaScript中的嵌套事件处理(在鼠标移动事件上)
- 【学堂在线数据挖掘:理论方法笔记】第一天(3.17)
- Tbase 源码 (八)
- ThinkPad S2 安装deepin系统,安装rtl8821ce无线网卡驱动,适合deepin/ubuntu
- 浅谈使用KMeans进行性别与年龄的聚类分析
- 读《沟通的方法》推荐序有感
- 回溯法求解N皇后问题及其时间复杂度分析
- SQLServer中ADO,OLEDB,ODBC的区别
- 2015程序员小白理财记
- JS的除法应用 求余,取整,进一法,四舍五入
- 数字图像处理之BSQ,BIL,BIP的存储格式相互转换算法,用Java+GDAL实现,附源码
- nyoj 125 盗梦空间
- Python 分形算法,代码里开出来的数学之花
- 关于学Linux的时候安装vmtools时遇到的坑
- RK3128-室内机视频对讲主板方案
- 逆向入门学习路线及渠道
热门文章
- python编程零基础-编程零基础应当如何开始学习 Python?
- 怎么安装python3-centos编译安装python3怎么做?
- python是一门什么课程-从无到有用Python创造一门属于自己的编程语言1
- python方向-零基础转行Python,往这个方向走,绝对没有错
- 武汉python培训班排行榜-比较靠谱的武汉Python培训机构是哪个?
- python数字类型-Python数字类型介绍
- python的用途-请问在python中的% 是什么意思, 起到什么作用?
- python零基础怎么学-python 零基础该怎么学?
- python基础教程是什么语言-终于懂得python中文入门教程
- python基础教程视频(全13集)-Python基础视频教程全集