Подршка » Проблеми » Problem sa reinstalacijom nakon hakovanja

  • Dobar dan svima!

    Imam problem koji ne umem da rešim. Danas mi je hakovana prezentacija dok sam ja radila na njoj: samo odjednom više nisam mogla da pristupim ni jednoj stranici, traženo mi je da se nanovo ulogujem, a to više nisam mogla sa svojim username-om i password-om.

    Kontaktirala sam svoj provajder i preporučeno mi je da celu prezentaciju izbrišem i da je podignem ispočetka, što sam i uradila. Izbrisala sam sve fajlove iz svog root direktorijuma, kao i database. Ne znam da li sam trebala još nešto da uradim?

    Nakon toga sam kreirala novu bazu i pristupila novoj instalaciji WP, potpuno istim koracima po uputsvu kao i prvi put (kada je sve prošlo sasvim glatko i ok), međutim kod koraka br. 5 u uputstvu za instalaciju („Open /wp-admin/install.php in your browser. This should setup the tables needed for your blog. If there is an error, double check your wp-config.php file, and try again. If it fails again, please go to the support forums with as much data as you can gather.“) sada imam problem:

    Kada otvorim install.php fajl, umesto stranice za unos mojih podataka otvara mi se stranica sa informacijom ERROR. Ako dobro shvatam, izveštaj na toj stranici kaže da mi je WP već instaliran i da najpre moram da izbrišem prethodnu bazu. Ne znam u čemu je problem, obzirom da sam to prethodno već uradila, i ne znam ni kako da ga prevaziđem. Pokušala sam ponovo sa kompletnim brisanjem svih fajlova i (novoformirane) baze, i sa ponovnim pokušajem instalacije se dešava isto. Sada ću kopirati tekst koji dobijam, i unapred se izvinjavam ako time spam-ujem, ali ja sam prilično laik kada su kodovi u pitanju (bez uputstva i slika ne umem ništa :)).

    >
    WordPress

    ERROR: %s’), $error); ?>

    ‘.__(‘Already Installed’).’

    ‘.__(‘You appear to have already installed WordPress. To reinstall please clear your old database tables first.’).’
    ‘);} $php_version = phpversion(); $mysql_version = $wpdb->db_version(); $php_compat = version_compare( $php_version, $required_php_version, ‘>=’ ); $mysql_compat = version_compare( $mysql_version, $required_mysql_version, ‘>=’ ) || file_exists( WP_CONTENT_DIR . ‘/db.php’ ); if ( !$mysql_compat && !$php_compat ) $compat = sprintf( __(‘You cannot install because WordPress %1$s requires PHP version %2$s or higher and MySQL version %3$s or higher. You are running PHP version %4$s and MySQL version %5$s.’), $wp_version, $required_php_version, $required_mysql_version, $php_version, $mysql_version ); elseif ( !$php_compat ) $compat = sprintf( __(‘You cannot install because WordPress %1$s requires PHP version %2$s or higher. You are running version %3$s.’), $wp_version, $required_php_version, $php_version ); elseif ( !$mysql_compat ) $compat = sprintf( __(‘You cannot install because WordPress %1$s requires MySQL version %2$s or higher. You are running version %3$s.’), $wp_version, $required_mysql_version, $mysql_version ); if ( !$mysql_compat || !$php_compat ) { display_header(); die(‘
    ‘ . __(‘Insufficient Requirements’) . ‘

    ‘ . $compat . ‘
    ‘); } switch($step) { case 0: case 1: // in case people are directly linking to this display_header(); ?>

    ReadMe documentation at your leisure. Otherwise, just fill in the information below and you’ll be on your way to using the most extendable and powerful personal publishing platform in the world.’), ‘../readme.html’); ?>

    error) ) wp_die($wpdb->error->get_error_message()); display_header(); // Fill in the data we gathered $weblog_title = isset($_POST[‘weblog_title’]) ? stripslashes($_POST[‘weblog_title’]) : “; $admin_email = isset($_POST[‘admin_email’]) ? stripslashes($_POST[‘admin_email’]) : “; $public = isset($_POST[‘blog_public’]) ? (int) $_POST[‘blog_public’] : 0; // check e-mail address $error = false; if (empty($admin_email)) { // TODO: poka-yoke display_setup_form( __(‘you must provide an e-mail address.’) ); $error = true; } else if (!is_email($admin_email)) { // TODO: poka-yoke display_setup_form( __(‘that isn’t a valid e-mail address. E-mail addresses look like: username@example.com’) ); $error = true; } if ( $error === false ) { $wpdb->show_errors(); $result = wp_install($weblog_title, ‘admin’, $admin_email, $public); extract($result, EXTR_SKIP); ?>

    admin
    ‘. $password .’
    ‘; } echo ‘

    ‘. $password_message .’
    ‘; ?>

    Molim vas za pomoć. Hvala unapred!

