![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 690 Pomógł: 81 Dołączył: 6.04.2005 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
Hi, chciałbym poznać Wasze zdanie na poniższe pytanie:
Czy aplikacja, która nie modyfikuje danych wejściowych / wyjściowych (a co za tym idzie jest podatna na SQL Injection) może być bezpieczna dla danych w niej zawartych? :-) i trochę zabawy ![]() www.beldzio.com/calypso/ www.beldzio.com/calypso/index.txt Zupełny brak modyfikacji danych wejściowych / wyjściowych. Spróbuj się zalogować. 1. Konto test się nie liczy - zostało ono założone by pokazać, że można się zalogować test :: test 2. Żeby złamać Calypso należy się do niego zalogować lub napisać na czym polega zabezpieczenie. Info proszę na PW żeby nie psuć zabawy innym. -------------------- |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Czy aplikacja, która nie modyfikuje danych wejściowych / wyjściowych (a co za tym idzie jest podatna na SQL Injection) może być bezpieczna dla danych w niej zawartych? No skoro można sie wlamac na twoja strone, to raczej dane nie sa bezpieczne. Cytat i trochę zabawy Przeciez to sie lamie podstawowym kodem SQL INjection. Czemu ten test/zabawa ma sluzyc?
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 69 Pomógł: 0 Dołączył: 22.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
Nie filtrujac danych wejsciowych zawsze otwierasz drzwi potencjalnym wlamywaczom, wiec to logiczne, ze nie jest bezpieczna dla przechowywanych danych.
SQL Injection - na PW. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 898 Pomógł: 48 Dołączył: 2.11.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Hmmm a mi coś dziwnie (nie)działa.
Po odpowiednim stringu w loginie mam ciasteczka ustawione na John i hasło w md5 ale jak klikam sprawdzenie to mi wyskakuje, że jednak się nie zalogowałem... Ręcznie sprawdzając widzę, że ciasteczka są jednak prawidłowe... Dodam że jestem na linux i ostatnio też miałem jakieś problemy z odczytywaniem ciasteczek przy jednym ze swoich projektów, więc może to jest przyczyna? Czy może po prostu jestem jakiś nieudolny? |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 690 Pomógł: 81 Dołączył: 6.04.2005 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
No skoro można sie wlamac na twoja strone, to raczej dane nie sa bezpieczne. Przeciez to sie lamie podstawowym kodem SQL INjection. Czemu ten test/zabawa ma sluzyc? podeślij mi dane logowania na pw Nie filtrujac danych wejsciowych zawsze otwierasz drzwi potencjalnym wlamywaczom, wiec to logiczne, ze nie jest bezpieczna dla przechowywanych danych. SQL Injection - na PW. Twój sposób nie pozwala na zalogowanie się ![]() Dodam że jestem na linux i ostatnio też miałem jakieś problemy z odczytywaniem ciasteczek przy jednym ze swoich projektów, więc może to jest przyczyna? nie ![]() polecam przed stwierdzeniem, że to jest lame zalogowanie się -------------------- |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 225 Pomógł: 0 Dołączył: 1.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
SqlInjection na PW poszło...
Co robi plik 'calypso.php', bo na localu, jak to wyrzucę to mój sqlinjection działa nawet na potwierdzeniu, a tak to nie... Ten post edytował Hacker 31.07.2007, 21:58:47 -------------------- (\.../)This is Bunny
(O.o)Copy Bunny into your signature to help him... (> <)...on his way to world domination |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 690 Pomógł: 81 Dołączył: 6.04.2005 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
@Hacker tak jak pisałem wyżej zaloguj się na te dane i spr czy na pewno to działa. Plik calypso.php ma być odp na pytanie postawione przeze mnie w 1. poście
![]() -------------------- |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 225 Pomógł: 0 Dołączył: 1.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
Pokaż jeszcze swój pliczek .htaccess głównie chodzi mi o modrewrite
![]() Jeżeli nie ma w nim przekierowania z calypso.php i plik calypso.php zachowuje się tak samo niezależnie od tego czy jest require-owany, czy nie, to jednak zmieniasz dane wejściowe... (i/lub zamykasz połączenie do bazy ![]() Ten post edytował Hacker 31.07.2007, 22:34:27 -------------------- (\.../)This is Bunny
(O.o)Copy Bunny into your signature to help him... (> <)...on his way to world domination |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 69 Pomógł: 0 Dołączył: 22.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
Da sie zrobic takie zapytanie, zeby w odpowiedzi dostac "Hmmmm you hacked Calypso :-) Congratulation." (i nie mowie tutaj o zalogowaniu sie na test:test), wiec nie ma tam zadnych przekierowan ani innych sztuczek. Mi sie udalo za 2 podejsciem (dluzszym), jednak czekam na wyjasnienie co, jak i dlaczego tak sie dzieje, bo sprawa jest zastanawiajaca.
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 690 Pomógł: 81 Dołączył: 6.04.2005 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
@mwojcik
![]() ![]() ![]() gratki ![]() -------------------- |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 225 Pomógł: 0 Dołączył: 1.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
Ale...
Cytat [4]=> array(2) { ["login"]=> string(4) "test" ["passwd"]=> string(32) "e54aa2684ec70a80814a8a4f438d8a18" } Hash md5('test') to 098f6bcd4621d373cade4e832627b4f6, a nie e54aa2684ec70a80814a8a4f438d8a18... A więc jak mówiłem modyfikujesz dane wejściowe -------------------- (\.../)This is Bunny
(O.o)Copy Bunny into your signature to help him... (> <)...on his way to world domination |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 690 Pomógł: 81 Dołączył: 6.04.2005 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
jak już pisałem nie modyfikuje
![]() -------------------- |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 225 Pomógł: 0 Dołączył: 1.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
więc kod podany na www.beldzio.com/calypso/index.txt to jakaś ściema?
calypso.php zachowuje się tak samo niezależnie od tego czy jest require-owany, czy nie? -------------------- (\.../)This is Bunny
(O.o)Copy Bunny into your signature to help him... (> <)...on his way to world domination |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 690 Pomógł: 81 Dołączył: 6.04.2005 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
ad1. nie ściema index.txt == index.php
ad2. nie zachowuje, w końcu po coś on jest dołączony -------------------- |
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 1 033 Pomógł: 125 Dołączył: 17.09.2005 Skąd: Żywiec Ostrzeżenie: (0%) ![]() ![]() |
Po sprawdzeniu nagłówków wysyłanych przez przeglądarkę podczas "sprawdzania zalogowania" dla użytkownika test oraz Mike doszedłem do wniosku, że plik calypso.php ma treść:
![]() Co nie zmienia faktu, że da się odczytać loginy i hash'e haseł innych użytkowników - tyle że nie chce mi się ściągać tęczowych tabel żeby to łamać. -------------------- "Sumienie mam czyste, bo nieużywane."
|
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 225 Pomógł: 0 Dołączył: 1.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
@Kicok
plik calypso.php tak nie wygląda... -zaloguj się na test i zobacz jaki hash zwraca zapytanie -zrób SqlInjection i zobacz jaki hash zwróci zapytanie dla użytkownika test... EDIT: Hmmm... czy skrypt wykonuje zapytania w niezmienionej formie (tj. w takiej w jakiej wyświetla)? Bo zdaje mi się, że nie.. Ten post edytował Hacker 1.08.2007, 14:53:20 -------------------- (\.../)This is Bunny
(O.o)Copy Bunny into your signature to help him... (> <)...on his way to world domination |
|
|
![]()
Post
#17
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 467 Pomógł: 13 Dołączył: 22.02.2003 Ostrzeżenie: (0%) ![]() ![]() |
@Kciok. Zdecydownie się zgadzam. Jeżeli ten kod index.txt to nie jest ten z index.php.
|
|
|
![]()
Post
#18
|
|
![]() Grupa: Zarejestrowani Postów: 1 033 Pomógł: 125 Dołączył: 17.09.2005 Skąd: Żywiec Ostrzeżenie: (0%) ![]() ![]() |
@Hacker masz rację, nie zauważyłem tego wcześniej. Za to zauważyłem inną rzecz: skrypt ingeruje w wysyłane dane. Wpisz sobie w miejsce loginu: "+" i popatrz na wyświetlone zapytanie - to powinno ci nasunąć sposób myślenia.
Mi się udało zdobyć oryginalny hash hasła do konta Mike i moje wysiłki zostały nagrodzone napisem "Hmmmm you hacked Calypso :-) Congratulation." ![]() Swoją drogą ciekawe jak to jest zrobione. Sam wymyśliłem taką teorię spiskową, że rozszerzenie mysql jest na jego serwerze wyłączone (a włączone jest mysqli albo PDO), a w pliku calypso.php znajdują się napisane w PHP funkcję mysql_connect(), mysql_query() itp. Dzięki takiemu trickowi bełdzio mógł zastosować proste sprawdzanie składni zapytania SQL, a my myśleliśmy, że to czary ;] -------------------- "Sumienie mam czyste, bo nieużywane."
|
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 225 Pomógł: 0 Dołączył: 1.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
@Kicok
Lol to z plusem to żadne odkrycie... wpisz w gogle w zmienną get q pomiędzy dwa wyrazy... Po prostu urldecode zamienia... Btw. podeślij mi na priva (żeby innym zabawy nie psuć) jak to Mikem zrobiłeś Ten post edytował Hacker 1.08.2007, 18:26:33 -------------------- (\.../)This is Bunny
(O.o)Copy Bunny into your signature to help him... (> <)...on his way to world domination |
|
|
![]()
Post
#20
|
|
![]() Grupa: Zarejestrowani Postów: 690 Pomógł: 81 Dołączył: 6.04.2005 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
@Hacker masz rację, nie zauważyłem tego wcześniej. Za to zauważyłem inną rzecz: skrypt ingeruje w wysyłane dane. Wpisz sobie w miejsce loginu: "+" i popatrz na wyświetlone zapytanie - to powinno ci nasunąć sposób myślenia. co do "+" to zauważ że w kodzie jest :
chyba reszty nie muszę wyjaśniać? ![]() a ten przykładowy kodzik calypso fajny ;-D ![]() @Hacker kod "na Majka" Ci już nic nie da :-) mały bład w kodzie był ;-) tzn linijkę trzeba było przenieść wyżej ;-) mimo to nie wpłyneło to na ideę zabezpieczenia ![]() @Kicok gr ![]() -------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 20:02 |