Przyscisk |
Przyscisk |
13.05.2004, 23:36:42
Post
#21
|
|
Grupa: Zarejestrowani Postów: 110 Pomógł: 0 Dołączył: 4.02.2003 Ostrzeżenie: (0%) |
Cytat To podaj choć jeden :wink:
On ujał zmienną z POST w zapytaniu w apostrofy, więc wszystko co wrzucisz do tej zmiennej będzie traktowane jako łańcuch tekstowy, a że nie możesz użyć ' ani ", to nigdy z tego łańcucha nie wyjdziesz i nie będziesz mógł wstrzyknąć nic do zapytania SQL. oczywiscie magic_quotes_gpc jest duzym zabezpieczeniem lecz nie zapewnia ci one 100% gwarancji. Zabezpieczyc sie mozna poprzez dokladna weryfikacje danych odebranych z przegladarki. Podpowiem by zwrocic uwage na znaki komentarzy SQL oraz oczywiscie gdy magic_quotes_gpc jest off to na znaki apostrofow. Koncze tamat bo nie chce nikogo tu uczyc jak sie wstrzyki robi tylko zwrocilem wam uwage na to byscie sie nad tym zastanowili. Pozdrawiam evo |
|
|
13.05.2004, 23:36:45
Post
#22
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 0 Dołączył: 27.02.2004 Ostrzeżenie: (10%) |
A może to być wina błędnego odwolania sie to przycisku wyślij
[php:1:4afff73f24]<?php if( isset( $_POST['wyślij'] ) ) ?>[/php:1:4afff73f24] gdyż do tego fragmętu wszystko działa, w środku próbowałem wywołać zmienne $login i $key, lecz niestety nic sie nie pokazało. -------------------- Warsztst: Apache 1.3.31 | PHP 4.3.7RC1 | MySQL 4.0.18
Na warsztacie: RU llllllllll 98% |
|
|
13.05.2004, 23:47:36
Post
#23
|
|
Grupa: Zarejestrowani Postów: 85 Pomógł: 0 Dołączył: 2.02.2004 Ostrzeżenie: (0%) |
Cytat oczywiscie magic_quotes_gpc jest duzym zabezpieczeniem lecz nie zapewnia ci one 100% gwarancji.
Zabezpieczyc sie mozna poprzez dokladna weryfikacje danych odebranych z przegladarki. Podpowiem by zwrocic uwage na znaki komentarzy SQL oraz oczywiscie gdy magic_quotes_gpc jest off to na znaki apostrofow. Koncze tamat bo nie chce nikogo tu uczyc jak sie wstrzyki robi tylko zwrocilem wam uwage na to byscie sie nad tym zastanowili. Nie musisz mi tłumaczyć sql injection, bo sam pisałem kiedyś o tym artykuł i myślę, że znam wszystkie kombinacje takich ataków (choć oczywiście mogę się mylić :? ). Prosiłem, żebyś podał przykład, bo chciałem Ci go obalić. Niestety w podanym przypadku jest w 100% zabezpieczone i żaden # ani inny znaczek komentarza nic tu nie da. Tak więc podniosłeś w tym przypadku fałszywy alarm. Gdyby to nie była zmienna wstawiana jako łańcuch tekstowy, to owszem, ale w tym przypadku jest dobrze zabezpieczone. @neo.priv W pierwszym pliku masz takie coś: [xml:1:476cdaac63] <input type="submit" value="Załóż konto" name="B2" style="font-family: Verdana; font-size: 8pt">[/xml:1:476cdaac63] Czyli po naciśnięciu submit powstanie zmienna B2, a nie wyslij w tym przypadku. Może to o to chodziło? |
|
|
14.05.2004, 09:56:52
Post
#24
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 0 Dołączył: 27.02.2004 Ostrzeżenie: (10%) |
Cytat Cytat oczywiscie magic_quotes_gpc jest duzym zabezpieczeniem lecz nie zapewnia ci one 100% gwarancji. Zabezpieczyc sie mozna poprzez dokladna weryfikacje danych odebranych z przegladarki. Podpowiem by zwrocic uwage na znaki komentarzy SQL oraz oczywiscie gdy magic_quotes_gpc jest off to na znaki apostrofow. Koncze tamat bo nie chce nikogo tu uczyc jak sie wstrzyki robi tylko zwrocilem wam uwage na to byscie sie nad tym zastanowili. Nie musisz mi tłumaczyć sql injection, bo sam pisałem kiedyś o tym artykuł i myślę, że znam wszystkie kombinacje takich ataków (choć oczywiście mogę się mylić :? ). Prosiłem, żebyś podał przykład, bo chciałem Ci go obalić. Niestety w podanym przypadku jest w 100% zabezpieczone i żaden # ani inny znaczek komentarza nic tu nie da. Tak więc podniosłeś w tym przypadku fałszywy alarm. Gdyby to nie była zmienna wstawiana jako łańcuch tekstowy, to owszem, ale w tym przypadku jest dobrze zabezpieczone. @neo.priv W pierwszym pliku masz takie coś: [xml:1:94d1d7574e] <input type="submit" value="Załóż konto" name="B2" style="font-family: Verdana; font-size: 8pt">[/xml:1:94d1d7574e] Czyli po naciśnięciu submit powstanie zmienna B2, a nie wyslij w tym przypadku. Może to o to chodziło? Zrobiłem jak radziłeś, wpis został dodnay, lecz jest jedno ale. Otóż jak można zauważyć po wypełnieniu formularza rejestracyjnego przechodzimy do sprawdzenie wpisanych danych. I tam na samym końcu sa przyciski Kod wstecz
i Kod wyślij
Zakłądam ze internauta może sie pomylić i dlatego sa te przyciski. Zrobiwszy tak jak proponjesz dane zapisane w formularzu rejestracyjnym od razu są zapisywana w bazie danych, lecz powinno być po kliknięciu na wśylij. Nie wiem dlaczego te dane się gubiom. Jest co ciekawy przypadek i mam nadzieje że go rozwiżemy, gdyż komuś w przyszłości może troszke ułatwimy życie. Macie jakieś propozycje? -------------------- Warsztst: Apache 1.3.31 | PHP 4.3.7RC1 | MySQL 4.0.18
Na warsztacie: RU llllllllll 98% |
|
|
14.05.2004, 11:15:58
Post
#25
|
|
Grupa: Zarejestrowani Postów: 85 Pomógł: 0 Dołączył: 2.02.2004 Ostrzeżenie: (0%) |
Aha... To takie coś chcesz uzyskać. W takim razie możesz zrobić spowrotem tak jak było. Natomiast w miejscu gdzie jest ten drugi przycisk wyslij musisz przesyłać w formularzu wszystkie potrzebne Ci dane. Czyli w tym miejscu:
[php:1:3c2d721183]<?php echo "<form method="post" action="pokarz_rejestracja.php"> <input type="submit" name="wstecz" value="wstecz" onClick=history.back()> <input type="submit" name="wyslij" value="wyślij"> "; $login = $_POST[login]; $key = md5 ($_POST[haslo]); ?>[/php:1:3c2d721183] Musisz dopisać: [php:1:3c2d721183]<?php echo "<form method="post" action="pokarz_rejestracja.php"> <input type="hidden" name="login" value="".$_POST['login']."" /> <input type="hidden" name="haslo" value="".$_POST['haslo']."" /> .... itd ...itd <input type="submit" name="wstecz" value="wstecz" onClick=history.back()> <input type="submit" name="wyslij" value="wyślij"> </form>"; $login = $_POST[login]; $key = md5 ($_POST[haslo]); ?>[/php:1:3c2d721183] Oczywiście zamiast tekstu: .... itd ...itd powinieneś powstawiać wszystkie pozostałe zmienne, które były w poprzednim formularzu. Nie zapomnij też formularza zakończyć tagiem: </form> |
|
|
14.05.2004, 11:17:50
Post
#26
|
|
Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław |
a nie lepiej dane z formularzy pamietać w sesji?
-------------------- |
|
|
14.05.2004, 11:28:40
Post
#27
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 0 Dołączył: 27.02.2004 Ostrzeżenie: (10%) |
Działa tak jak chce.
@scanner Wszystko przedemną, może masz racje, twoja rada może być prostrza, zobacze jak to wyjdzie w praniu. Pamiętam że jest jeszcze coś takiego co się nazywa obiektowy formularz, chyba pokreciłem nazwe. Lecz chodzi o to że wpisane wartości do każdego z pól staja się odrębnymi obiektami. Coś mi świta, poszperam troszke. Dzięki za pomoc. -------------------- Warsztst: Apache 1.3.31 | PHP 4.3.7RC1 | MySQL 4.0.18
Na warsztacie: RU llllllllll 98% |
|
|
Wersja Lo-Fi | Aktualny czas: 23.04.2024 - 08:28 |