![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 1 Dołączył: 21.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
zrobiłem następujący kodzik:
Kod <form action="logowanie.php" method="GET"> login: <input type=text name=f1><br> hasło: <input type=password name=f2><br> <input type=submit value="Wyslij"> <input type=reset><br> <? $login=$_GET['f1']; $haslo=$_GET['f2']; $plogin=admin; $phaslo=1234; if($login == $plogin) { if($haslo == $phaslo) { echo '<a href="strona.php">kliknij tu!</a>'; } else { print "złe hasło <br> spróbuj jeszcze raz!"; } } else{ print "zły login <br> spróbuj jeszcze raz!"; } ?> jak się można domyślić pobiera on od użytkownika login i hasło, a następnie porównuje je z właściwymi danymi. bez żadnego SQL ani innych baz danych. pomyślałem sobie że spróbuje się włamać na własną stronę. Najpierw spróbowałem wszystkich kodów SQL injection z książek, ale nie działały. W końcu poddałem się i wpisałem w pole login: "$plogin"-w tej zmiennej w moim kodzie zapisany jest poprawny login, a w pole hasło: "$phaslo" (poprawne hasło) wydawało by się że powinno zadziałać gdyż powstała by instrukcja : ..........if ($plogin==$plogin){..... a tu kapota. pisze że niepoprawnie. moje pytanie brzmi: DLACZEGO?(IMG:style_emoticons/default/questionmark.gif) |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
A od kiedy słowo $plogin jest równe zawartości zmiennej $plogin? (IMG:style_emoticons/default/winksmiley.jpg) Czy otwierając na kompie obrazek o nazwie plik.txt zobaczysz napis plik.txt? (IMG:style_emoticons/default/winksmiley.jpg) Może tam przecież być cokolwiek.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 1 Dołączył: 21.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
w takim razie jak komp rozróżnia nazwę "$a" od wartości "$a"? według mnie jeśli $a=1 to $a=$a, bo 1=1
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 675 Pomógł: 286 Dołączył: 15.06.2009 Skąd: Wieliczka Ostrzeżenie: (0%) ![]() ![]() |
w takim razie jak komp rozróżnia nazwę "$a" od wartości "$a"? według mnie jeśli $a=1 to $a=$a, bo 1=1 dane pobrane przez $_POST są zdefiniowane jako ciąg znaków a nie zmienna... do czegoś takiego możesz użyć eval |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 1 Dołączył: 21.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
aha, rozumiem dzięki.
a czy na tak zrobioną stronę da się w ogóle włamać? czy jest jakiś sposób żeby komp potraktował $_POST jako zmienną? np. poprzez to eval? Ten post edytował tkostek 13.06.2010, 14:04:12 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 27.08.2025 - 05:43 |