Home
Balcerzan Edward Poezja polska w latach 1918 1939
wymiana handlowa miedzy polska a ue
08 Zbigniew Nienacki Pan Samochodzik i Kapitan Nemo
Angelique Anjou Chameleon (pdf)
Lois McMaster Bujold 13 A Civil Campaign
Dla Ciebie wszystko
Januszewska Krystyna Przytulać‡ kamienie
Dyscyplina Marina Anderson
Banks Iain M. UwikśÂ‚anie
Crowe Evelyn Tak trudno zapomnieć‡
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • blogostan.opx.pl

  • [ Pobierz caÅ‚ość w formacie PDF ]

    o wykryciu luki związanej z niewłaściwym zastosowaniem funkcji w wersjach
    serwera bazy danych o nazwie ToolTalk wchodzącego w skład kilku systemów ope-
    racyjnych wyposażonych w CDE. Luka ta umożliwiała zdalnym, nieuwierzytelnionym
    hakerom wykonanie dowolnego kodu na zaatakowanym komputerze (patrz www.
    securityfocus.com/bid/3382).
    Kod zródłowy tej funkcji zdefiniowany jest w pliku zródłowym common/client_msgs.c
    (podana Å›cieżka to Å›cieżka wzgl¹dna wobec katalogu głównego kodu, czyli katalogu,
    do którego rozpakowano kod zródłowy wersji 1.5.7.1 programu).
    304 Hack Proofing Your Network. Edycja polska
    Wytłuszczony wiersz sygnalizuje ten fragment kodu, w którym parametry przekazane
    do funkcji przekazywane sÄ… do funkcji . Luka tkwi nie w tej
    konkretnej funkcji, ale w jej nieprawidłowym wykorzystaniu w innych fragmentach
    kodu zródłowego. Programista tej funkcji zakłada, że funkcja ją wywołująca przekaże
    poprawny ciÄ…g formatujÄ…cy i wszystkie potrzebne do konstrukcji ciÄ…gu parametry.
    Pełny kod tej funkcji zamieszczono w tym miejscu, ponieważ jest ona świetnym przy-
    kładem prowokowania sytuacji, które mogą zaowocować atakiem wykorzystującym
    ciąg formatujący. Wiele programów wyposażanych jest w bardzo podobne funkcje.
    SÅ‚użą one jako otoczki (ang. wrapper) wyÅ›wietlajÄ…ce komunikaty o bÅ‚¹dach i wzorowa-
    ne sÄ… na funkcji ; przyjmujÄ… jako parametry numer bÅ‚¹du i parametry sÅ‚użące
    do konstrukcji komunikatu. Problem (zgodnie z tym, co napisano na poczÄ…tku roz-
    dziaÅ‚u) polega na tym, że programiÅ›ci cz¹sto zapominajÄ… o przekazaniu do takiej funkcji
    ciÄ…gu formatujÄ…cego.
    Należałoby teraz przeanalizować zdarzenia towarzyszące nawiązaniu połączenia z usłu-
    gą przez klienta i próbie przekazania za pośrednictwem funkcji ciągu
    formatujÄ…cego do funkcji .
    Dla Czytelników dysponujących kodem programu  odpowiedni fragment kodu znaj-
    duje si¹ w pliku zródÅ‚owym server/soa.c. Funkcja, w której zdefiniowano interesujÄ…cy
    nas kod nosi nazw¹ . Reszta kodu zostaÅ‚a z wydruku usuni¹ta  dla
    wygody i zwi¹zÅ‚oÅ›ci przykÅ‚adu. Podatne na ataki wywoÅ‚anie znajduje si¹ w 53. wierszu
    pliku zródłowego (na wydruku jest on wytłuszczony):
    L
    Rozdział 9. f& Ciągi formatujące 305
    W powyższym wywołaniu funkcji jako ciąg formatujący przekazywa-
    ny jest parametr . Ostatecznie ciÄ…g reprezentowany przez ten parametr zostaje
    przekazany do funkcji (na poprzednim wydruku). Dla kontrolera kodu zró-
    dÅ‚owego taka konstrukcja powinna kojarzyć si¹ z potencjalnÄ… lukÄ…. PrawidÅ‚owe wy-
    woÅ‚anie funkcji powinno mieć nast¹pujÄ…cÄ… postać:
    Tutaj zmienna przekazywana jest do funkcji jako parametr kore-
    spondujący ze specyfikatorem ciągu formatującego. Taka postać wywołania eliminuje
    możliwość złośliwego podstawienia w parametrze ciągu interpretowanego
    w funkcji jako ciąg formatujący. Parametr jest jednym z parametrów
    dyrektywy przekazanym do serwera przez klienta.
    Podsumowując, kiedy klient nawiązuje połączenie z serwerem rwhoisd i wykonuje po-
    lecenie , w przypadku niepoprawnych wartości parametrów polecenia wywoływana
    jest funkcja , wypisująca na standardowym wyjściu programu komuni-
    kat o bÅ‚¹dzie. Procedura ta przebiega nast¹pujÄ…co:
    1. Serwer rozpoznaje parametr i wywoÅ‚uje funkcj¹ do obsÅ‚ugi
    polecenia.
    2. Funkcja przekazuje polecenie klienta do funkcji
    , interpretującej i kontrolującej poprawność parametrów
    polecenia.
    3. Funkcja wykrywa bÅ‚Ä…d i przekazuje komunikat o bÅ‚¹dzie
    oraz ciÄ…g polecenia do funkcji . CiÄ…g polecenia przekazywany
    jest jako ciÄ…g formatujÄ…cy.
    4. Funkcja przekazuje otrzymany od klienta ciÄ…g formatujÄ…cy
    do funkcji (patrz wydruk).
    Widać wyraznie, że zdalny klient może złośliwie spreparować dane, które zostaną prze-
    kazane jako ciÄ…g formatujÄ…cy do funkcji . CiÄ…g zawierajÄ…cy te dane przeka-
    zywany jest do serwera jako parametr dyrektywy . Nawiązując połączenie z usługą
    i przesyłając szkodliwy ciąg formatujący, atakujący może przeforsować zapis własnych
    danych do pami¹ci procesu.
    Testowanie wykorzystujÄ…ce
    przypadkowe ciÄ…gi formatujÄ…ce
    Po zlokalizowaniu w kodzie zródłowym potencjalnych luk związanych z ciągami for-
    matujÄ…cymi należaÅ‚oby podjąć prób¹ ich wykorzystania i pokazać, że jest ono możli-
    we w wyniku podawania spreparowanych ciÄ…gów formatujÄ…cych i obserwacj¹ reakcji
    serwera. [ Pobierz całość w formacie PDF ]
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • sdss.xlx.pl
  • 
    Wszelkie Prawa Zastrzeżone! Jeśli jest noc, musi być dzień, jeśli łza- uśmiech Design by SZABLONY.maniak.pl.