Resultados de carga de archivos arbitrarios PHPYUN en GETSHELL

Breve descripción: Es tan
simple que difícilmente puede imaginarlo, siempre que el sitio web aún pueda registrarse, puede obtener Shell, ignorar GPC, ignorar WAF. Versión 4.1beta, otras versiones no se prueban

Descripción detallada:
1. Al auditar PHPYUN, me quedé sin palabras acerca del WAF de PHPYUN, pero cuando todos estaban obsesionados con buscar vulnerabilidades de inyección SQL, ignoré una vulnerabilidad de carga muy simple. Primero localice el archivo vulnerable wap / member / model / index.class.php

function photo_action(){
    
    
        if($_POST['submit']){
    
    
            preg_match('/^(data:\s*image\/(\w+);base64,)/', $_POST['uimage'], $result);
            $uimage=str_replace($result[1], '', str_replace('#','+',$_POST['uimage']));
            $new_file = time().".".$result[2];
            if (!file_exists(DATA_PATH."upload/user/".date('Ymd')."/")){
    
    
                mkdir(DATA_PATH."upload/user/".date('Ymd')."/");
                chmod(DATA_PATH."upload/user/".date('Ymd')."/",0777);
            }
            $re=file_put_contents(DATA_PATH."upload/user/".date('Ymd')."/".$new_file, base64_decode($uimage));
            chmod(DATA_PATH."upload/user/".date('Ymd')."/".$new_file,0777);
            if($re){
    
    
                $user=$this->obj->DB_select_once("resume","`uid`='".$this->uid."'","`photo`,`resume_photo`");
                if($user['photo']||$user['resume_photo']){
    
    
                    unlink_pic(APP_PATH.$user['photo']);
                    unlink_pic(APP_PATH.$user['resume_photo']);
                }
                $photo="./datahttps://images.seebug.org/upload/user/".date('Ymd')."/".$new_file;
                $this->obj->DB_update_all("resume","`resume_photo`='".$photo."',`photo`='".$photo."'","`uid`='".$this->uid."'");
                $this->obj->DB_update_all("resume_expect","`photo`='".$photo."'","`uid`='".$this->uid."'");
                echo 1;die;
            }else{
    
    
                unlink_pic("../datahttps://images.seebug.org/upload/user/".date('Ymd')."/".$new_file);
                echo 2;die;
            }
        } else{
    
    
            $user=$this->obj->DB_select_once("resume","`uid`='".$this->uid."'","`photo`");
            if($user['photo']==""){
    
    
                $user['photo']='/'.$this->config['sy_member_icon'];
            }
            $this->yunset("user",$user);
            $this->waptpl('photo');
        }
    }

2. El file_put_contents aquí recibe dos parámetros, ambos de $ _POST ['uimage'], y después de la codificación inversa de base64_decode, puede ignorar WAF. Primero registre un usuario normal, complete un currículum al azar y luego construya una carga útil, como un código de prueba, para generar un webshell php de un solo envío en nuestro directorio raíz. Web oficial no encuentra el demo, en el sitio web oficial en el primer rango caso de HTTP: // . . . / (Proveedor de electricidad Red de Talentos) código de prueba de referencia demuestra la vulnerabilidad, la carga útil de configuración, ¿cree que la última marca de tiempo, incluso de voladura que, sin necesidad de captura de uso eructo (no directamente accesibles, a menos que usted está usando un teléfono móvil de acceso, ya que esto se verifica la cabeza UA, el ordenador será redirigido, pero el código todavía detrás puede llevar a cabo), visite http: // . . . /wap/member/index.php?c=photo&m=index (si no publica ningún dato aquí, puede ver directamente el avatar actual, que contiene el webshell que cargamos)

HTTP: // . . . /Datahttps://images.seebug.org/upload/user/20160330/1459344569.php 3, el mismo problema también se produce en el wap / miembro / modelo / com.class.php.
Prueba de vulnerabilidad:
Inserte la descripción de la imagen aquí

HTTP: // . . . Administrador /datahttps://images.seebug.org/upload/user/20160330/1459344569.php de conformidad con los requisitos de los casos grandes y luego se lo proporciona, solamente pasan phpinfo, no hay problema, 1.http derecha: // . . . /datahttps://images.seebug.org/upload/user/20160331/1459407471.php 2.http: // . . . /datahttps://images.seebug.org/upload/user/20160331 3.http /1459407615.php: // . . . /datahttps://images.seebug.org/upload/user/20160331/1459407983.php 4.http: // . . . /datahttps://images.seebug .org / la carga / la usuario / 20160331 / 1459408176.php 5.http: // . . . /datahttps://images.seebug.org/upload/user/20160330/1459344569.php 6.http: // .. . /datahttps://images.seebug.org/upload/user/20160331/1459408409.php

Supongo que te gusta

Origin blog.csdn.net/aasss12345/article/details/88022430
Recomendado
Clasificación