Skocz do zawartości

Doczepione, ukryte linki.


Bodhistawa

Rekomendowane odpowiedzi

Witam,

Jakiś syf podczepił mi linki do wszystkich stron na serwerze.

Wygląda to tak:

<div style="position:absolute; left:-9999px; "><ul><li>La concurrence entre les maisons de courtage a donne lieu a le compte de demonstration forex <a href="https://www.fx-trading-platforms.org/">forex</a> choisir les paires de devises plus exotiques informations de premier ordre sur le monde du Forex</li><li>Roulette im Internet ist moglich Uber Casino Roulette <a href="https://www.onlinecasinospielen.biz/">online casino</a> Casino ist eine Welt von Ruhm und Geld Einfach aufstehen aus dem Schlitz und kaufen Sie sich selbst ein erfrischendes Getrank Spiele und es ist eines der besten Casinos Australien</li></ul></div>

Nie jestem w stanie tego usunąć. Kod nie występuje w żadnym pliku i nie wiem w jaki sposób jest dołączany do stron.

Odnośnik do komentarza
Udostępnij na innych stronach

index.php wygląda tak:

<?php
/**
* @version $Id: index.php 4750 2006-08-25 01:08:30Z stingrey $
* @package Joomla
* @copyright Copyright (C) 2005 Open Source Matters. All rights reserved.
* @license https://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
* Joomla! is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See COPYRIGHT.php for copyright notices and details.
*/

// Set flag that this is a parent file
define( '_VALID_MOS', 1 );

// checks for configuration file, if none found loads installation page
if (!file_exists( 'configuration.php' ) || filesize( 'configuration.php' ) < 10) {
$self = str_replace( '/index.php','', strtolower( $_SERVER['PHP_SELF'] ) ). '/';
header("Location: https://" . $_SERVER['HTTP_HOST'] . $self . "installation/index.php" );
exit();
}

require( 'globals.php' );
require_once( 'configuration.php' );
require_once( 'includes/joomla.php' );

//Installation sub folder check, removed for work with SVN
if (file_exists( 'installation/index.php' ) && $_VERSION->SVN == 0) {
define( '_INSTALL_CHECK', 1 );
include ( $mosConfig_absolute_path .'/offline.php');
exit();
}

// displays offline/maintanance page or bar
if ($mosConfig_offline == 1) {
require( $mosConfig_absolute_path .'/offline.php' );
}

// load system bot group
$_MAMBOTS->loadBotGroup( 'system' );

// trigger the onStart events
$_MAMBOTS->trigger( 'onStart' );

if (file_exists( $mosConfig_absolute_path .'/components/com_sef/sef.php' )) {
require_once( $mosConfig_absolute_path .'/components/com_sef/sef.php' );
} else {
require_once( $mosConfig_absolute_path .'/includes/sef.php' );
}
require_once( $mosConfig_absolute_path .'/includes/frontend.php' );

// retrieve some expected url (or form) arguments
$option = strval( strtolower( mosGetParam( $_REQUEST, 'option' ) ) );
$Itemid = intval( mosGetParam( $_REQUEST, 'Itemid', null ) );

if ($option == '') {
if ($Itemid) {
	$query = "SELECT id, link"
	. "\n FROM #__menu"
	. "\n WHERE menutype = 'mainmenu'"
	. "\n AND id = '$Itemid'"
	. "\n AND published = '1'"
;
	$database->setQuery( $query );
} else {
	$query = "SELECT id, link"
	. "\n FROM #__menu"
	. "\n WHERE menutype = 'mainmenu'"
	. "\n AND published = 1"
	. "\n ORDER BY parent, ordering"
;
	$database->setQuery( $query, 0, 1 );
}
$menu = new mosMenu( $database );
if ($database->loadObject( $menu )) {
	$Itemid = $menu->id;
}
$link = $menu->link;
if (($pos = strpos( $link, '?' )) !== false) {
	$link = substr( $link, $pos+1 ). '&Itemid='.$Itemid;
}
parse_str( $link, $temp );
/** this is a patch, need to rework when globals are handled better */
foreach ($temp as $k=>$v) {
	$GLOBALS[$k] = $v;
	$_REQUEST[$k] = $v;
	if ($k == 'option') {
		$option = $v;
	}
}
}
if ( !$Itemid ) {
// when no Itemid give a default value
$Itemid = 99999999;
}

// mainframe is an API workhorse, lots of 'core' interaction routines
$mainframe = new mosMainFrame( $database, $option, '.' );
$mainframe->initSession();

// trigger the onAfterStart events
$_MAMBOTS->trigger( 'onAfterStart' );

// checking if we can find the Itemid thru the content
if ( $option == 'com_content' && $Itemid === 0 ) {
$id 	= intval( mosGetParam( $_REQUEST, 'id', 0 ) );
$Itemid = $mainframe->getItemid( $id );
}

/** do we have a valid Itemid yet?? */
if ( $Itemid === 0 ) {
/** Nope, just use the homepage then. */
$query = "SELECT id"
. "\n FROM #__menu"
. "\n WHERE menutype = 'mainmenu'"
. "\n AND published = 1"
. "\n ORDER BY parent, ordering"
;
$database->setQuery( $query, 0, 1 );
$Itemid = $database->loadResult();
}

