首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    一种Linux下ptrace隐藏注入shellcode技术和防御方法

    本文介绍一种Linux使用ptrace隐藏注入shellcode的技术和防御方法。...CAP_SYS_PTRACE权限,判定是否拒绝(denied)使用ptrace功能;然后调用Linux安全模块(LSM),例如:SELinux、Yama、Smack等,不同的安全模块有各自的检查判定规则...【图4 Linux内核ptrace访问模式检查算法】 除了在同一个线程组的情况,获得使用ptrace功能的许可必然经过Linux安全模块(LSM)的检查,因此可以配置LSM限制ptrace功能,以Yama...还可以使用prctl系统调用关闭进程的转存功能,具体用法如下: prctl(PR_SET_DUMPABLE, SUID_DUMP_DISABLE, 0, 0, 0); (向右滑动、查看更多) 使用上述系统调用后...此方法虽然只适用调用者没有CAP_SYS_PTRACE权限的情况,但能够作用于正在运行的进程,具体做法如下: 1) 将调用prctl操作做成一个shellcode; 2) 使用ptrace将1)中生成的

    1.3K20

    LinuxLinux调试器-gdb使用

    前言 在前面的博客【Linux】编译器-gcc/g++使用已经分享了关于编译器的使用,而编译器的使用离不开调试,这次就来分享一下Linux调试器-gdb使用。 2....使用 3.1 进入gdb 默认系统中会安装gdb,使用方法就是gdb后面直接加上调试的可执行程序名: gdb myprocess-debug 就会默认进入到调试模式 想要退出就直接输入quit或者...如果想要从程序第一行开始查就用命令: l 0 还可以使用l加程序名再加0的方式 l myprocess.c:0 不可以直接查文件,但是加上行号就可以查。...进入到函数体里面就退不出来 如果想要跳转到某一行,就用到命令: until 试一下跳转到12行: 总结一下gdb使用就是: set var:修改变量的值 把指定变量直接修改为目标值

    16410

    Linux Deploy:使用Repository部署Linux系统

    文章更新   20170408 初次成文 问题提出:   在之前的文章中,小苏为大家介绍过使用常规方式和使用镜像方式部署Linux系统的方法,但是这两种方法各有利弊:   使用常规方式部署时,镜像大小可以灵活调节...使用镜像方式部署Linux系统时,虽然可以免去部署时下载大量数据的麻烦,但是使用别人部署好的镜像,初始实现的功能依别人部署好的镜像而定,不能个性化定制系统,也不能调整镜像大小。   ...那就是先在Linux Deploy中部署和安装所需要的环境和软件包,然后使用Linux Deploy的导出功能,将Rootfs打包为tar.gz文件,之后,我们只需要将此tar.gz文件导入Linux...Deploy,就可以完整还原打包时的Linux系统了。...因为在Repository中,作者使用各发行版的官方软件源作为软件源,这样一来,一是服务器节点远离中国,软件包下载速度一般都很慢,二是在我国ipv6还未普及,使用官方软件源在部署过程中有一定几率解析到ipv6

    6.2K20

    聊一道口头面试题

    题面是这样的,你们感受一下(并不是用笔和纸回答的面试题,就是和面试官沟通交流中他随意且随机地问): Linux下如何为程序设定新的进程名称 那个,这问题听起来是不是很沙雕?...鉴于我等众雕都是大量使用php-fpm而不是php-cli的人,所以没准真的有很多PHPer压根都没听过cli_set_process_title这个函数。我码个demo吧,你们感受下: <?...在Linux中有一个叫做prctl的标准函数,据man页说明这个函数可以调整【调用进程或线程的名称】,可以先尝试一下: #include #include <unistd.h...i++ ) { printf( "argv[%d] : %s\n", i, argv[ i ] ); } sleep( 100000 ); return 0; } 编译成功后我们使用...这里的环境变量就是说你们平时经常从网上复制粘贴的那些linux环境变量,其实就是字符串,配置什么Java环境Golang环境时候你们一定都搞过这个,就是key=value。

    43620
    领券