!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)

/usr/lib/gedit-2/plugins/snippets/   drwxr-xr-x
Free 53.79 GB of 127.8 GB (42.09%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     SnippetPluginInstance.py (4.39 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#    Gedit snippets plugin
#    Copyright (C) 2005-2006  Jesse van den Kieboom <jesse@icecrew.nl>
#
#    This program is free software; you can redistribute it and/or modify
#    it under the terms of the GNU General Public License as published by
#    the Free Software Foundation; either version 2 of the License, or
#    (at your option) any later version.
#
#    This program is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU General Public License for more details.
#
#    You should have received a copy of the GNU General Public License
#    along with this program; if not, write to the Free Software
#    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA

import gtksourceview
import gedit
import gtk
from gtk import gdk
import re
import os
import gettext
from SnippetController import SnippetController
from SnippetsLibrary import SnippetsLibrary

class SnippetsPluginInstance:
    def __init__(self, plugin):
        self.plugin = plugin
        self.current_controller = None
        self.current_language = None
        self.signal_ids = {}
        
    def run(self, window):
        self.window = window
        self.insert_menu()
        
        self.accel_group = SnippetsLibrary().get_accel_group(None)
        
        window.add_accel_group(self.accel_group)
        window.connect('tab-added', self.on_tab_added)
        
        # Add controllers to all the current views
        for view in self.window.get_views():
            if isinstance(view, gedit.View) and not self.has_controller(view):
                view._snippet_controller = SnippetController(self, view)
        
        self.update()
    
    def stop(self):
        self.window.remove_accel_group(self.accel_group)
        self.accel_group = None
        
        #self.window.remove_accel_group(accel)
        self.remove_menu()

        # Iterate over all the tabs and remove every controller
        for view in self.window.get_views():
            if isinstance(view, gedit.View) and self.has_controller(view):
                view._snippet_controller.stop()
                view._snippet_controller = None        
        
        self.window = None
        self.plugin = None
    
    def insert_menu(self):
        manager = self.window.get_ui_manager()

        self.action_group = gtk.ActionGroup("GeditSnippetPluginActions")
        self.action_group.set_translation_domain('gedit')
        self.action_group.add_actions([('Snippets', None,
                _('Manage _Snippets...'), \
                None, _('Manage snippets'), \
                self.on_action_snippets_activate)])

        self.merge_id = manager.new_merge_id()
        manager.insert_action_group(self.action_group, -1)        
        manager.add_ui(self.merge_id, '/MenuBar/ToolsMenu/ToolsOps_5', \
                'Snippets', 'Snippets', gtk.UI_MANAGER_MENUITEM, False)

    def remove_menu(self):
        manager = self.window.get_ui_manager()
        manager.remove_ui(self.merge_id)
        manager.remove_action_group(self.action_group)
        self.action_group = None
    
    def find_snippet(self, snippets, tag):
        result = []
        
        for snippet in snippets:
            if Snippet(snippet)['tag'] == tag:
                result.append(snippet)
        
        return result

    def has_controller(self, view):
        return hasattr(view, '_snippet_controller') and view._snippet_controller

    def update_language(self):
        if self.current_language:
            accel_group = SnippetsLibrary().get_accel_group( \
                    self.current_language)
            self.window.remove_accel_group(accel_group)

        if self.current_controller:
            self.current_language = self.current_controller.language_id
            
            if self.current_language != None:
                accel_group = SnippetsLibrary().get_accel_group( \
                        self.current_language)
                self.window.add_accel_group(accel_group)
        else:
            self.current_language = None
        
    def language_changed(self, controller):
        if controller == self.current_controller:
            self.update_language()
        
    def update(self):
        view = self.window.get_active_view()
        
        if not view or not self.has_controller(view):
            return
        
        controller = view._snippet_controller
        
        if controller != self.current_controller:
            self.current_controller = controller
            self.update_language()

    # Callbacks
    
    def on_tab_added(self, window, tab):
        # Create a new controller for this tab if it has a standard gedit view
        view = tab.get_view()
        
        if isinstance(view, gedit.View) and not self.has_controller(view):
            view._snippet_controller = SnippetController(self, view)

    def on_action_snippets_activate(self, item):
        self.plugin.create_configure_dialog()

    def accelerator_activated(self, keyval, mod):
        return self.current_controller.accelerator_activate(keyval, mod)

:: 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 ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

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