改装uname

      如果不幸被一个攻击者闯入,它可以用uname来获取真正的操作系统信息,然后来个本地溢出,你就哭吧。

      所以我们要修改uname的源程序,使它显示我们想要它显示的内容。

      打开uname.c,找到如下行:

      print_element (PRINT_SYSNAME, name.sysname);//操作系统名如linux

      print_element (PRINT_NODENAME, name.nodename);//主机名

      print_element (PRINT_RELEASE, name.release);//发行版本,如:2.2.16-22

      print_element (PRINT_VERSION, name.version);//

      print_element (PRINT_MACHINE, name.machine);//机器类型,如i686

      print_element (PRINT_PROCESSOR, processor);//处理器类型

      知道怎么改吧,不知道?提示一下,如果要显示操作系统为SunOS,替换第一行为:

      print_element(PRINT_SYSNAME,"SunOS");

      编译后,运行./uname –s,就会显示SunOS

      当然你应该把每一项都进行修改,使人看不出破绽。

      最后把改好的uname拷到/bin目录。

      我在修改时还加了一个-Y的参数,目的是显示真正的信息,给自己看的。默认显示修改过的信息。
posted on 2008-11-19 14:31  许维光  阅读(754)  评论(0)    收藏  举报