!C99Shell v. 1.0 pre-release build #13!

Software: Apache. PHP/5.5.15 

uname -a: Windows NT SVR-DMZ 6.1 build 7600 (Windows Server 2008 R2 Enterprise Edition) i586 

SYSTEM 

Safe-mode: OFF (not secure)

E:\xampp\xampp\php\PEAR\Zend\Service\Amazon\Ec2\   drwxrwxrwx
Free 7.25 GB of 239.26 GB (3.03%)
Detected drives: [ a ] [ c ] [ d ] [ e ] [ f ]
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     Image.php (14.34 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/**
 * Zend Framework
 *
 * LICENSE
 *
 * This source file is subject to the new BSD license that is bundled
 * with this package in the file LICENSE.txt.
 * It is also available through the world-wide-web at this URL:
 * http://framework.zend.com/license/new-bsd
 * If you did not receive a copy of the license and are unable to
 * obtain it through the world-wide-web, please send an email
 * to license@zend.com so we can send you a copy immediately.
 *
 * @category   Zend
 * @package    Zend_Service_Amazon
 * @subpackage Ec2
 * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
 * @license    http://framework.zend.com/license/new-bsd     New BSD License
 * @version    $Id: Image.php 16971 2009-07-22 18:05:45Z mikaelkael $
 */

require_once 'Zend/Service/Amazon/Ec2/Abstract.php';

/**
 * An Amazon EC2 interface to register, describe and deregister Amamzon Machine Instances (AMI)
 *
 * @category   Zend
 * @package    Zend_Service_Amazon
 * @subpackage Ec2
 * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
 * @license    http://framework.zend.com/license/new-bsd     New BSD License
 */
class Zend_Service_Amazon_Ec2_Image extends Zend_Service_Amazon_Ec2_Abstract
{
    
/**
     * Registers an AMI with Amazon EC2. Images must be registered before
     * they can be launched.
     *
     * Each AMI is associated with an unique ID which is provided by the Amazon
     * EC2 service through the RegisterImage operation. During registration, Amazon
     * EC2 retrieves the specified image manifest from Amazon S3 and verifies that
     * the image is owned by the user registering the image.
     *
     * The image manifest is retrieved once and stored within the Amazon EC2.
     * Any modifications to an image in Amazon S3 invalidates this registration.
     * If you make changes to an image, deregister the previous image and register
     * the new image. For more information, see DeregisterImage.
     *
     * @param string $imageLocation         Full path to your AMI manifest in Amazon S3 storage.
     * @return string                       The ami fro the newly registred image;
     */
    
public function register($imageLocation)
    {
        
$params                 = array();
        
$params['Action']       = 'RegisterImage';
        
$params['ImageLocation']= $imageLocation;

        
$response $this->sendRequest($params);
        
$xpath $response->getXPath();

        
$amiId $xpath->evaluate('string(//ec2:imageId/text())');

        return 
$amiId;
    }

    
/**
     * Returns information about AMIs, AKIs, and ARIs available to the user.
     * Information returned includes image type, product codes, architecture,
     * and kernel and RAM disk IDs. Images available to the user include public
     * images available for any user to launch, private images owned by the user
     * making the request, and private images owned by other users for which the
     * user has explicit launch permissions.
     *
     * Launch permissions fall into three categories:
     *      public: The owner of the AMI granted launch permissions for the AMI
     *              to the all group. All users have launch permissions for these AMIs.
     *      explicit: The owner of the AMI granted launch permissions to a specific user.
     *      implicit: A user has implicit launch permissions for all AMIs he or she owns.
     *
     * The list of AMIs returned can be modified by specifying AMI IDs, AMI owners,
     * or users with launch permissions. If no options are specified, Amazon EC2 returns
     * all AMIs for which the user has launch permissions.
     *
     * If you specify one or more AMI IDs, only AMIs that have the specified IDs are returned.
     * If you specify an invalid AMI ID, a fault is returned. If you specify an AMI ID for which
     * you do not have access, it will not be included in the returned results.
     *
     * If you specify one or more AMI owners, only AMIs from the specified owners and for
     * which you have access are returned. The results can include the account IDs of the
     * specified owners, amazon for AMIs owned by Amazon or self for AMIs that you own.
     *
     * If you specify a list of executable users, only users that have launch permissions
     * for the AMIs are returned. You can specify account IDs (if you own the AMI(s)), self
     * for AMIs for which you own or have explicit permissions, or all for public AMIs.
     *
     * @param string|array $imageId             A list of image descriptions
     * @param string|array $owner               Owners of AMIs to describe.
     * @param string|array $executableBy        AMIs for which specified users have access.
     * @return array
     */
    
public function describe($imageId null$owner null$executableBy null)
    {
        
$params = array();
        
$params['Action'] = 'DescribeImages';

        if(
is_array($imageId) && !empty($imageId)) {
            foreach(
$imageId as $k=>$name) {
                
$params['ImageId.' . ($k+1)] = $name;
            }
        } elseif(
$imageId) {
            
$params['ImageId.1'] = $imageId;
        }

        if(
is_array($owner) && !empty($owner)) {
            foreach(
$owner as $k=>$name) {
                
$params['Owner.' . ($k+1)] = $name;
            }
        } elseif(
$owner) {
            
$params['Owner.1'] = $owner;
        }

        if(
is_array($executableBy) && !empty($executableBy)) {
            foreach(
$executableBy as $k=>$name) {
                
$params['ExecutableBy.' . ($k+1)] = $name;
            }
        } elseif(
$executableBy) {
            
$params['ExecutableBy.1'] = $executableBy;
        }

        
$response $this->sendRequest($params);

        
$xpath  $response->getXPath();
        
$nodes $xpath->query('//ec2:imagesSet/ec2:item');

        
$return = array();
        foreach (
$nodes as $node) {
            
$item = array();

            
$item['imageId']        = $xpath->evaluate('string(ec2:imageId/text())'$node);
            
$item['imageLocation']  = $xpath->evaluate('string(ec2:imageLocation/text())'$node);
            
$item['imageState']     = $xpath->evaluate('string(ec2:imageState/text())'$node);
            
$item['imageOwnerId']   = $xpath->evaluate('string(ec2:imageOwnerId/text())'$node);
            
$item['isPublic']       = $xpath->evaluate('string(ec2:isPublic/text())'$node);
            
$item['architecture']   = $xpath->evaluate('string(ec2:architecture/text())'$node);
            
$item['imageType']      = $xpath->evaluate('string(ec2:imageType/text())'$node);
            
$item['kernelId']       = $xpath->evaluate('string(ec2:kernelId/text())'$node);
            
$item['ramdiskId']      = $xpath->evaluate('string(ec2:ramdiskId/text())'$node);
            
$item['platform']       = $xpath->evaluate('string(ec2:platform/text())'$node);

            
$return[] = $item;
            unset(
$item$node);
        }

        return 
$return;
    }

    
/**
     * Deregisters an AMI. Once deregistered, instances of the AMI can no longer be launched.
     *
     * @param string $imageId                   Unique ID of a machine image, returned by a call
     *                                          to RegisterImage or DescribeImages.
     * @return boolean
     */
    
public function deregister($imageId)
    {
        
$params                 = array();
        
$params['Action']       = 'DeregisterImage';
        
$params['ImageId']      = $imageId;

        
$response $this->sendRequest($params);
        
$xpath $response->getXPath();

        
$return $xpath->evaluate('string(//ec2:return/text())');

        return (
$return === "true");
    }

    
/**
     * Modifies an attribute of an AMI.
     *
     * Valid Attributes:
     *       launchPermission:  Controls who has permission to launch the AMI. Launch permissions
     *                          can be granted to specific users by adding userIds.
     *                          To make the AMI public, add the all group.
     *       productCodes:      Associates a product code with AMIs. This allows developers to
     *                          charge users for using AMIs. The user must be signed up for the
     *                          product before they can launch the AMI. This is a write once attribute;
     *                          after it is set, it cannot be changed or removed.
     *
     * @param string $imageId                   AMI ID to modify.
     * @param string $attribute                 Specifies the attribute to modify. See the preceding
     *                                          attributes table for supported attributes.
     * @param string $operationType             Specifies the operation to perform on the attribute.
     *                                          See the preceding attributes table for supported operations for attributes.
     *                                          Valid Values: add | remove
     *                                          Required for launchPermssion Attribute
     *
     * @param string|array $userId              User IDs to add to or remove from the launchPermission attribute.
     *                                          Required for launchPermssion Attribute
     * @param string|array $userGroup           User groups to add to or remove from the launchPermission attribute.
     *                                          Currently, the all group is available, which will make it a public AMI.
     *                                          Required for launchPermssion Attribute
     * @param string $productCode               Attaches a product code to the AMI. Currently only one product code
     *                                          can be associated with an AMI. Once set, the product code cannot be changed or reset.
     *                                          Required for productCodes Attribute
     * @return boolean
     */
    
public function modifyAttribute($imageId$attribute$operationType 'add'$userId null$userGroup null$productCode null)
    {
        
$params = array();
        
$params['Action'] = 'ModifyImageAttribute';
        
$parmas['ImageId'] = $imageId;
        
$params['Attribute'] = $attribute;

        switch(
$attribute) {
            case 
'launchPermission':
                
// break left out
            
case 'launchpermission':
                
$params['Attribute'] = 'launchPermission';
                
$params['OperationType'] = $operationType;

                if(
is_array($userId) && !empty($userId)) {
                    foreach(
$userId as $k=>$name) {
                        
$params['UserId.' . ($k+1)] = $name;
                    }
                } elseif(
$userId) {
                    
$params['UserId.1'] = $userId;
                }

                if(
is_array($userGroup) && !empty($userGroup)) {
                    foreach(
$userGroup as $k=>$name) {
                        
$params['UserGroup.' . ($k+1)] = $name;
                    }
                } elseif(
$userGroup) {
                    
$params['UserGroup.1'] = $userGroup;
                }

                break;
            case 
'productCodes':
                
// break left out
            
case 'productcodes':
                
$params['Attribute'] = 'productCodes';
                
$params['ProductCode.1'] = $productCode;
                break;
            default:
                require_once 
'Zend/Service/Amazon/Ec2/Exception.php';
                throw new 
Zend_Service_Amazon_Ec2_Exception('Invalid Attribute Passed In.  Valid Image Attributes are launchPermission and productCode.');
                break;
        }

        
$response $this->sendRequest($params);
        
$xpath $response->getXPath();

        
$return $xpath->evaluate('string(//ec2:return/text())');

        return (
$return === "true");
    }

    
/**
     * Returns information about an attribute of an AMI. Only one attribute can be specified per call.
     *
     * @param string $imageId                   ID of the AMI for which an attribute will be described.
     * @param string $attribute                 Specifies the attribute to describe.  Valid Attributes are
     *                                          launchPermission, productCodes
     */
    
public function describeAttribute($imageId$attribute)
    {
        
$params = array();
        
$params['Action'] = 'DescribeImageAttribute';
        
$params['ImageId'] = $imageId;
        
$params['Attribute'] = $attribute;

        
$response $this->sendRequest($params);
        
$xpath $response->getXPath();

        
$return = array();
        
$return['imageId'] = $xpath->evaluate('string(//ec2:imageId/text())');

        
// check for launchPermission
        
if($attribute == 'launchPermission') {
            
$lPnodes $xpath->query('//ec2:launchPermission/ec2:item');

            if(
$lPnodes->length 0) {
                
$return['launchPermission'] = array();
                foreach(
$lPnodes as $node) {
                    
$return['launchPermission'][] = $xpath->evaluate('string(ec2:userId/text())'$node);
                }
            }
        }

        
// check for product codes
        
if($attribute == 'productCodes') {
            
$pCnodes $xpath->query('//ec2:productCodes/ec2:item');
            if(
$pCnodes->length 0) {
                
$return['productCodes'] = array();
                foreach(
$pCnodes as $node) {
                    
$return['productCodes'][] = $xpath->evaluate('string(ec2:productCode/text())'$node);
                }
            }
        }

        return 
$return;

    }

    
/**
     * Resets an attribute of an AMI to its default value.  The productCodes attribute cannot be reset
     *
     * @param string $imageId                   ID of the AMI for which an attribute will be reset.
     * @param String $attribute                 Specifies the attribute to reset. Currently, only launchPermission is supported.
     *                                          In the case of launchPermission, all public and explicit launch permissions for
     *                                          the AMI are revoked.
     * @return boolean
     */
    
public function resetAttribute($imageId$attribute)
    {
        
$params = array();
        
$params['Action'] = 'ResetImageAttribute';
        
$params['ImageId'] = $imageId;
        
$params['Attribute'] = $attribute;

        
$response $this->sendRequest($params);
        
$xpath $response->getXPath();

        
$return $xpath->evaluate('string(//ec2:return/text())');

        return (
$return === "true");
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

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

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

--[ c99shell v. 1.0 pre-release build #13 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.0312 ]--