// patch to lessen the impact on templates
if ($option == 'search') {
$option = 'com_search';
}

// loads english language file by default
if ($mosConfig_lang=='') {
$mosConfig_lang = 'english';
}
include_once( $mosConfig_absolute_path .'/language/' . $mosConfig_lang . '.php' );

// frontend login & logout controls
$return 	= strval( mosGetParam( $_REQUEST, 'return', NULL ) );
$message 	= intval( mosGetParam( $_POST, 'message', 0 ) );
if ($option == 'login') {
$mainframe->login();

// JS Popup message
if ( $message ) {
	?>
	<script language="javascript" type="text/javascript">
	<!--//
	alert( "<?php echo _LOGIN_SUCCESS; ?>" );
	//-->
	</script>
	<?php
}

if ( $return && !( strpos( $return, 'com_registration' ) || strpos( $return, 'com_login' ) ) ) {
// checks for the presence of a return url 
// and ensures that this url is not the registration or login pages
	mosRedirect( $return );
} else {
	mosRedirect( $mosConfig_live_site .'/index.php' );
}

} else if ($option == 'logout') {
$mainframe->logout();

// JS Popup message
if ( $message ) {
	?>
	<script language="javascript" type="text/javascript">
	<!--//
	alert( "<?php echo _LOGOUT_SUCCESS; ?>" );
	//-->
	</script>
	<?php
}

if ( $return && !( strpos( $return, 'com_registration' ) || strpos( $return, 'com_login' ) ) ) {
// checks for the presence of a return url 
// and ensures that this url is not the registration or logout pages
	mosRedirect( $return );
} else {
	mosRedirect( $mosConfig_live_site.'/index.php' );
}
}

/** get the information about the current user from the sessions table */
$my = $mainframe->getUser();

// detect first visit
$mainframe->detect();

// set for overlib check
$mainframe->set( 'loadOverlib', false );

$gid = intval( $my->gid );

// gets template for page
$cur_template = $mainframe->getTemplate();
/** temp fix - this feature is currently disabled */

/** @global A places to store information from processing of the component */
$_MOS_OPTION = array();

// precapture the output of the component
require_once( $mosConfig_absolute_path . '/editor/editor.php' );

ob_start();

if ($path = $mainframe->getPath( 'front' )) {
$task 	= strval( mosGetParam( $_REQUEST, 'task', '' ) );
$ret 	= mosMenuCheck( $Itemid, $option, $task, $gid );

if ($ret) {
	require_once( $path );
} else {
	mosNotAuth();
}
} else {
header( 'HTTP/1.0 404 Not Found' );
echo _NOT_EXIST;
}

$_MOS_OPTION['buffer'] = ob_get_contents();

ob_end_clean();

initGzip();

header( 'Expires: Mon, 26 Jul 1997 05:00:00 GMT' );
header( 'Last-Modified: ' . gmdate( 'D, d M Y H:i:s' ) . ' GMT' );
header( 'Cache-Control: no-store, no-cache, must-revalidate' );
header( 'Cache-Control: post-check=0, pre-check=0', false );
header( 'Pragma: no-cache' );

// display the offline alert if an admin is logged in
if (defined( '_ADMIN_OFFLINE' )) {
include( $mosConfig_absolute_path .'/offlinebar.php' );
}

// loads template file
if ( !file_exists( $mosConfig_absolute_path .'/templates/'. $cur_template .'/index.php' ) ) {
echo _TEMPLATE_WARN . $cur_template;
} else {
require_once( $mosConfig_absolute_path .'/templates/'. $cur_template .'/index.php' );
echo '<!-- '. time() .' -->';
}

// displays queries performed for page
if ($mosConfig_debug) {
echo $database->_ticker . ' queries executed';
echo '<pre>';
	foreach ($database->_log as $k=>$sql) {
		echo $k+1 . "\n" . $sql . '<hr />';
}
echo '</pre>';
}

doGzip();
?>

Nie widzę w nim nic, ale o php mam niewielkie pojęcie.

Odnośnik do komentarza
Udostępnij na innych stronach

Nie rozumiem dlaczego nikt nie polecił sprawdzenia tego co masz w bazie danych. Skoro nie ma w plikach to prawie na pewno siedzi w bazie. Zrób dump-a bazy i przeszukaj ten plik - pewnie tam znajdziesz. Pewnie ktoś wstrzyknął Ci coś poprzez XSS do bazki. Jeśli tam nic nie będzie to podeślij mi link do strony na PW - chyba, że ta strona to jakusunac.pl :) Skoro masz taką domene to powinieneś sam sobie z tym poradzić - nazwa zobowiązuje... dopisz w tym serwisie po prostu temat jak usunąc dorzucony kod z Waszej strony :)

 Szablony do zennopostera - ZenBLOG, ZenSocialBot, ZenOgłoszenia, Szeptacz, ZenFles, ZenReview, szablony do poczty i inne). Tylko profile VIP proszę zamawiać przez priv lub email

Odnośnik do komentarza
Udostępnij na innych stronach