Посматрање 14 одговора - 1 до 14 (од укупно 14)
  • Уредник Avram

    (@avram)

    Ovo je (delimično prikazan) izvorni kod stranice. Ili neki od fajlova nije lepo upload-ovan, ili se pojavio neki problem na samom serveru, jer ovako nešto ne bi smelo da se pojavljuje.

    Ili neki od fajlova nije lepo upload-ovan

    Ta mogućnost je isključena, jer sam 4 puta sve brisala i radila potpuno novi upload ispočetka, pa je malo verovatno da se svaki put desilo da fajl nije lepo upload-ovan.

    ili se pojavio neki problem na samom serveru

    To je verovatnija pretpostavka, da je negde na serveru ostao neki podatak koji nije obrisan i koji pravi problem novoj instalaciji. Ali to znači da taj podatak/fajl nije u mom root folderu (jer sam njega brisala), nego se smestio negde drugo. Imate li ideju na kom mestu bi to još moglo da bude?

    Pozdrav

    Dodatna informacija:

    Iz root foldera nisam brisala tzv. cgi-bin folder (koji je prazan) i .htaccess fajl. Pošto su oni tu bili kada sam zakupila domen, pretpostavila sam da nisu u vezi sa WP-om, kao i da ako ih obrišem (pošto nemam znanja čemu služe i kako funkcionišu) više nikako neću moći da ih vratim. Da li taj .htaccess fajl možda uzrokuje ovaj problem?

    —————————-
    Edit: Izvinjavam se što ovo nisam ubacila u post iznad, tek sad sam uočila link za edit-ovanje. Sludela me je cela ova stvar. 🙁

    Evo, pronašla sam u čemu je problem, ali i dalje nemam dobro rešenje za njega (osim rešenja da mi provajder formatira server i time sve sa njega počisti).

    Problem se sastoji u tome što WP instalira tajnu bazu podataka na vašem (u ovom slučaju mom) delu servera, koja se u eng. veziji WP-a zove information-schema i ima 17 svojih tabela. Po svoj prilici, ta baza podataka nije pod patronatom baze koju je korisnik sam prethodno kreirao, pošto i nakon brisanja korisnikove baze, information-schema i dalje ostaje na serveru netaknuta. Nazvala sam je tajnom zato što se ona kroz MySQL uopšte ne vidi kao prisutna, nego tek iz MyPhpAdmin-a. Ali tu nije data opcija da se baza obriše (ili je barem ja ne vidim; ako grešim ispravite me), već samo da se obrišu njene tabele. Međutim, čak i kada sam pokušala da obrišem samo tabele, dobila sam informaciju ERROR, uz objašnjenje da nemam ovlašćenja da manipulišem tom bazom.

    Molim vas da mi kažete:
    1) Kako da dam sebi ovlašćenja za manipulisanje tom bazom?
    2) Kako se ta baza uklanja/briše u potpunosti, jer mi se ne dopada situacija da na svom serveru bilo šta moram da imam?

    Pozdrav!

    Уредник Avram

    (@avram)

    Mislim da nije to problem. Baza sa imenom „information-schema“ je interna MySQL baza koja skladišti informacije o samom MySQL serveru (korisnike, dozvole, itd…) i da nad njom bilo kakve operacije može da vrši samo root korisnik (kojem pristup imaju samo administratori), i to vrlo pažljivo jer je ona od vitalnog značaja za rad samog MySQL servera.

    Hajde probaj da napraviš (tekstualni) fajl sa imenom „phpinfo.php“. U njega ubaci sledeći kôd:

    <?php phpinfo(); ?>

    Ubaci ga u root sajta, pristupi mu svojim browserom preko http://www.tvojsajt.com/phpinfo.php i reci šta ti otvara?

    Ćao, Avrame. 🙂 Raduje me da si se javio, već sam pomislila da su svi digli ruke od mene i da je možda najbolje da odustanem. Sve što mi je palo na pamet sam pokušala, i mnogo toga pročitala.. ali ne vredi, ja jednostavno ne umem ovo da prevaziđem. 🙁

    Uradila sam to što si mi rekao, i otvara mi veoma dugačku stranicu sa tabelama koje sadrže, rekla bih, sve podatke o mom serveru. Zato ne znam da li to treba da okačim ovde?

    I reci mi, molim te, postoji li način da razgovaram putem telefona sa nekim od članova supporta, pa da mi tako pomognu? Ili da možda dam tebi na mail podatke za login na moj server, pa da ti pogledaš šta se tamo dešava? Ako su mogli hakeri da ga obiđu, ne znam zašto ne bi mogao i ti.. svakako si dobrodošliji. 🙂

    Pozdrav

    Уредник Milan Dinić

    (@dimadin)

    А да ли си уопште контактирала администратора сервера, можда је (као што је речено изнад) проблем до њих?

    Zdravo, dimadin. Jesam. Tražila sam da mi formatiraju server, tako da budem sigurna da na njemu više ništa nije ostalo. Rekli su mi da će „vratiti sve na početne parametre, kao kada sam ga tek dobila“ (šta god to značilo), i to su juče i uradili. Onda sam morala da se logujem njihovom šifrom, što znači da nešto jesu izmenili. Ali kada sam probala novu instalaciju… znači, opet kreirala skroz novu database, sa novim nazivom, username-om i pass-om, pa novi config.php sa tim podacima, pa upload svega novog, pa klik na wp-admin/install.php (od koga sam već dobila fobiju)… opet mi je dao stranicu koju sam vam kopirala u prvom postu. I sad mi više stvarno ništa nije jasno.

    Na umu su mi 2 mogućnosti, i obe mi deluju malo verovatne:
    1) Provajder nije počistio server, nego mi je samo promenio šifru.
    2) WP ima neki bug pri instalaciji, koji se retko ispoljava (pošto kažete da za ovaj problem još niste čuli).
    Ne znam šta bi još treće moglo da bude.

    Da li biste vi koji ste stručniji mogli da kontaktirate kolege iz engleskog supporta i da im izensete moj problem? Možda su se oni ranije sretali sa takvim slučajem?

    I htela bih još nešto da vas zamolim da mi razjasnite. Nailazim na 3 mesta za unos username-a i pass-a:
    1) Cpanel (kad želim da mu pristupim preko browsera)
    2) database (kada kreiram usera u MySQL-u)
    3) mojdomen.com/wp-admin (kada želim da pristupim svom Dashboard-u)

    Da li su te tri stvari u funkcionalnoj vezi jedna sa drugom, i kakvoj (kako utiču jedna na drugu u procesu)?

    Evo zašto to pitam. Imam sačuvan backup prethodne instalacije WP-a (tog kog su mi srušili), koji sam napravila neposredno nakon instalacije… samo sa uređenom temom i nekoliko plugin-a… koju mogu da popnem nazad na server i koja radi. Time vraćam staru bazu iz perioda pre hakovanja (što valjda znači da nije zaražena), međutim – sa starim user-om i starim pass-om koji su posle hakovanja možda ostali zapamćeni negde kod hakera. Umem da promenim usera i pass za wp-admin i za Cpanel, i znam da to ne utiče na rad WP-a. Ono što me muči je baza: ne znam da li mogu i na koji način da kreiram novi naziv, username i pass za tu staru bazu? I da li će ta instalacija WP-a moći i dalje da je prepoznaje ako to izmenim? I da li sam u tom slučaju sigurno zaštićena od mogućih posledica ovog hakovanja?

    Уредник Avram

    (@avram)

    Ono što ti vidiš ukazuje da server ne obrađuje PHP kôd već ga ispisuje u browser. Međutim, phpinfo() ti lepo radi što ukazuje da PHP ipak lepo radi.

    Ajde probaj da otvoriš taj phpinfo.php i izmeni mu sadržaj u ovo:

    <? phpinfo(); ?>

    I probaj ponovo da mu pristupiš preko browsera. Ako i tako vidiš onu dugačku stranicu sa informacijama o serveru onda PHP definitivno radi. Ako ne dobiješ tu stranicu, onda je short_open_tag direktiva isključena u PHP-u, mada koliko se ja sećam WordPress ne koristi kratke tagove za php (<? umesto <?php) i to ne bi trebalo da pravi problem.

    Što se korisničkih imena i šifara tiče:

    cPanel je softver za održavanje tvog hosting naloga. U njemu možeš da praviš baze, postavljaš šifre na foldere, upravljaš e-mail nalozima, itd.

    Baza (MySQL) je odvojeni softver koji radi na istom ili drugom fizičkom serveru i koji služi za upravljanje MySQL bazama. On nije ni u kakvoj vezi sa cPanel-om, osim što iz cPanela možeš da praviš baze i MySQL korisnike.

    wp-admin/ je deo za administraciju samog softvera (WordPress) koji radi na tvom sajtu. Nije povezan sa prethodna dva, osim što mora da zna kor. ime i šifru MySQL korisnika da bi mogao da radi sa podacima u bazi.

    I kad si već pomenula cPanel, pogledaj da li u njemu imaš nešto što se zove „Fantastico“ ili „Fantastico De Luxe“. To je dodatak za cPanel za automatsko instaliranje web aplikacija na sajt, pa ako imaš Fantastico, možeš da probaš preko njega da instaliraš WordPress, on će sam napraviti bazu i sve što mu treba.

    Avrame, hvala na objašnjenju.
    I sa ovim kodom vidim onu dugačku stranicu.
    U cPanelu nemam pomenute dodatke.

    Da li misliš da je dobro da podignem backup koji sam pomenula, i da onda izmenim podatke za bazu (korisnika i šifru, pošto izgleda da naziv baze ne može da se menja)? Ovaj deo tvog objašnjenja za wp-admin/ mi zvuči u tom pogledu problematičan:

    Nije povezan sa prethodna dva, osim što mora da zna kor. ime i šifru MySQL korisnika da bi mogao da radi sa podacima u bazi.

    To znači da nije dovoljno samo da promenim korisnika baze i njegovu šifru u MySQL-u (obrišem postojećeg i kreiram novog sa novom šifrom), nego moram te nove podatke nekako da dostavim i postojećem WP-u da bi mogao da radi. Je li to suviše komplikovana stvar, za laika kao što sam ja?

    ——————————————
    Edit: I još nešto u vezi sa tri pojma koja si mi objasnio (samo da vidim da li sam dobro razumela): to znači da username i pass za cPanel, bazu i wp-admin ne moraju da budu isti?

    Evo i zašto to pitam. Kada u addressbar ručno unesem mojdomen/wp-admin/install.php i pokušam tako da ga otvorim, dobijem sledeće (ovog puta kao web-stranu, ne kao tekstualni fajl iz svog temp-a):

    Error establishing a database connection

    This either means that the username and password information in your wp-config.php file is incorrect or we can’t contact the database server at mojdomen.com. This could mean your host’s database server is down.

    * Are you sure you have the correct username and password?
    * Are you sure that you have typed the correct hostname?
    * Are you sure that the database server is running?

    If you’re unsure what these terms mean you should probably contact your host. If you still need help you can always visit the WordPress Support Forums.

    Za prvo i drugo sam sigurna, a treće ne znam šta znači, ni kako to da proverim.

    Уредник Avram

    (@avram)

    Da, naravno da moraš WP-u da kažeš podatke o MySQL korisniku, ili direktno upisujući iste u wp-config.php ili prilikom pokretanja instalacije. Ako je WP već instaliran, onda ih samo izmeniš u wp-config.php

    define('DB_NAME', 'wp');    // Име базе података
    define('DB_USER', 'mysql_korisnik');     // Ваше корисничко име MySQL базе
    define('DB_PASSWORD', 'lozinka'); // ...и лозинка
    define('DB_HOST', 'localhost');    // Адреса MySQL базе; 99% вероватноће да нећете морати да промените ову вредност

    cPanel i wp-admin šifra ne da ne moraju da budu isti, nego se preporučuje da ne budu isti (ako neko upadne u WordPress, neće moći da uđe u cPanel, koji je na najvišoj lestvici hijerarhije u održavanju sajta i niko ne bi smeo da dođe do pristupa cPanelu, osim tebe).

    Greška koju dobijaš kaže da je neki od 4 podatka koje možeš videti gore neispravan (DB_NAME; DB_USER; DB_PASSWORD i/ili DB_HOST) ili da MySQL server ne radi (ako možeš da mu pristupiš iz cPanela preko phpMyAdmina, onda radi). Uzmi u obzir da DB_HOST u većini slučajeva ostaje localhost i da, čak iako se menja, vrlo retko je isti kao adresa tvog sajta (vidim gore „mojdomen.com“ u poruci o greški, zato naglašavam ovo).

    Bravo, Avrame, svaka ti čast – i na znanju, i na strpljenju! 🙂
    Dakle, ovog puta je uspelo. Evo, u ovome sam pogrešila:

    Uzmi u obzir da DB_HOST u većini slučajeva ostaje localhost i da, čak iako se menja, vrlo retko je isti kao adresa tvog sajta (vidim gore „mojdomen.com“ u poruci o greški, zato naglašavam ovo).

    Dakle, evo rezimea za potencijalne buduće čitaoce ove teme, ako budu imali sličan problem:

    U config.php fajlu sam izmenila reč localhost unoseći tu naziv svog domena. To sam tako uradila i pri prethodne 2 instalacije WP-a (jednu sam radila kao probnu, da vidim da li mi se WP dopada, a onda sam zakupila svoj domen i podigla drugu za rad, i nju su mi pre 3 dana hakeri srušili), ali obe prethodne instalacije su mi iz nekog razloga prošle skroz glatko, iako sam reč localhost zamenila url-om. Ova, opet iz nekog razloga, nije živa htela tako.

    A osnovna moja greška, koja je verovatno i omogućila hakovanje, je to što nisam imala ni jedan security plugin instaliran na svoju prethodnu prezentaciju. Novi sam korisnik WP-a i nisam znala da je to prva od stvari koju treba uraditi nakon instalacije. Naučila sam to sada na teži način. Možda bi bilo korisno da administratori WP sajta u uputsvu za instalaciju WP-a napišu i to kao potreban (ili bar poželjan) korak.

    Avrame, hvala ti puno još jedanput!

    Уредник Avram

    (@avram)

    Nema na čemu, drago mi je da smo otkrili i otklonili problem.

    Uživaj, i ako naletiš na još neki problem, javi se 🙂

Посматрање 14 одговора - 1 до 14 (од укупно 14)
  • Тема „Problem sa reinstalacijom nakon hakovanja„ је закључана за нове одговоре.