Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pomoc przy rozkodowaniu sql injection string
Forum PHP.pl > Forum > Bazy danych
xbitdesigns
Czesc wszystkim.

Znalazlem takie cos w logu strony, i chcialbym to "rozkodowac":

  1. id=-9999 AND 2=2 UNION ALL SELECT 0x3338646236623932643537633437633133656632306230633032333863373732,
  2. 0x3a3a7865512d312d7465643a3a,0x3a3a7865512d322d7465643a3a,0x3a3a7865512d332d7465
  3. 43a3a,
  4. 0x3a3a7865512d342d7465643a3a,0x3a3a7865512d352d7465643a3a,0x3a3a7865512d362d7465
  5. 43a3a,
  6. 0x3a3a7865512d372d7465643a3a,0x3a3a7865512d382d7465643a3a,0x3a3a7865512d392d7465
  7. 43a3a,
  8. 0x3a3a7865512d31302d7465643a3a,0x3a3a7865512d31312d7465643a3a,0x3a3a7865512d3132
  9. d7465643a3a,
  10. 0x3a3a7865512d31332d7465643a3a,0x3a3a7865512d31342d7465643a3a,0x3a3a7865512d3135
  11. d7465643a3a,
  12. 0x3a3a7865512d31362d7465643a3a,0x3a3a7865512d31372d7465643a3a,0x3a3a7865512d3138
  13. d7465643a3a,
  14. 0x3a3a7865512d31392d7465643a3a,0x3a3a7865512d32302d7465643a3a,0x3a3a7865512d3231
  15. d7465643a3a,
  16. 0x3a3a7865512d32322d7465643a3a,0x3a3a7865512d32332d7465643a3a,0x3a3a7865512d3234
  17. d7465643a3a,
  18. 0x3a3a7865512d32352d7465643a3a,0x3a3a7865512d32362d7465643a3a,0x3a3a7865512d3237
  19. d7465643a3a,
  20. 0x3a3a7865512d32382d7465643a3a,0x3a3a7865512d32392d7465643a3a,0x3a3a7865512d3330
  21. d7465643a3a,
  22. 0x3a3a7865512d33312d7465643a3a,0x3a3a7865512d33322d7465643a3a,0x3a3a7865512d3333
  23. d7465643a3a,
  24. 0x3a3a7865512d33342d7465643a3a,0x3a3a7865512d33352d7465643a3a,0x3a3a7865512d3336
  25. d7465643a3a,
  26. 0x3a3a7865512d33372d7465643a3a,0x3a3a7865512d33382d7465643a3a,0x3a3a7865512d3339
  27. d7465643a3a,
  28. 0x3a3a7865512d34302d7465643a3a,0x3a3a7865512d34312d7465643a3a,0x3a3a7865512d3432
  29. d7465643a3a,
  30. 0x3a3a7865512d34332d7465643a3a,0x3a3a7865512d34342d7465643a3a,0x3a3a7865512d3435
  31. d7465643a3a,
  32. 0x3a3a7865512d34362d7465643a3a,0x3a3a7865512d34372d7465643a3a,0x3a3a7865512d3438
  33. d7465643a3a,
  34. 0x3a3a7865512d34392d7465643a3a,0x3a3a7865512d35302d7465643a3a,0x3a3a7865512d3531
  35. d7465643a3a,
  36. 0x3a3a7865512d35322d7465643a3a,0x3a3a7865512d35332d7465643a3a,0x3a3a7865512d3534
  37. d7465643a3a,
  38. 0x3a3a7865512d35352d7465643a3a,0x3a3a7865512d35362d7465643a3a,0x3a3a7865512d3537
  39. d7465643a3a,
  40. 0x3a3a7865512d35382d7465643a3a--



Bede wdzieczny za sugestie i ewentualna pomoc ^^
blooregard
Wszystkie wartości zapisane są hexadecymalnie.

Po 'union all select' występuje lista kolumn, z reguły sztucznie utworzona, ale jest ich tyle samo, co kolumn w Twoim bazowym zapytaniu, do którego atakujący dokleił swoje zapytanie. Liczbe kolumn odkrył dodając np. order by X, gdzie X strzelał, aż trafił na taką wartość, która nie spowodowała błędu na stronie. Oznaczało to, że odkrył prawidłową liczbę kolumn.

Tylko, że wartości hex, które są podane w tym zapytaniu, to w przełożeniu na ASCII:
0x3a3a7865512d32392d7465643a3a = ::xeQ-2-ted::

Nie wiem, po jaką cholerę te dwukropki.
Najprostsze zapytanie na stronie podatnej na SQL Injection wygląda np. tak:

dane.php?id=100 union select 1,2,3,4,5; <- zakładamy, że w bazowym zapytaniu dane są pobierane z pięciu kolumn, sprawdzamy, w którym miejscu na stronie wyświetli nam się np. zamiast tytułu podstrony z danymi cyfra powiedzmy "2".
Oznacza to, że druga kolumna przechwuje tytuł podstrony, a my sobie możemy w tym miejscu wyświetlić, co chcemy.

teraz sprawdzamy np. wersję serwera mysql:
dane.php?id=100 union select 1,version(),3,4,5;

i mamy w miejscu, gdzie powinien być tytuł podstrony, taki np. tekst:
5.0.51a-24

czyli wersję serwera mysql.

Ale po jakiego grzyba ten ktoś wklejał ileś tam razy ciąg ::xeQ-2-ted::, to nie mam pojęcia.

Najprościej przekonasz się o tym, co się wtedy dzieje, jak skopiujesz ten url z logów i wkleisz go do przeglądarki.
Jeśli wywali Ci np. dane logowania admina smile.gif , to masz stronę podatna na SQL Injection.

Ale to mało prawdopodobne, bo ":" nie przechodzi w nazwach kolumn.

Aha, i ten '--' na końcu - to komentarz, mający w tym miejscu zakończyc Twoje zapytanie i nie wykonywać go dalej, bo mogą być tam jakieś polecenia SQL-a, które spowodują błąd w całym kombinowanym zapytaniu i atakujący nic nie uzyska.
Często stosowany jest też znak komentarza /* lub #, bo -- nie zawsze zadziała.
xbitdesigns
No wlasnie tez to rozkodowywalem wg tablicy ascii i myslalem, ze robie cos zle, z uwagi na dziwny string z dwukropkami.

Jedyne co sie zmienia w ciagu:
::xeQ-2-ted::

To cyfra nastepujaca po "Q-".

Czyli faktycznie to cos (bot, czlowiek) probowal sie wcelowac w liczbe kolumn.

Logi o ktorych mowa sa generowane z poziomu php, a ten wysyla mi takie kwiatki na maila. W parserze url jest filtr, ktory lapie tego typu proby.

Zaciekawilo mnie to, gdyz w ciagu minuty takich zapytan bylo okolo 20 z 4 roznych hostow.

Dzieki za pomoc party.gif
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.