Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   как найти шелл? (https://forum.antichat.xyz/showthread.php?t=58065)

GSM™ 10.01.2008 11:52

как найти шелл?
 
кто то по всей видимости залил мне на сервер шелл. подскажите способ его обнаружить. нехочется форум сносить. проявляется в виде повреждения файлов таких как index.php, global.php, forumdisplay.php. вчера все восстонавил но сегодня опять тоже самое.

Klaus Doring 10.01.2008 11:58

Дык в Ipb например есть даже функция встроенная на поиск вредоносных файлов. посмотри в админке.

GSM™ 10.01.2008 12:03

у меня вобла. там нету.

iddqd 10.01.2008 12:10

Посмотри в теме про уязвимости воблы, куда заливаются шеллы(например через смайлы) и там уже ищи

aka PSIH 10.01.2008 12:28

iddqd
а если шелл скопировали в другую папку?

хз, можно поискать файлы которые недавно создали...
ну или созданы за последние n дней...

Цитата:

вчера все восстонавил но сегодня опять тоже самое.
или файлы доступ к которым последний раз производился менее n дней назад

AkyHa_MaTaTa 10.01.2008 12:33

Цитата:

Сообщение от aka PSIH
iddqd
а если шелл скопировали в другую папку?

хз, можно поискать файлы которые недавно создали...
ну или созданы за последние n дней...


или файлы доступ к которым последний раз производился менее n дней назад

хм, через тот же шелл можно поменять дату измения файла.


перед установкой форума посчитай md5(crc) сумму файлов, потом сравнивай, кажись для vb есть специальный скрипт для этих дел, а вообше - обнови форум до более высокой версии(или поставь smf).

GSM™ 10.01.2008 12:34

по непонятной причине все файлы вчерашним числом.....

fucker"ok 10.01.2008 12:39

А оно случайно жаба сплойт в вверх страницы не вставляет? Просто, на сколько мне известно, в последнее время бродит сплойт для cpanel, который встаивает свой js код в такие вот файлы. Так-что тут может ты и не причём. Проблемы хостера могут быть.

-=[AL!EN]=- 10.01.2008 13:13

Цитата:

Сообщение от iddqd
Посмотри в теме про уязвимости воблы, куда заливаются шеллы(например через смайлы) и там уже ищи

умный человек уже бы этот шелл расплодил 100 раз =)

ZEXEL 10.01.2008 16:35

А где вообще взять етот файл шелла ? а то я в етом немного не понимаю

Isis 10.01.2008 16:46

vBulletin searchshell.php

PHP код:

<?php
/*======================================================================*\
|| #################################################################### ||
|| # vBulletin 3.*.*
|| # ---------------------------------------------------------------- # ||
|| # Copyright ©2000–2007 Jelsoft Enterprises Ltd. All Rights Reserved. ||
|| # This file may not be redistributed in whole or significant part. # ||
|| # ---------------- VBULLETIN IS NOT FREE SOFTWARE ---------------- # ||
|| # http://www.vbulletin.com | http://www.vbulletin.com/license.html # ||
|| #################################################################### ||
\*======================================================================*/

// ######################## SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE);

// ##################### DEFINE IMPORTANT CONSTANTS #######################
define('NOCOOKIES'1);
define('NOHEADER'1);

// ########################################################################
// ######################### START MAIN SCRIPT ############################
// ########################################################################

$start time();

print (
"Welcome to vB3 search re-indexer\n");
print (
"What is the full path to your main forum directory? ");

$forumspath fetch_stdin();

// keep looping until they enter a path which exists
while (!is_dir($forumspath))
{
    print (
"\n$forumspath is an invalid directory, please re-enter ");
    
$forumspath fetch_stdin();
}

$forumspath preg_replace('#/$#'''trim($forumspath));
chdir($forumspath);

if (!
file_exists($forumspath '/includes/init.php'))
{
    print (
"\nInvalid forums path, exiting...");
    exit;
}

