Skrypty za "50zł" na przykładzie "demotywatory by lerto.pl"

Wiele razy widziałem oferty skryptów, czy też nawet "poważnych" serwisów za przysłowiowe 50zł (często dosłownie za 50zł). Nigdy jakoś nie zwracałem na nie specjalnej uwagi - wiadomo raczej było, że jaka cena taka jakość. W tej "jakości" spodziewałem się podatności na SQLInjection, na XSS czy też ogólnie średnio optymalnie napisanego kodu. Jednak to co zobaczyłem parę dni temu przeszło moje najśmielsze wyobrażenia i postanowiłem na tym przykładzie opisać jak wyglądają skrypty za 50zł. Wahałem się trochę czy o tym pisać czy nie ale o tym na końcu.

Do rzeczy: parę dni temu na łamach forum php.pl padło pytanie czy warto kupować skrypt za 49,90zł, który to jest pseudoklonem demotywatory.pl (skrypt a'la demotywatory.pl by lerto.pl) Pytający się o to użytkownik wahał się nad kupnem, jednak po paru dniach napisał, że kupił, że wydaje się że działa ale czy ktoś mógłby spojrzeć na kod i powiedzieć czy jest ok czy nie, bo on się totalnie na tym nie zna.

Z racji, że miałem chwilkę czasu, a demo było za darmo do pobrania, więc obejrzałem ten skrypt. Po pierwszych sekundach rzucił mi się w oczy kawałek kodu w każdej sekcji panelu administracyjnego:

<?php
if(empty($_COOKIE['user_adm'])) {
header('Location: ./');
}
?>

Nie mogłem w to uwierzyć, by ktoś, kto sprzedaje taki skrypt, w ten sposób zabezpieczał panel administracyjny skryptu. Szybko więc spojrzałem na logowanie a tam:

<?php
if($_POST['pass'] == $tajnehaslo) {
setcookie('user_adm' , '4dm1n' , time()+3600*336);
header('Location: ./home.php');
exit();
}
?>

Powiem szczerze - szczęka mi na podłogę spadła. A więc to prawda, w XXI wieku jeszcze takie rzeczy się zdarzają i to nie na forum w dziale przedszkole, ale w super hiper skrypcie, co to ma przynieść temu kto go kupi super kasę (ale o tym za chwilę). Nie będę podawał jak wejść na taki panel administracyjny by nie być posądzonym o jakieś nielagalne praktyki, ale każdy średnio zaawansowany przedszkolak wie, że "włamanie" się na tak zabezpieczony skrypt zajmie 10 sekund. Kolejnym super hiper zabezpieczeniem było przechowywanie "tajnego" hasła do panelu administracyjnego w pliku, który bez problemu można było podejrzeć w przeglądarce.

Po przejrzeniu kodu logowania zwykłych użytkowników, okazało się, że również i tam jest podobne "zabezpieczenie", przez co w kolejne 10 sekund można wejść na dowolne konto dowolnego użytkownika w serwisie.

Szybka analiza pozostałego kodu i widać, że skrypt jest podatny na banalne ataki SQLInjection (pomimo zastosowania PDO, co dotychczas wydawało mi się nie możliwe - widać jednak można używać PDO i napisać skrypt podatny na SQLInjection) oraz na banalne ataki XSS. Obie dziury również umożliwiają docelowo zalogowanie się zarówno do panelu administracyjnego jak i na dowolne konto użytkowe.

No i do czego tak naprawdę zmierzam? Przecież chyba każdy mi powie, że po skrypcie za 50zł można było tego oczekiwać. No niby tak. Ja to wiem, zapewne i Wy to wiecie, ale taki klient, który tego nie rozumie może tego nie wiedzieć. Taki klient, owszem, może mieć pewne obawy co do jakości kodu, czy nie będzie wolny, nieoptymalny, ale czy może podejrzewać, że dostęp do panelu admina może mieć każdy w pare sekund? Jak kupujecie chiński samochód to wiecie, że jest słabszej jakości, ale czy podejrzewacie, że silnik po 50km spadnie na asfalt bo zamiast być porządnie umocowany to jest przyklejony taśmą? No raczej tego nie podejrzewacie, a w omawianym skrypcie właśnie tak jest. Dlatego więc należy uprzedzić potencjalnych klientów, by wiedzieli co kupują. No taki kod co tutaj, to ja widziałem na łamach forum w dziale przedszkole raz czy może dwa razy. Już nawet przedszkolacy co sie dopiero uczą, wiedzą że tak się nie pisze a tu....

Jak napisałem na początku, wahałem się, czy pisać o tym czy nie. W sumie każdy kiedyś zaczynał. Oto dlaczego jednak zdecydowałem się o tym napisać:

  • Na stronie skryptu mamy tego typu zachwalanie: "Mam dla Ciebie skrypt, który pozwoli Ci zarabiać co miesiąc 100 razy tyle, ile na niego jednorazowo wydasz." i masa innego tego typu bełkotu. Teoretycznie nikt rozsądny na takie teksty nie powinien dać się nabierać, no ale życie pokazuje co innego. Mnie osobiście taki bełkot strasznie irytuje. Nawet jakbym zarobił te 100 razy tyle co na niego wydałem, to równie szybko mógłby stracić znacznie więcej, przez niesamowicie dziurawy skrypt, w którym pierwszy lepszy haker mógłby mi zrobić poważne "kuku".
  • Współtwórca na swoim blogu opisuje:
    Nie kupuj skryptów od… dyslektyków i leni.
    
    Jeśli ktoś nie przykłada się do pisowni, dbałości o język, nie może przykładać się do dbałości o kod. Sam, gdy zacząłem programować, stałem się bardzo dokładny i szczegółowy. Stałem się detalistą. Jest to odbiciem mojego kodu – konkretnego, lekkiego, logicznego.
    
    Jeśli więc masz do wyboru osobę, która na swojej aukcji pisze „przecierz” zamiast „przecież„, wybierz tę drugą.
    No jeśli ktoś odrzuca kogoś jako sprzedawcę, dlatego, że popełni literówkę i od razu jest leniem, to co można powiedzieć o tym samym "krytyku", który sprzedaje skrypt, nie znając podstawowych podstaw bezpieczeństwa, narażając tym samym swoich klientów na potencjalnie duże straty?
  • Conajmniej jedna osoba wypowiadała się w komentarzach współtwórcy o tym skrypcie. Jej komentarze nie zostały zatwierdzone. Zaś ja pisałem o tym na profilu facebook lerto.pl, nawet dostałem od nich odpowiedź, ale po kontrargumencie z mojej strony nie było już od nich odpowiedzi. Może jak ktoś publicznie się zapyta, spoza zasięgu ich moderacji, to może dostanie odpowiedź?

Tak więc potencjalni klienci, miejcie na uwadze to, że kupując skrypty bardzo tanio, niekoniecznie trafiacie na okazje. Zazwyczaj trafiacie poprostu na osoby, które dopiero zaczynają, mają małą wiedzę i w ostatecznym rozrachunku możecie sobie bardziej zaszkodzić niż skorzystać.

Acha, żeby nie było, że tylko w skryptach początkujących zdarzają się wpadki. Błędy czy jakieś dziury zdarzają się każdemu, nawet najlepszym i największym. Nie raz się słyszy o jakimś wycieku danych w dużych serwisach, czy o dziurach w programach, z których korzysta masa ludzi. Jednak by przeprowadzić na takich produktach skuteczny atak, potrzeba ciut więcej niż omawiane tu 10 sekund i byle przedszkolak tego raczej nie zrobi.

ps: Na moje pytanie na facebooku odpowiedziano mi że ja testowałem wersję demo, a w normalnym skrypcie na pewno nie ma takich dziur. Znalazłem jednak w sieci jeden serwis postawiony na tym skrypcie i on wskazywał wszelkie oznaki podatności na omawiane tu dziury.

ps2: Lerto.pl, w wątku na fb, napisali mi, że po odkryciu luk, naprawiają wszystko klientom za darmo. Pozostaje mieć nadzieję, że będą potrafili to naprawić i że przekażą poprawki klientom. Chyba coś w tym kierunku robią, bo stroną demo skryptu, już jakby jest ciut ciut bezpieczniejsza.

ps3: Nie wnikałem w funkcjonalność skryptu jako serwisu a'la demotywatory pl. Średnio mnie to interesowało, żeby nie powiedzieć, że w ogóle. Zainteresowałem się skryptem pod względem bezpieczeństwa, gdyż prosił o to jeden z kupców.

ps4: Nie ujawniłem tu żadnych tajemnych kodów. Skrypt demo, jest do pobrania na stronie skryptu, w celu między innymi, tu cytuję, "Zweryfikuj kod źródłowy"

ps5: Patrząc na stronę lerto.pl, istnieją oni w branży od 6 lat. Teoretycznie więc po takim czasie pewne podstawy siłą rzeczy powinno się już znać.

Edit (2011-10-26):
I stało się. Wątek na facebook, w którym zadałem im parę niewygodnych pytań, został skasowany.

Komentarze

 

2011-10-25 01:01 gość_Emtec

Nospor, pamiętam swoje początki w php (rok 2000 bodajże). Wtedy było więcej zapału/ambicji czy też zainteresowania i chęci nauki(interesowało ludzi programowanie). Teraz gdyby spojrzeć na scenę to 80% ludzi to osoby które przejrzały kurs, żeby zarabiać. Patrzą przez pryzmat kasy, a nie zainteresowania. PHP jest na tyle prosty ale i też złożony, że każdy początkujący może napisać wszystko - i wtedy uważa się za dobrego codera. Napisałem złożony ponieważ żeby napisać coś porządnego bezpiecznego optymalnego i ładnego dla oka - trzeba już posiadać dobrą wiedzę na temat php i do tego mieć doświadczenie. Uważam że owy skrypt został napisany po nauce 2 tygodniowej. Dlatego słynny kawał "jestem programistą php" jest prawdziwy. Ale uważam też, że wiele programistów php jest dobrych - i mają dużą wiedzę. Natomiast większa grupa ludzi nie wie co robi tak naprawdę, dlatego świat php jest tak a nie inaczej postrzegany (ja sam przeszedłem na inne języki c#/c++/assembler/visual basic - ponieważ tam już nie ma mowy o tym żeby po 2 tygodniach pisać programy, trzeba "wkuwać"). Warto też wspomnieć o ludziach którzy tworzą php - ponieważ nie którzy nie powinni nic przy "naprawie" php robić, nie będę mówić nickami - ale pewien bystry pan z php 2 linijkami "poprawki" rozwalił całego crypta w php. Natomiast, bardzo dobrze że napisałeś. Trzeba pokazywać że społeczność php nie godzi się na takie coś, i próbuje "wyrwać" chwasty które przeszkadzają na wyrośniecie "ładnych" kwiatów.

2011-10-25 08:38 nospor

Emtec, mówisz tu o początkach, nawet ja myślałem że to początkujące osoby w branży. Ale zaglądając na ich stronę widzimy, że cytuję:
Istniejąc w branży od 2005 roku zrozumieliśmy i opanowaliśmy do perfekcji cenną sztukę optymalizacji witryn www pod kątem SEO oraz usability.

Czyli istnieją od 6 lat. Fakt, że piszą tylko o SEO i usability, ale produkty sprzedają jako całość a nie tylko jako SEO i usability, więc przez te 6 lat pewne podstawy można by znać.

Niestety z tym kawałem co mówisz to smutna prawda. Przyczyniają się do tego takiego firemki i osoby tutaj omawiane. Niektórzy mówią, że mimo wszystko nie psują oni rynku, bo dobry programista i tak nie będzie narzekał na brak pracy. Niby tak, mimo wszystko nadmiar takich początkujących programistów php mimo wszystko psuje wizerunek wszystkim.

2011-10-25 08:59 gość_Najki

Świetny artykuł. Przyjemnie się do czyta, a przy tym porusza temat, który odwiecznie psuje rynek nam, uczciwym i doświadczonym programistom PHP. Strasznie irytują mnie takie właśnie okazje i osoby, przez które właśnie ogół programistów PHP postrzegany jest tak, a nie inaczej.

2011-10-25 09:25 gość_singles

Od samego poczatku, kiedy słyszałem o takich skryptach, zastanawiałem się, czy one rzeczywiście w środku wygladają jak kupa. No i się nie myliłem. Wielkie dzięki za wpis i za potwierdzenie moich teorii

2011-10-25 13:10 gość_thek

Ja między innymi byłem osobą komentującą blog oraz stronę. Nie jechałem po autorach wulgaryzmami czy tym podobnie. Napisałem wprost w komentarzach, że to ser szwajcarski podatny na wiele typowych form ataków. Przy okazji skomentowałem na blogu kilka "dobrych rad", które dobre nie były. Żeby tego było mało zauważyłem niezwykłą zbieżność ich skryptu mapy z klikalnymi mapami CSS Winstona Wolfa. Przy wspomnieniu tego na forum.php.pl sam Winston się odezwał, że to więcej niż tylko zbieżność.

Oczywiście komentarze na stronie i blogu nie przeszły moderacji, gdyż wyraźnie wskazywały jak kiepski jest skrypt i słaba wiedza autorów. Nie podpisałem się imieniem i nickiem by nie było, że ktoś konkretny się chce wywyższać ich kosztem. Wolałem by choć na starcie zamiast popatrzeć na nick zauważyli meritum wpisu. jak widac woleli zamieść pod dywan to i wpisy się nie pokazały żadne.

2011-10-25 14:57 gość_artman

Bardzo ciekawy artykuł. Apropos copywritingu i Onetu - http://pokazywarka.pl/6unrwu/

2011-10-25 20:14 nospor

@artman fajny tekst

2011-10-31 11:43 gość_Kacper Kołodziej

Myślałem, że nie ma już głupszego sposobu niż zapisanie niezaszyfrowanego hasła w pliku haslo.txt z chmod 777 w katalogu głównym. Okazało się, że jednak da się zrobić to jeszcze lepiej

2011-11-03 11:20 gość_Artur

Witam

Najgorsze w tym wszystkim jest to, że potencjalny klient zwraca uwagę również na cenę nie mając pojęcia o usability i bezpieczeństwie jakie powinien oferować skrypt.
Przeczyta tekst Pana z lerto.pl i oczarowany najlepszą ofertą kupi skrypt, który później będzie łatał tygodniami.
A jeśli odniesie sukces? Kilka dni i ataki powtarzają się nagminnie bo skrypt zabezpieczony jak wełniana prezerwatywa.
Rzekł bym co mnie to obchodzi... jednak takie osoby psują rynek powodując poszerzanie złych opinii. Klient kupi, nic mu nie wyjdzie i będzie po forach itp rozpisywał, że skrypty a'la demotywatory są do niczego, dziurawe itp, a przecież chodzi tylko o ten skrypt.

Pozdrawiam serdecznie

2011-11-09 22:06 gość_matthewpl

Dobry artykuł i otwiera oczy. Na stronie demo tego skryptu, gdy zalogujesz się na admina (hasło admin) i spróbujesz zmienić hasło, wyskakuje Ci komunikat: Edycja / usuwanie w wersji testowej skryptu zostały wyłączone. Pseudohakerom, ktĂłrzy mając hasło do administracji udają specjalistĂłw - dziękujemy

KaĹźdy, kto dokona edycji w skrypcie, na stronach opatrzonych tym komunikatem, dostanie DEMOT SCRIPT za darmo jako dowĂłd, Ĺźe <<<skrypt posiada wysokiej klasy zabezpieczenia.>>>

czysty sarkazm...

2011-11-09 22:21 nospor

Haha, dawno nie zaglądałem do nich a widzę działają w kierunku poprawienia kodu

2011-11-09 22:36 nospor

Widzę, że w nowym skrypcie demo, który udostępnili do pobrania, to pokasowali w zasadzie wszystko co miało związek z autoryzacją, a panel admina wyrzucili niemalże cały

2011-11-09 22:40 nospor

Dodatkowe "super hiper zabezpieczenie" jakie dodano na zapamiętywanie usera, to ciasteczko z md5 hasła usera. Na tym polega całe dodatkowe zabezpieczenie :/

2011-11-21 13:03 gość_WIDMO

A co ma dyslektyka do pisania kodu ?

2011-11-23 22:41 gość_darek

W demku prawie nic nie ma więc dużo nie można sprawdzić ale sql injection nadal można trenować na tym skrypcie.

2011-11-24 08:08 nospor

Teraz w demku nic nie ma, bo udostępnili inne demo, całkowicie okrojone ze wszystkiego. Zamiast poprawić błędy to ograniczyli się głównie do "utajnienia" kodu.

2011-12-23 19:33 gość_Izorek

Dziwne, że Was jeszcze za ten artykuł nie pozwali za pomowienie, bo na pewno odnoszą szkody materialne

2011-12-24 07:40 nospor

Za jakie pomówienie? Udostępnili kod do, cytuję: "Zweryfikuj kod źródłowy", to zweryfikowałem i napisałem to co kod zawiera.
Na chwilę obecną udostępniają już inny kod.

2011-12-29 11:42 gość_TraGedia

A czy wlasciciel oddaje kase za skrypt po jego zakupieniu ? napisalem reklamacje i teraz czekam na odp... kurde czeu ja wczesniej na to nie zajrzalem...

2011-12-29 12:06 nospor

A czemu mnie się o to pytasz? No niby skąd mam wiedzieć czy oddają kase czy nie
Od napisania tego arta minęło trochę czasu. Być może poprawili te błędy, nie jestem tego wstanie ocenić, gdyż nie udostępniają już kodu jak wcześniej.

2011-12-30 13:32 gość_TraGedia

Od 2 dni czekam na odp na mail od właściela skrypt nie działa nie wiem co mam robić.Czy mam jakieś szanse aby odzyskać kasę ? Co polecacie zrobić w takiej sytuacji ?

2011-12-30 13:43 nospor

Spokojnie, jest teraz okres świąteczny to normalne że ktoś może gdzieś wyjechać i nie przeglądać poczty.

Na stronie napisali:
DAJĘ TOBIE GWARANCJĘ SATYSFAKCJI LUB ZWROT PIENIĘDZY DO 30 DNI!
więc poczekaj.

2012-01-03 17:11 gość_Artur

"Spokojnie, jest teraz okres świąteczny to normalne że ktoś może gdzieś wyjechać i nie przeglądać poczty."

Niestety ale nie w tym rzecz bo na zwykłe zapytanie o funkcjonalność skryptu, autor odpisywał w kilka minut, więc zwykłe olewanie klienta.


Do Izorek
"Dziwne, że Was jeszcze za ten artykuł nie pozwali za pomowienie, bo na pewno odnoszą szkody materialne"
Gdyby wytknięcie błędów, zauważenie nieprawidłowości itp miało by być karalne z urzędu to wybacz ale druga Korea by się nam tu zrobiła

2012-07-18 01:33 gość_Ahe.

Matulu moja... Że takie kwiatki po sieci biegają, to chyba jest jakaś kpina... Sam nie jestem jakimś super programistą, ale... Bez jaj, za takie coś, powinni kastrować i dożywotnio zakazywać pisania kodu...

2012-08-22 18:39 gość_intro

tak to jest jak dziennikarzyna humanista bierze się za kodowanie..
http://www.goldenline.pl/przemyslaw-szczyglowski2

2012-11-03 22:19 gość_matiwoj11

Kupiłem ten skrypt okolo rok temu i mam portal demotywator.com.pl
NIE KUPUJCIE W "FIRMIE" LERTO.PL (a teraz doneta.pl), w opisie aukcji napisali, ze sa darmowe aktualizacje, piszę do nich od 3 tygodni a tu nic maja mnie w *****:/
moze ktos wie jak naprawic blad z polskimi znakami

2013-04-12 02:37 ZacnyUser

Zadziwiające jest to, że ludzie faktycznie coś takiego kupują.

Jak już napisał @Artur, klient kupi taki skrypt, nie wyjdzie mu serwis i będzie później pisał/mówił wszystkim, że tego rodzaju skrypty są do kitu. Oczywiście niezapytany nie powie nikomu, że zapłacił za niego 50 złotych.

Miejmy tylko nadzieję, że po dwóch latach ten produkt został poprawiony i nie ma już takich świetnych zabezpieczeń. Dzięki za artykuł i bardzo dobrze, że poruszyłeś ten temat u siebie.

Pozdrawiam.

2013-06-15 20:22 gość_deuter

Przez całe 3 minuty patrzyłem tępo na ten kod i nie wiedziałem o co chodzi, a tu ciastko. Tych zasad człowiek uczy się czytając drugi wiersz o sesjach, aż trudno to dostrzec...

Dodaj komentarz

 

Dostępne bbcode: b, u, i, url, code, php, css, html, sql, js

Ostatnio komentowane

  1. Pager 2.5.1 oraz EPa... Na szybko2
  2. Pager 2.5.1 oraz EPa... Sławek
  3. Mysql - FAQ Piotr
  4. Liczba dni roboczych Na szybko2
  5. Liczba dni roboczych Naszybko
  6. Klasa widoku nospor
  7. Klasa widoku freebox

Ostatnio na forum

  1. programista php-webm... pracamatysart
  2. Programista PHP/ Mag... Create Magento 2 Marketplace
  3. Baza Danych gosc
  4. Baza Danych YankeS
  5. Baza Danych gosc
  6. Baza Danych YankeS
  7. Problem z bazą danyc... Baza Danych

Skrypty użytkowników

  1. Klasa obsługi szablo... Lirdoner
  2. Sekcje user76
  3. Klasa walidująca for... user76
  4. Licznik Gości online korey
  5. Form Builder Comandeer
  6. Dynamiczny licznik z... korey
  7. Captcha Comandeer