文档章节

gdb调试suid程序时的一个问题

小利子
 小利子
发布于 2014/07/08 17:35
字数 157
阅读 10
收藏 0
//filename:a.c
#include<stdio.h>
#include<stdlib.h>
void main()
{
    int a=0;
    if(a==1)
    {
        printf("yes\n");
        setuid(0);
        system("/bin/bash");
    }
    else
    {
        printf("no\n");
    }
}

gcc a.c -o a
chmod u+s a
gdb调试a的时候,让a==1成立,执行里面的语句,"yes"字符串可以打印出来,不过却没有root权限的shell.

原因:gdb调试的时候,a的euid(有效用户ID)已经不是0,也就是说它已经没有root的权限了.

验证方法:

        printf("uid:%d,euid:%d\n",getuid(),geteuid());
        printf("yes\n");
        setuid(0);
        system("/bin/bash");

打印出uid和euid,在调试的时候就可以看出

© 著作权归作者所有

共有 人打赏支持
小利子
粉丝 3
博文 20
码字总数 5788
作品 0
南岸
linux coredump配置与调试

Linux Core Dump 配置与调试 1.core文件的生成开关和大小限制 --------------------------------- 1)使用ulimit -c命令可查看core文件的生成开关。若结果为0,则表示关闭了此功能,不会生成...

nothingfinal
2011/03/09
0
0
Linux下core文件产生的一些注意问题

前面转载了一篇文章关于core文件的产生和调试使用的设置,但在使用有一些需要注意的问题,如 在什么情况 才会正确地产生core文件。 列出一些常见问题: 一,如何使用core文件 1. 使用core文件...

鉴客
2011/10/25
4.8K
0
使用gdbserver远程调试

gdbserver工具 先确定默认crosstool交叉编译器是否有自带gdbserver,如果有就不需要自行编译。一般都会带有对应的gdbserver工具,可以通过find命令查找确定: hong@ubuntu:~/work/system$ w...

水海云
2013/10/11
0
2
GDB 调试 C++ 程序 core dump

前天晚上(2013.10.15)参加 Topcoder 竞赛时, 碰到一个比较没有头绪的问题, 想解法就想了半天, 写代码时又出了问题,以前在 Visual Studio 下图形化调试的习惯根深蒂固, GDB 又不熟悉, 所以只能...

sailtseng
2013/10/18
0
0
Linux下C程序的编辑,编译和运行以及调试

Linux下C程序的编辑,编译和运行以及调试 要使用的工具: 编辑:vim(vi) 编译和运行:gcc 调试:gdb 安装很简单(以下是以在CentOS中安装为例): yum vim gcc gdb 1.使用vim编辑源文件 首先...

恒者
2014/01/08
0
4

没有更多内容

加载失败,请刷新页面

加载更多

tomcat 设置虚拟路径

Tomcat无法管理<Tomcat安装目录>/webapps目录以外的Web应用程序 在server.xml中配置虚拟目录 <Context path="/imgDetail" docBase="/pictureServer/img/resource"/> 配置前访问图片路径:h......

west_coast
7分钟前
0
0
数据结构

wu

盼望明天
22分钟前
0
0
Bash脚本输入参数的使用

Bash脚本输入参数的使用 Bash脚本传入的参数,在脚本中以位置的形式进行访问,即 $n 。例如,$1 为执行脚本的第一个参数,$2 为执行脚本的第二个参数。另外Bash中还提供了一些其它的便捷操作...

小陶小陶
38分钟前
2
0
多线程场景下,触发OOM的线程是否会影响其他线程的工作

public static void main(String[] args) { Thread t1 = new Thread(new Runnable() { @Override public void run() { int i = 0;......

麦馍
42分钟前
2
0
模拟Dubbo的zookeeper一致性Hash发现

接之前一篇<手写zookeeper来模拟dubbo的注册/发现>,使用一致性Hash来进行查找需要寻找的服务. Hash处理接口 public interface HashFunc { public Long hash(Object key);} 一致性Has...

算法之名
54分钟前
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部