Q1IQ's blog

Tags · CVE

Home

About

Archives

loading..
CVE

Linux eBPF模块漏洞利用学习记录

技术分析eBPF简介linux的用户层和内核层是隔离的,想让内核执行用户的代码,正常是需要编写内核模块,当然内核模块只能root用户才能加载。而BPF则相当于是内核给用户开的一个绿色通道:BPF(Berkeley Packet Filter)提供了一个用户和内核之间代码和数据传输的桥梁。用户可以用eBPF指令字节码的形式向内核输送代码,并通过事件(如往socket写数据)来触发内核执行用户提供的代码;同时以map(key,value)的形式来和内核共享数据,用户层向map中写数据,内核层从map中取数据,反之亦然。 BPF发展经历了2个阶段,cBPF(classic BPF)和eBPF(extend BPF)(linux内核3.15以后),cBPF已退出历史舞台,后文提到的BPF默认为eBPF。 eBPF..

Read more
loading..
CVE

Linux 蓝牙bleedingtooth CVE-2020-12351学习记录

水一篇分析文章,站在巨人的肩膀上。 漏洞分析CVE-2020-12351,该漏洞CVSS 评分为8.3 分,是一个基于堆的类型混淆(type confusion) 漏洞。在受害者蓝牙范围内的远程攻击者在指导目标设备的bd地址的情况下就可以利用该漏洞。攻击者可以通过发送恶意l2cap包的方式来触发该漏洞,引发DoS 或kernel 权限的任意代码执行。谷歌安全研究人员称该漏洞是一个零点击漏洞,也就是说利用的过程中无需任何的用户交互。 A heap-based 类型混淆 affecting Linux kernel 4.8 and higher was discovered in net/bluetooth/l2cap_core.c. 当 CID 不是 L2CAP_CID_SIGNALING, L2CAP..

Read more
loading..
CVE

D-Link CVE-2019-7298学习记录

漏洞分析使用binwalk提取固件。 可以看出文件系统是 squashfs 。 内核启动之后将启动init进程,init进程启动时根据/etc/inittab这个文件来在不同运行级别启动相应的进程或执行相应的操作。其中sysinit代表系统的初始化,只有系统开机或重新启动的时候,后面对应的process才会执行。 ::sysinit:/etc/init.d/rcS 在rcS中,先执行一系列mkdir和设置,接着执行goahead。 goahead 是一个开源的 web 服务器,用户的定制性非常强。可以通过一些 goahead 的 api定义 url处理函数和可供 asp 文件中调用的函数,具体可以看看官方的代码示例和网上的一些教程。 goahead的websUrlHandlerDefine函数允许用户..

Read more