查看: 2255|回复: 3

求大神看看。。我看了很久没发现问题,

[复制链接]
  • TA的每日心情
    奋斗
    2016-2-29 10:48
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    发表于 2015-3-19 09:16:43 | 显示全部楼层 |阅读模式
    一个正常的php代码,有人说里面有小马特征,可我怎么也发现不了。
    <?php

    /*
            [UCenter] (C)2001-2099 Comsenz Inc.
            This is NOT a freeware, use is subject to license terms

            $Id: avatar.php 1144 2013-01-31 06:47:43Z zhangjie $
    */


    error_reporting(0);

    _get_script_url();
    define('UC_API', strtolower(($_SERVER['HTTPS'] == 'on' ? 'https' : 'http').'://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/'))));

    $uid = isset($_GET['uid']) ? $_GET['uid'] : 0;
    $size = isset($_GET['size']) ? $_GET['size'] : '';
    $random = isset($_GET['random']) ? $_GET['random'] : '';
    $type = isset($_GET['type']) ? $_GET['type'] : '';
    $check = isset($_GET['check_file_exists']) ? $_GET['check_file_exists'] : '';

    $avatar = './data/avatar/'.get_avatar($uid, $size, $type);
    if(file_exists(dirname(__FILE__).'/'.$avatar)) {
            if($check) {
                    echo 1;
                    exit;
            }
            $random = !empty($random) ? rand(1000, 9999) : '';
            $avatar_url = empty($random) ? $avatar : $avatar.'?random='.$random;
    } else {
            if($check) {
                    echo 0;
                    exit;
            }
            $size = in_array($size, array('big', 'middle', 'small')) ? $size : 'middle';
            $avatar_url = 'images/noavatar_'.$size.'.gif';
    }

    if(empty($random)) {
            header("HTTP/1.1 301 Moved Permanently");
            header("Last-Modified:".date('r'));
            header("Expires: ".date('r', time() + 86400));
    }

    header('Location: '.UC_API.'/'.$avatar_url);
    exit;

    function get_avatar($uid, $size = 'middle', $type = '') {
            $size = in_array($size, array('big', 'middle', 'small')) ? $size : 'middle';
            $uid = abs(intval($uid));
            $uid = sprintf("%09d", $uid);
            $dir1 = substr($uid, 0, 3);
            $dir2 = substr($uid, 3, 2);
            $dir3 = substr($uid, 5, 2);
            $typeadd = $type == 'real' ? '_real' : '';
            return $dir1.'/'.$dir2.'/'.$dir3.'/'.substr($uid, -2).$typeadd."_avatar_$size.jpg";
    }

    function _get_script_url() {
            $scriptName = basename($_SERVER['SCRIPT_FILENAME']);
            if(basename($_SERVER['SCRIPT_NAME']) === $scriptName) {
                    $_SERVER['PHP_SELF'] = $_SERVER['SCRIPT_NAME'];
            } else if(basename($_SERVER['PHP_SELF']) === $scriptName) {
                    $_SERVER['PHP_SELF'] = $_SERVER['PHP_SELF'];
            } else if(isset($_SERVER['ORIG_SCRIPT_NAME']) && basename($_SERVER['ORIG_SCRIPT_NAME']) === $scriptName) {
                    $_SERVER['PHP_SELF'] = $_SERVER['ORIG_SCRIPT_NAME'];
            } else if(($pos = strpos($_SERVER['PHP_SELF'],'/'.$scriptName)) !== false) {
                    $_SERVER['PHP_SELF'] = substr($_SERVER['SCRIPT_NAME'],0,$pos).'/'.$scriptName;
            } else if(isset($_SERVER['DOCUMENT_ROOT']) && strpos($_SERVER['SCRIPT_FILENAME'],$_SERVER['DOCUMENT_ROOT']) === 0) {
                    $_SERVER['PHP_SELF'] = str_replace('\\','/',str_replace($_SERVER['DOCUMENT_ROOT'],'',$_SERVER['SCRIPT_FILENAME']));
                    $_SERVER['PHP_SELF'][0] != '/' && $_SERVER['PHP_SELF'] = '/'.$_SERVER['PHP_SELF'];
            } else {
                    return false;
            }
            return $_SERVER['PHP_SELF'];
    }

    ?>
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2016-2-29 10:48
  • 签到天数: 6 天

    [LV.2]偶尔看看I

     楼主| 发表于 2015-3-19 09:18:51 | 显示全部楼层
    是php论坛复制下来的,
    我道行浅,求大神教育。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2015-12-25 11:55
  • 签到天数: 103 天

    [LV.6]常住居民II

    发表于 2015-3-19 12:09:49 | 显示全部楼层
    没看到上传函数,估计是_get_script_url()这个函数吧,$_SERVER这个全局变量用了很多次,大部分小马都会有的,但是如果单单以这个为特征码,那也太严了吧.

    点评

    十分感谢。。  详情 回复 发表于 2015-3-20 09:00
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2016-2-29 10:48
  • 签到天数: 6 天

    [LV.2]偶尔看看I

     楼主| 发表于 2015-3-20 09:00:35 | 显示全部楼层
    tintion 发表于 2015-3-19 12:09
    没看到上传函数,估计是_get_script_url()这个函数吧,$_SERVER这个全局变量用了很多次,大部分小马都会有的, ...

    十分感谢。。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    指导单位

    江苏省公安厅

    江苏省通信管理局

    浙江省台州刑侦支队

    DEFCON GROUP 86025

    旗下站点

    邮箱系统

    应急响应中心

    红盟安全

    联系我们

    官方QQ群:112851260

    官方邮箱:security#ihonker.org(#改成@)

    官方核心成员

    Archiver|手机版|小黑屋| ( 苏ICP备2021031567号 )

    GMT+8, 2024-11-24 21:53 , Processed in 0.020048 second(s), 12 queries , Gzip On, MemCache On.

    Powered by ihonker.com

    Copyright © 2015-现在.

  • 返回顶部