+ Antworten
Ergebnis 1 bis 9 von 9

Thema: gehackt - Aufruf der index.php

  1. #1
    Neu an Board
    Registriert seit
    03.09.2009
    Ort
    Moorenweis
    Beiträge
    8
    Bedankte sich
    3
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard gehackt - Aufruf der index.php

    Hallo,

    nach viel Forum lesen und Umsetzen der vorgeschlagenen Aktionen bin ich jetzt mit meinem Latein am Ende.

    Zur Info: zur fraglichen Zeit hatten wir Version 1.5.15 (schäm, inzwischen 1.5.22) bei 1und1, php5, inzwischen /administrator htaccess geschützt (zum fraglichen Zeitpunkt noch nicht), wir benützen jevents, eine shoutbox, die joomgallery, chronocomments (jetzt deinstalliert da ohnehin wenig benutzt) und ein wenig benutztes phoca Gästebuch. Die Seite ist jetzt per htaccess gesperrt.

    Vorgeschichte: schon seit ein paar Monaten wird ein Beitrag ein wenig öfter aufgerufen, so dass er inzwischen statt 50 - 2000 mal etwa 2500 mal gelesen wurde. (Leider handelt es sich um einen der ersten Beiträge, daher ist Flottes Punkt "zurück zur letzten sauberen Version" sehr schwer durchzuführen, das hieße ganz zurück zum Anfang...) Ich hatte es registriert aber nicht alarmierend gefunden, der Beitrag ist recht lang und könnte auf diverse Suchworte reagieren.
    Vor drei Tagen stiegen dann unsere Besucher von ca. 100 täglich auf über 3500 an und eben dieser Beitrag war schwupps auf 12000 Aufrufen. Daraufhin hab ich mir die Logfiles angeschaut, schließlich die Seite vom Netz genommen. Ich weiß aber nach langem Suchen immer noch nicht, was da eigentlich passiert. Ach ja: wir hatten nie irgendwelche Ausfälle oder Auffälligkeiten, die Seite lief immer.

    Das access.log zeigt erst verstärkt:

    213.5.64.211 - - [21/Nov/2010:01:48:52 +0100] "POST /index.php HTTP/1.1" 302 52142 www.stuabach.de "http://www.stuabach.de/index.php? option=com_content&view=article&catid=35%3 Ajubilaeen&id=50%3A90-jahre-mgv-steinbach&Itemid=76&showall=1" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)" "-"

    213.5.64.211 - - [21/Nov/2010:01:49:03 +0100] "GET /index.php?option=com_content&view=article& catid=35%3Ajubilaeen&id=50%3A90-jahre-mgv-steinbach&Itemid=76&showall=1 HTTP/1.1" 200 52183 www.stuabach.de "http://www.stuabach.de/index.php?option=com_content&view=article& catid=35%3Ajubilaeen&id=50%3A90-jahre-mgv- steinbach&Itemid=76&showall=1" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)" "-"

    schliesslich sieht das logfile so aus (alle paar Sekunden, ca. 3x von der gleichen IP, dann ein Wechsel, aber sonst alles gleich:
    124.121.1.21 - - [21/Nov/2010:22:01:24 +0100] POST /index.php HTTP/1.1 302 38101 stuabach.de http://stuabach.de/ Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MRA 4.3 (build 01218))
    189.171.23.204 - - [21/Nov/2010:22:01:36 +0100] POST /index.php HTTP/1.1 302 37494 stuabach.de http://stuabach.de/ Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MRA 4.3 (build 01218))

    und so sieht das access.log.current auch aus, nur nicht 302 sondern 401 - die Seite ist ja gesperrt. Wird aber im Abstand von ein paar Sekunden auf diese Art aufgerufen.

    Ich kann in der index.php nichts außergewöhnliches finden, auch im Quelltext der Startseite nicht (dafür ganz kurz nochmal freigegeben). Aber das muß an mir liegen! Ich weiß, es sind ellenlange Texte, aber evtl. kann sich das einer von euch doch mal ansehen.

    Ich hab jetzt auf die neueste Joomla Version geupdated, alle Extensions überprüft und wo möglich Updates aufgespielt. Ich hab verglichen, ob irgenwo Dateien dazugekommen sind, die nicht hingehören und nichts gefunden. Ich hab mir den Beitrag in der Datenbank angeschaut, der so oft aufgerufen wurde und nichts gefunden.

    Was passiert hier? Wenn ich die Seite wieder freigebe, dann landen die Aufrufe auf der dann wieder abrufbaren index.php. Was nu?

    Viele Grüße
    Daniela
    Angehängte Dateien
    Geändert von Imagine4U (26.11.2010 um 07:45 Uhr)

  2. #2
    Verbringt hier viel Zeit Avatar von kardio
    Registriert seit
    22.04.2009
    Ort
    Switzerland
    Beiträge
    929
    Bedankte sich
    89
    Erhielt 189 Danksagungen
    in 185 Beiträgen

    Standard

    Du kannst Dich unter http://ipnr.rehbein.net/ schlau machen, wer da anklopft.
    Dann könntest Du Dir mal die Seite von Bot-trap ansehen. Wenn Du Dich da angemeldet hast, gibts auch ein Joomla-Modul.
    Bei so vielen Aufrufen sieht das ja doch nach Bots aus.

    Viel Erfolg!
    Wie stelle ich meine Fragen richtig? - Joomla FAQ - Frage als gelöst markieren? So gehts!
    - Ein Klick auf 'Danke' erfreut immer! Keinen privaten Support per PM!

  3. Erhielt Danksagungen von:


  4. #3
    Neu an Board
    Registriert seit
    03.09.2009
    Ort
    Moorenweis
    Beiträge
    8
    Bedankte sich
    3
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard IP Adressen

    Hallo kardio,

    hab mich bei bot-trap angemeldet, danke.

    Die IP Adressen ergeben z.B.:
    African Network Information Center - PLANET-ADLG
    LACNIC - Mega Cable, S.A. de C.V. oder Telefonica del Peru S.A.A.

    also so was wie "Telekom" rund um den Globus.

    Viele Grüße
    Daniela

  5. #4
    War schon öfter hier
    Registriert seit
    30.01.2006
    Beiträge
    233
    Bedankte sich
    30
    Erhielt 38 Danksagungen
    in 30 Beiträgen

    Standard

    hmmm... habe auf die schnelle in den Dateien nichts gesehen, was offenischtlich von einem Hacker stammt!

    Spontan würde ich auf einen Spammer tippen... der versucht in den Kommentaren oder Shoutbox seine Nachrichten zu hinterlassen.

    Mal schauen was die Profis dazu meinen....

  6. Erhielt Danksagungen von:


  7. #5
    Neu an Board
    Registriert seit
    03.09.2009
    Ort
    Moorenweis
    Beiträge
    8
    Bedankte sich
    3
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Danke fürs durchschauen Skodi!

    Tatsächlich hatten wir unsere Shoutbox - beliebte Würze unserer Website - offen, und ich habe die wenigen Spam-Einträge halt relativ kurzfristig wieder gelöscht (alle ein bis zwei Wochen einmal).

    Wenn das der Grund sein sollte, dann würde ich mir die Pro-Version mit Captcha gönnen. Das wäre dann tatsächlich halb so schlimm.

    Mal sehen was evtl. noch gefunden wird. Ich stehe quasi in den Startlöchern um mit BotTrap und sämtlich geänderten Passwörtern etc etc einen Freigabeversuch zu wagen.

    Mir wäre allerdings am wohlsten ich würde sicher verstehen was dieser "Beschuss" bewirken soll.

  8. #6
    War schon öfter hier
    Registriert seit
    30.01.2006
    Beiträge
    233
    Bedankte sich
    30
    Erhielt 38 Danksagungen
    in 30 Beiträgen

    Standard

    Gibts denn noch andere logs zu der Ip? Kann auch sein, dass jemand versucht über dein Login-Forum welches auf der Startseite steht sich Zugriff zu verschaffen...

    Ich kenne deine Seite leider nicht - aber so wie es scheint, wird da versucht irgendein Eingabefeld zu nutzen...

    Welche Eingabemöglichkeiten bietest du auf der Startseite? Shoutbox, Loginform, Kommentarfunktion? Irgendwo da wird der Hund begraben liegen.....

  9. #7
    Neu an Board
    Registriert seit
    03.09.2009
    Ort
    Moorenweis
    Beiträge
    8
    Bedankte sich
    3
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Stimmt schon, auf der Startseite (und auf den meisten anderen) sind sowohl die Shoutbox als auch die Login-Form zu finden, ebenso war es möglich Kommentare auf die Beiträge abzugeben, allerdings lag dazu kein Formular auf der Startseite sondern erst beim Aufruf des kompletten Beitrags (wie so auffällig oft passiert). Chronocomments hatte ich schon deinstalliert als ich den Quelltext der Startseite kopiert hab.

    Wir hatten bisher wenig sichtbare Probleme mit Spam in all diesen Formularen - das was bei mir gelandet ist zur Freigabe oder in Kopie war etwa alle ein bis zwei Wochen irgendwas unerfreuliches.

    Aber du meinst sicher, dass eines der Formulare benutzt wurde um anderweitig Spam zu verschicken.

    Ich häng jetzt mal das heutige Logfile und das vom 22.11. an, das ist der Tag an dem ich die Seite dann gesperrt habe.
    Angehängte Dateien

  10. #8
    Neu an Board
    Registriert seit
    03.09.2009
    Ort
    Moorenweis
    Beiträge
    8
    Bedankte sich
    3
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Wenn ich das richtig verstanden hab, dann sollte das das Formular der shoutbox sein:

    hier wird es unter components/com_shoutbox/views/shoutbox/tmpl/default.php aufgerufen:

    PHP-Code:
    defined('_JEXEC') or die('Restricted access'); ?>

    <script language="javascript" type="text/javascript">
        function tableOrdering( order, dir, task ) {
        var form = document.adminForm;

        form.filter_order.value     = order;
        form.filter_order_Dir.value    = dir;
        document.adminForm.submit( task );
    }
    </script>
    <div class="componentheading"><?php echo JText::_'SHOUTBOX'); ?></div>
    <form action="<?php echo $this->action?>" method="post" name="adminForm">
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
        <td align="right" colspan="4">
        <?php
            
    echo JText::_('Display Num') .'&nbsp;';
            echo 
    $this->pagination->getLimitBox();
        
    ?>
        </td>
    </tr>

    </table>
    <input type="hidden" name="filter_order" value="<?php echo $this->lists['order']; ?>" />
    <input type="hidden" name="filter_order_Dir" value="" />
    </form>

    <table width="100%" border="0" cellspacing="0" cellpadding="0">
        <tr>
            <td class="sectiontableheader" width="200"><?php echo JText::_'TIME'); ?></td>
            <td class="sectiontableheader" width="120"><?php echo JText::_'NAME'); ?></td>
            <td class="sectiontableheader" nowrap="nowrap"><?php echo JText::_'MESSAGE'); ?></td>
            <?php if($this->params->def('showurl',0)){ ?>
            <td class="sectiontableheader" width="15%"><?php echo JText::_'URL'); ?></td>
            <?php ?>
        </tr>
    <?php $i=0?>
    <?php 
    foreach ($this->items as $item) : ?>
    <tr class="sectiontableentry<?php echo ($i 2)+1?>">
        <td>
            <?php echo JHTML::date$item->timeJText::_('DATE_FORMAT_LC2')); ?>
        </td>
        <td>
            <?php echo $item->name?>
        </td>
        <td>
            <?php echo $item->text?>
        </td>
        <?php if($this->params->def('showurl',0)){ ?>
        <td>
            <?php echo $item->url?>
        </td>
        <?php ?>
    </tr>
    <?php $i++;?>
    <?php 
    endforeach; ?>
    </table>
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
        <td align="center" class="sectiontablefooter"><?php echo $this->pagination->getPagesLinks(); ?></td>
    </tr>
    <tr>
        <td align="right"><?php echo $this->pagination->getPagesCounter(); ?></td>
    </tr>
    </table>
    und da ist dann das Formular im administrator/com_shoutbox/views/shoutbox/tmpl/default.php

    PHP-Code:
    <?php defined('_JEXEC') or die('Restricted access'); ?>

    <?php JHTML::_('behavior.tooltip'); ?>

    <?php
        
    // Set toolbar items for the page
        
    JToolBarHelper::title(   JText::_'Shoutbox' ), 'generic.png' );
        
    //JToolBarHelper::publishList();
        //JToolBarHelper::unpublishList();
        
    JToolBarHelper::deleteList();
        
    //JToolBarHelper::editListX();
        //JToolBarHelper::addNewX();
        //JToolBarHelper::preferences('com_shoutbox');
    ?>
    <form action="index.php" method="post" name="adminForm">
    <table>
    <tr>
        <td align="left" width="100%">
            <?php echo JText::_'Filter' ); ?>:
            <input type="text" name="search" id="search" value="<?php echo $this->lists['search'];?>" class="text_area" onchange="document.adminForm.submit();" />
            <button onclick="this.form.submit();"><?php echo JText::_'Go' ); ?></button>
            <button onclick="document.getElementById('search').value='';this.form.getElementById('filter_state').value='';this.form.submit();"><?php echo JText::_'Reset' ); ?></button>
        </td>
    </tr>
    </table>
    <div id="editcell">
        <table class="adminlist">
        <thead>
            <tr>
                <th width="5">
                    <?php echo JHTML::_('grid.sort',  '#''a.id'$this->lists['order_Dir'], $this->lists['order'] ); ?>
                </th>
                <th width="20">
                    <input type="checkbox" name="toggle" value="" onclick="checkAll(<?php echo count$this->items ); ?>);" />
                </th>
                <th width="120">
                    <?php echo JHTML::_('grid.sort',  'Name''a.name'$this->lists['order_Dir'], $this->lists['order'] ); ?>
                </th>
                <th nowrap="nowrap">
                    <?php echo JHTML::_('grid.sort',  'Text''a.text'$this->lists['order_Dir'], $this->lists['order'] ); ?>
                </th>
                <th width="15%">
                    <?php echo JHTML::_('grid.sort',  'URL''a.url'$this->lists['order_Dir'], $this->lists['order'] ); ?>
                </th>
                <th width="120" nowrap="nowrap">
                    <?php echo JHTML::_('grid.sort',  'IP''a.ip'$this->lists['order_Dir'], $this->lists['order'] ); ?>
                </th>
            </tr>
        </thead>
        <tfoot>
            <tr>
                <td colspan="9">
                    <?php echo $this->pagination->getListFooter(); ?>
                </td>
            </tr>
        </tfoot>
        <tbody>
        <?php
        $k 
    0;
        for (
    $i=0$n=count$this->items ); $i $n$i++)
        {
            
    $row = &$this->items[$i];

            
    $checked     JHTML::_('grid.id',   $i$row->id );

            
    $ordering = ($this->lists['order'] == 'a.id');

            
    ?>
            <tr class="<?php echo "row$k"?>">
                <td>
                    <?php echo $this->pagination->getRowOffset$i ); ?>
                </td>
                <td>
                    <?php echo $checked?>
                </td>
                <td>
                    <?php echo $row->name?>
                </td>
                <td>
                    <?php echo $row->text;?>
                </td>
                <td align="center">
                    <?php echo $row->url?>
                </td>
                <td align="center">
                    <?php echo $row->ip?>
                </td>
            </tr>
            <?php
            $k 
    $k;
        }
        
    ?>
        </tbody>
        </table>
    </div>

        <input type="hidden" name="option" value="com_shoutbox" />
        <input type="hidden" name="task" value="" />
        <input type="hidden" name="boxchecked" value="0" />
        <input type="hidden" name="filter_order" value="<?php echo $this->lists['order']; ?>" />
        <input type="hidden" name="filter_order_Dir" value="<?php echo $this->lists['order_Dir']; ?>" />
        <?php echo JHTML::_'form.token' ); ?>
    </form>
    Ich kann nichts böses entdecken. (??)
    Aber die form action passt natürlich zu meinem logfile, klar.

  11. #9
    Neu an Board
    Registriert seit
    03.09.2009
    Ort
    Moorenweis
    Beiträge
    8
    Bedankte sich
    3
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard gelöst...? hoffentlich

    So, nachdem ich jetzt noch die Formulare weitgehend reduziert habe und bot-trap eingebaut hab ich die site entsperrt - die Aufrufe sind nach wie vor da, laufen aber ins Leere. Nach wie vor ca. alle drei Sekunden.

    Ich werd die Logfiles im Auge behalten!

    Danke und viele Grüße
    Daniela

+ Antworten

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein