![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 24.04.2006 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Czesc wszystkim.
Znalazlem takie cos w logu strony, i chcialbym to "rozkodowac":
Bede wdzieczny za sugestie i ewentualna pomoc ^^ |
|
|
![]()
Post
#2
|
|
![]() Newsman Grupa: Moderatorzy Postów: 2 033 Pomógł: 290 Dołączył: 21.12.2007 Skąd: Łódź ![]() |
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 ![]() 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. Ten post edytował blooregard 11.02.2009, 10:19:45 -------------------- Life's simple... You make choices and don't look back...
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 24.04.2006 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
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 ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 01:08 |