Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Włamanie na stronę w php
tkostek
post
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)
Go to the top of the page
+Quote Post
thek
post
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.
Go to the top of the page
+Quote Post
tkostek
post
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
Go to the top of the page
+Quote Post
Pawel_W
post
Post #4





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

Ostrzeżenie: (0%)
-----


Cytat(tkostek @ 13.06.2010, 09:26:40 ) *
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
Go to the top of the page
+Quote Post
tkostek
post
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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 27.08.2025 - 05:43