require_once(
'./global.php');
require_once(
'./includes/functions_databuild.php');

print (
"Would you like to drop the search table? (y/n) ");
$dropdb fetch_stdin();
if (
$dropdb == 'yes' or $dropdb == 'y')
{
    
$db->query_write("TRUNCATE TABLE " TABLE_PREFIX "postindex");
    
$db->query_write("TRUNCATE TABLE " TABLE_PREFIX "word");
    print (
"The tables postindex and word are now empty\n");
}
// tidy up variables dont need this any more
unset($dropdb);

print (
"What post number would you like to start at? (0) ");
$startat intval(fetch_stdin());

print (
"What post number would you like to end at? (none) ");
$endat intval(fetch_stdin());

print (
"Posts to process per cycle? (100000) ");
$perpage intval(fetch_stdin());
if (!
$perpage)
{
    
$perpage 100000;
}

$foruminfo = array('indexposts' => 1);
$firstpost = array();

$notdone TRUE;

while (
$notdone)
{
    
$notdone false;

    
$stopat $startat $perpage;
    if (
$endat)
    {
        if (
$stopat $endat)
        {
            
$stopat $endat;
        }
        if (
$startat >= $endat)
        {
            continue;
        }
    }

    
$posts $db->query_read("
        SELECT postid, post.title, post.pagetext, post.threadid, thread.title AS threadtitle
        FROM " 
TABLE_PREFIX "post AS post
        INNER JOIN " 
TABLE_PREFIX "thread AS thread ON(thread.threadid = post.threadid)
        INNER JOIN " 
TABLE_PREFIX "forum AS forum ON(forum.forumid = thread.forumid)
        WHERE (forum.options & 16384)
            AND post.postid >= 
$startat
            AND post.postid <= 
$stopat
        ORDER BY post.postid
    "
);

    while (
$post $db->fetch_array($posts))
    {
        
$notdone TRUE;

        if (empty(
$firstpost["$post[threadid]"]))
        {
            
$getfirstpost $db->query_first("SELECT MIN(postid) AS postid FROM " TABLE_PREFIX "post WHERE threadid = $post[threadid]");
            
$firstpost["$post[threadid]"] = $getfirstpost['postid'];
        }

        
build_post_index($post['postid'], $foruminfo, ($post['postid'] == $firstpost["$post[threadid]"]) ? 0$post);

        print (
"Processed post: $post[postid]\n");
        
flush();
    }

    
$startat += $perpage;
}

print_postindex_exec_time($start);

// ###################### Start getinput #######################
function fetch_stdin()
{
    static 
$fp;

    if (
$fp)
    {
        
$input fgets($fp255);
    }
    else
    {
        
$fp fopen('php://stdin''r');
        
$input fgets($fp255);
    }

    return 
str_replace(array("\n""\r"), array(''''), $input);
}

// ###################### Start execution time #######################
function print_postindex_exec_time($starttime)
{
    
$seconds time() - $starttime;
    
$d['h'] = floor($seconds/3600);
    
$d['m'] = str_padfloor( ($seconds - ($d['h']*3600)) / 60 ), 20STR_PAD_LEFT);
    
$d['s'] = str_pad($seconds 6020STR_PAD_LEFT);

    print (
"Index complete after $d[h] hours, $d[m] minutes and $d[s] seconds\n");
    exit;
}
/*======================================================================*\
|| ####################################################################
|| #
|| # CVS: $RCSfile$ - $Revision: 16011 $
|| ####################################################################
\*======================================================================*/
?>


ZEXEL 10.01.2008 17:00

ЧТо то не работает, ошибку выдает !
Fatal error: Allowed memory size of 25165824 bytes exhausted (tried to allocate 24893431 bytes) in /superfilter/sf.php on line 38
ему что места мало ?

Isis 10.01.2008 17:01

/superfilter/sf.php посмотри этот файл..он чего-то жрет у тебя много оперативке =\


Время: 22:09