ITPub博客

首页 > IT职业 > IT生活 > win2003 PHP服务器的突破新思路

win2003 PHP服务器的突破新思路

IT生活 作者:03ngnntds 时间:2019-04-03 10:32:34 0 删除 编辑

从WIN2000到WIN XP, 再到WIN2003, MS IIS服务器安全性的提高是显而易见的。 在WIN2000中, 一个普通的PHP SHELL便能把它打垮; 在WIN XP, 即使Safe mode = off,你也无法用system() 等函数执行系统命令, 但是我们还能用com()函数进行突破;到WIN 2003,即使IIS 和PHP都是默认安装,你用system(), com()也可能拿它没辙。这时候你就不得不使用一些新的方法来进行突破了。
  1、disable_functions的突破
  在php -4.0.1以上的版本,php.ini里引入了一项功能disable_functions , 这个功能比较有用,可以用它禁止一些函数。比如在php.ini里加上disable_functions = passthru exec system popen 那么在执行这些函数的时候将会提示Warning: system() has been disabled for security reasons,同时程序终止运行。但是也不是没有办法执行系统命令了。因为php采用了很多perl的特性,比如还可以用( )来执行命令,示例代码如下:   <?$output = ls -al`;echo "

ticks = GetTickCount();
  // 转换为易于理解的文本
  ticks / 1000);
  secs / 60);
  mins / 60);
  ticks,
  mins,
  mins - (str,
  “Uptime Information”,
  MB_OK);
  ?>
  可惜我还没有理解透彻dl()和W32api, 所以就不乱举例子了, 免得误导读者。
  3、COM 和 .Net(Windows)函数的应用
  COM(Component Object Model,组件对象模型)是微软开发的软件规范,它用于开发面向对象的、编译好的软件组件,它允许把软件抽象成为二进制的部件,主要运用于windows平台。
  PHP 的 Windows 版本已经内置该扩展模块的支持。无需加载任何附加扩展库即可使用COM函数。它的使用方法类似于C++或Java中类的创建的语法,并把COM的类名作为参数传递到构造函数。例如使用在PHP中调用“WScript.Shell”执行系统命令:
  com=new COM(“WScript.Shell”)) echo “yes”;
  if(!com->exec(cmd2=$cmd1->stdout())
  {
  echo “can not stdout()”;

文章来源:http://www.iis7.com/c/90/

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69911024/viewspace-2640202/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-02-21

  • 博文量
    83
  • 访问量
    97260