Haha, nie wiedziałem do czego pijesz z tym jakusunac.pl, wszedłem i zobaczyłem, fakt, zabawna sprawa, ale to nie moja strona. Szukałem już w bazie poprzez php myadmina, ale nie znalazłem, bo pobraniu bazy na hdd wyszukiwarka też nie widzi tego (jest jakoś zaszyfrowane?).

Offlinebar.php

<?php

/** ensure this file is being included by a parent file */
defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );

require_once( 'includes/joomla.php' );
@include_once ('language/'.$mosConfig_lang.'.php');

global $option, $database;
global $mosConfig_live_site;

// gets template for page
$cur_template = @$mainframe->getTemplate();
if ( !$cur_template ) {
$cur_template = 'rhuk_solarflare_ii';
}

// HTML Output

// needed to seperate the ISO number from the language file constant _ISO
$iso = split( '=', _ISO );
// xml prolog
echo '<?xml version="1.0" encoding="'. $iso[1] .'"?' .'>';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="https://www.w3.org/1999/xhtml">
<head>
<style>
table.moswarning {
font-size: 200%;
background-color: #c00;
color: #fff;
border-bottom: 2px solid #600
}

table.moswarning h2 {
padding: 0;
margin: 0;
text-align: center;
font-family: Arial, Helvetica, sans-serif;
}

</style>
<meta http-equiv="Content-Type" content="text/html; <?php echo _ISO; ?>" />
<title><?php echo $mosConfig_sitename; ?> - Offline</title>
<link rel="stylesheet" href="<?php echo $mosConfig_live_site; ?>/templates/<?php echo $cur_template;?>/css/template_css.css" type="text/css" />
</head>
<body style="margin: 0px; padding: 0px;">

<table width="100%" align="center" class="moswarning">
<?php 
if ( $mosConfig_offline == 1 ) { 
?>
<tr>
	<td>
		<h2>
		<?php
		echo $mosConfig_sitename;
		echo ' - ';
		echo $mosConfig_offline_message;
		?>
		</h2>
	</td>
</tr>
<?php
} else if ( @$mosSystemError ){
?>
<tr>
	<td>
		<h2>
		<?php echo $mosConfig_error_message; ?>
		</h2>
		<?php echo $mosSystemError; ?>
	</td>
</tr>
<?php
} else {
?>
<tr>
	<td>
		<h2>
		<?php echo 'INSTALL_WARN'; ?>
		</h2>
	</td>
</tr>
<?php
}
?>
</table>

</body>
</html>

Odnośnik do komentarza
Udostępnij na innych stronach

tak, może być w plikach zakodowany na różne sposoby. Poszukaj np w swojej skórce i dump-ie z bazy tekstu: "uggc://" ale bez dostęp do ftpa - to ciężko pomóc - bo to może być na rożne sposoby zaszyfrowane. Ja stawiam na to, ze Twoj serwis Joomla, którą podałeś mi na PW miała zle poustawiana chmody i coś się zaciągnęło - Joomla jest podatna na takie rzeczy.

Jesteś pewien, że na początku tego nie było? Moze jak ściągałeś szablon to już był wzbogacony o ten kod. Bardzo popularna praktyka udostępniających szablony "za free", bo na pierwszy rzut oka user nie zauważy linków w stopce i decyduje się na ten szablon - a tam w uktytej stopce szaleństwo.

Zamień szablon na domyślny Joomli i będziesz wszystko wiedział

 Szablony do zennopostera - ZenBLOG, ZenSocialBot, ZenOgłoszenia, Szeptacz, ZenFles, ZenReview, szablony do poczty i inne). Tylko profile VIP proszę zamawiać przez priv lub email

Odnośnik do komentarza
Udostępnij na innych stronach

pewnie coś musiałeś przeoczyć :D Musi gdzieś być ... jak chcesz mozesz mi podac dane doftpa- to zerknę nieodpłatnie w ramach zwiększenia doświadczenia:)

 Szablony do zennopostera - ZenBLOG, ZenSocialBot, ZenOgłoszenia, Szeptacz, ZenFles, ZenReview, szablony do poczty i inne). Tylko profile VIP proszę zamawiać przez priv lub email

Odnośnik do komentarza
Udostępnij na innych stronach

W wielu plikach .php był na początku dodany kod z zaszyfrowaną treścią.

Mogę nieodpłatnie zerknąć musiałbym znać tylko dostęp do FTP :)

Jakub Jaworowicz

Zobacz mój Blog o WordPress i Marketingu

Odnośnik do komentarza
Udostępnij na innych stronach

już wcześniej nieodpłatnie naprawiłem koledze te stronki :)

Był doklejony kod w plikach index.php, oraz page.php na samym początku zakodowany base64. Dlatego miał problem z odnalezieniem ich w plikach. Joomla miala też dziwnie ustawione chmody ale raczej przez ftpa dostało się to cholerstwo.

 Szablony do zennopostera - ZenBLOG, ZenSocialBot, ZenOgłoszenia, Szeptacz, ZenFles, ZenReview, szablony do poczty i inne). Tylko profile VIP proszę zamawiać przez priv lub email

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności