Linux mail.vriendennsm.nl 6.1.0-51-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.177-1 (2026-07-16) x86_64
Apache/2.4.68 (Debian)
Server IP : 217.154.75.17 & Your IP : 216.73.216.195
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
var /
www /
vnsm /
plugins /
content /
DirectPHP /
Delete
Unzip
Name
Size
Permission
Date
Action
DirectPHP.php
4.02
KB
-rwxr-xr-x
2018-04-20 12:55
DirectPHP.xml
2.12
KB
-rwxr-xr-x
2018-04-20 12:55
Save
Rename
<?php /** * DirectPHP plugin * allows direct embedding of PHP commands * right inside Joomla content page for dynamic contents * Author: kksou * Copyright (C) 2006-2011. kksou.com. All Rights Reserved * License: GNU/GPL http://www.gnu.org/copyleft/gpl.html * Website: http://www.kksou.com/php-gtk2 * v1.5 March 26, 2008 * v1.5.3 May 12, 2008 * v1.5.4 June 21, 2008 * v1.5.6 Apr 8, 2009 added using_no_editor in parameter * v1.6 Feb 21, 2011 support for Joomla 1.6 * v1.7 Oct 10, 2011 support for Joomla 1.7 * v2.5 Jan 25, 2012 support for Joomla 2.5 * v3.0 Mar 21, 2013 support for Joomla 3.0 * v3.01 Sep 23, 2016 support for Joomla 3.0 and above + PHP 7 */ defined( '_JEXEC' ) or die( 'Direct Access to this location is not allowed.' ); jimport( 'joomla.event.plugin' ); class plgContentDirectPHP extends JPlugin { function __construct( &$subject, $params ) { parent::__construct( $subject, $params ); } function onContentPrepare( $context, &$article, &$params, $limitstart=0 ) { global $mainframe; global $enable_command_block, $block_list; #$plugin =& JPluginHelper::getPlugin('content', 'DirectPHP'); $pluginParams = $this->params; $using_no_editor = $pluginParams->get('using_no_editor'); $enable_command_block = $pluginParams->get('enable_command_block'); $block_list = $pluginParams->get('block_list'); $block_list = preg_replace('/\s*/s', '', $block_list); $block_list = explode(',', $block_list); $php_start = "<?php"; $php_end = "?>"; $contents = $article->text; $contents = $this->fix_str($contents); $output = ""; $regexp = '/(.*?)'.$this->fix_reg($php_start).'\s+(.*?)'.$this->fix_reg($php_end).'(.*)/s'; $found = preg_match($regexp, $contents, $matches); while ($found) { $output .= $matches[1]; $phpcode = $matches[2]; #$phpcode2 = $this->fix_str2($phpcode); global $errmsg; if ($this->check_php($phpcode)) { ob_start(); if ($using_no_editor) { eval($phpcode); } else { eval($this->fix_str2($phpcode)); } $output .= ob_get_contents(); ob_end_clean(); } else { $output .= "The following command is not allowed: <b>$errmsg</b>"; } $contents = $matches[3]; $found = preg_match($regexp, $contents, $matches); } $output .= $contents; $article->text = $output; return true; } function fix_str($str) { $str = str_replace('{?php', '<?php', $str); $str = str_replace('?}', '?>', $str); $str = preg_replace(array('%<\?php(\s| |<br\s/>|<br>|<p>|</p>)%s', '/\?>/s', '/->/'), array('<?php ', '?>', '->'), $str); return $str; } function fix_str2($str) { $str = str_replace('<br>', "\n", $str); $str = str_replace('<br />', "\n", $str); $str = str_replace('<p>', "\n", $str); $str = str_replace('</p>', "\n", $str); $str = str_replace(''', "'", $str); $str = str_replace('"', '"', $str); $str = str_replace('<', '<', $str); $str = str_replace('>', '>', $str); $str = str_replace('&', '&', $str); $str = str_replace(' ', ' ', $str); $str = str_replace(' ', "\t", $str); $str = str_replace(chr(hexdec('C2')).chr(hexdec('A0')), '', $str); $str = str_replace(html_entity_decode("Â "), '', $str); return $str; } function fix_reg($str) { $str = str_replace('?', '\?', $str); $str = str_replace('{', '\{', $str); $str = str_replace('}', '\}', $str); return $str; } function check_php($code) { global $enable_command_block, $block_list, $errmsg; $status = 1; if (!$enable_command_block) return $status; $function_list = array(); if (preg_match_all('/([a-zA-Z0-9_]+)\s*[(|"|\']/s', $code, $matches)) { $function_list = $matches[1]; } if (preg_match('/`(.*?)`/s', $code)) { $status = 0; $errmsg = 'backticks (``)'; return $status; } if (preg_match('/\$database\s*->\s*([a-zA-Z0-9_]+)\s*[(|"|\']/s', $code, $matches)) { $status = 0; $errmsg = 'database->'.$matches[1]; return $status; } foreach($function_list as $command) { if (in_array($command, $block_list)) { $status = 0; $errmsg = $command; break; } } return $status; } } ?>