SPIS TREŚCI

• iOS 15

• Co każdy Programista Javy wiedzieć powinien

• Co każdy Programista wiedzieć powinien

• Inżynier Danych prawdę Ci powie

• F.A.Q.




Android Studio


• Wprowadzenie do Android Studio

• Pierwsze kroki z Android Studio

• Podstawy Android Studio

• Narzędzia Android Studio

• Debuggowanie




Abecadło Shellcodera



• Zanim zaczniesz …

• Stack Overflows

• Kod Powłoki

• Wprowadzenie do błędów w ciągach formatujących

• Wprowadzenie do przepełnień sterty

• Inne platformy - Windows, Solaris, OS/X i Cisco

• Kod powłoki systemu Windows

• Przepełnienie Windows

• Pokonywanie filtrów

• Wprowadzenie do Solaris Exploitation

• Zaawansowana eksploatacja Solaris

• Kod powłoki systemu OS X

• Wykorzystanie Cisco IOS

• Mechanizmy ochronne

• Tworzenie środowiska pracy

• Wstrzykiwanie błędów

• Sztuka Fuzzingu

• Audyt kodu źródłowego

• Instrumentalne dochodzenie: podejście ręczne

• Śledzenie pod kątem luk

• Audyt binarny

• Alternatywne strategie ładowności

• Pisanie exploitów, które działają na wolności

• Atakowanie oprogramowania bazodanowegoo

• Przepełnienia jądra Unix

• Wykorzystywanie luk w jądrze systemu Unix

• Hakowanie jądra systemu Windows



Programowanie iOS 15

Część 1, Zapoznanie się z Xcode [KOD], zawiera prezentację Xcode i omawia wszystkie różne panele, których będziesz używać.

Część 2, Proste wartości i typy [KOD], dotyczy sposobu implementacji wartości i typów w języku Swift.

Część 3, Warunki i opcje [KOD] pokazuje, w jaki sposób implementowane są instrukcje if i switch oraz jak implementować zmienne, które mogą, ale nie muszą mieć wartości.

Część 4, Operatory i pętle zakresów, [KOD] pokazuje, jak pracować z zakresami i różne sposoby implementacji pętli w Swift.

Część 5, Typy kolekcji  [KOD], omawia popularne typy kolekcji, którymi są tablice, słowniki i zestawy.

Część 6, Funkcje i domknięcia  [KOD], opisuje, w jaki sposób można grupować instrukcje za pomocą funkcji i zamknięć.

Część 7, Klasy, struktury i wyliczenia,  [KOD] , mówi o tym, jak złożone obiekty zawierające stan i zachowanie są reprezentowane w Swift.

Część 8, Protokoły, rozszerzenia i obsługa błędów,  [KOD] mówi o tworzeniu protokołów, które mogą przyjąć złożone typy danych, rozszerzaniu możliwości istniejących typów oraz o tym, jak radzić sobie z błędami w kodzie.

Część 9, Konfiguracja interfejsu użytkownika, [KOD] dotyczy tworzenia aplikacji Let′s Eat, dodawania zasobów graficznych i konfigurowania początkowego ekranu, który będą widzieć użytkownicy.

Część 10, Budowanie interfejsu użytkownika, [KOD] obejmuje konfigurację głównego ekranu aplikacji Let&prie;s Eat.

Część 11, Wykańczanie interfejsu użytkownika, [KOD] obejmuje konfigurację pozostałych ekranów aplikacji Let′s Eat.

Część 12, Modyfikowanie i konfigurowanie komórek, [KOD] dotyczy dostosowywania komórek widoku tabeli i kolekcji w scenorysie.

Część 13, Pierwsze kroki z widokami MVC i kolekcji, [KOD] dotyczy pracy z widokami kolekcji i tego, jak można ich używać do wyświetlania siatki elementów.

Część 14, Wprowadzanie danych do widoków kolekcji, [KOD] dotyczy włączania danych do widoków kolekcji.

Część 15, Pierwsze kroki z widokami tabel, [KOD] nauczy Cię, jak pracować z widokami tabel i szczegółowo przyjrzy się dynamicznym widokom tabel.

Część 16, Pierwsze kroki z MapKit, [KOD] dotyczy pracy z MapKit i dodawania adnotacji do mapy. Utworzysz także niestandardowe adnotacje do swojej mapy.

Część 17, Pierwsze kroki z plikami JSON, [KOD] obejmuje naukę korzystania z menedżera danych do odczytywania pliku JSON i korzystania z danych w aplikacji.

Część 18, Wyświetlanie danych w statycznym widoku tabeli, [KOD] uczy, jak wypełnić statyczny widok tabeli danymi przekazywanymi z jednego kontrolera widoku do drugiego za pomocą przejść.

Część 19, Pierwsze kroki z niestandardowymi elementami sterującymi  [KOD], pokazuje, jak tworzyć własne widoki niestandardowe.

Część 20, Pierwsze kroki z aparatami i bibliotekami zdjęć, [KOD] omawia pracę z aparatem i biblioteką zdjęć urządzenia.

Część 21, Zrozumienie danych podstawowych, [KOD] obejmuje podstawy korzystania z danych podstawowych oraz sposób zapisywania recenzji i zdjęć restauracji.

Część 22, Pierwsze kroki z Mac Catalyst, [KOD] dotyczy modyfikowania aplikacji, aby działała dobrze na większym ekranie iPada i aby działała na Macu.

Część 23, Pierwsze kroki z SwiftUI, [KOD] dotyczy tworzenia aplikacji przy użyciu nowej technologii SwiftUI firmy Apple.

Część 24, Pierwsze kroki z Swift Concurrency,  [KOD] przedstawia koncepcje programowania równoległego i asynchronicznego oraz pokazuje, jak można je zaimplementować w swojej aplikacji.

Część 25, Pierwsze kroki z SharePlay,  [KOD] pokazuje, jak możesz zaimplementować wspólne doświadczenia dla użytkowników przy użyciu SharePlay i struktury działań grupowych.

Część 26, Testowanie i przesyłanie aplikacji do App Store, dotyczy testowania i przesyłania aplikacji do App Store.




Podręcznik hakera aplikacji internetowych

Część 1  "(nie)zabezpieczenie aplikacji internetowych" : opisuje obecny stan zabezpieczeń aplikacji internetowych w Internecie. Pomimo powszechnych zapewnień, większość aplikacji jest niepewna i może zostać w jakiś sposób skompromitowana przy skromnym poziomie umiejętności. Luki w aplikacjach internetowych wynikają z jednego podstawowego problemu: użytkownicy mogą wprowadzać dowolne dane wejściowe. Omówimy kluczowe czynniki, które przyczyniają się do słabego stanu bezpieczeństwa współczesnych aplikacji. Opisuje również, w jaki sposób defekty w aplikacjach internetowych mogą narazić szerszą infrastrukturę techniczną organizacji na bardzo podatną na ataki.

Część 2 , "Podstawowe mechanizmy obronne" : opisuje kluczowe mechanizmy bezpieczeństwa stosowane przez aplkacje internetowe w celu rozwiązania podstawowego problemu, jakim jest niezaufanie wszystkich danych wprowadzanych przez użytkownika. Te mechanizmy są środkiem, za pomocą którego aplikacja zarządza dostępem użytkownika, obsługuje dane wejściowe użytkownika i reaguje na atakujących. Mechanizmy te obejmują również funkcje udostępniane administratorom do zarządzania i monitorowania samej aplikacji. Podstawowe mechanizmy bezpieczeństwa aplikacji reprezentują również jej główną powierzchnię ataku, więc musisz zrozumieć, jak te mechanizmy mają działać, zanim będziesz mógł je skutecznie zaatakować.

Część 3  "Technologie aplikacji internetowych" : jest krótkim wprowadzeniem do kluczowych technologii, z którymi możesz się spotkać podczas atakowania aplikacji internetowych. Obejmuje wszystkie istotne aspekty protokołu HTTP, technologie powszechnie używane po stronie klienta i serwera oraz różne schematy używane do kodowania danych. Jeśli znasz już główne technologie sieciowe, możesz przejrzeć tą część.

Część 4  "Mapowanie aplikacji" : opisuje pierwsze ćwiczenie, które należy wykonać, gdy atakujesz nową aplikację - zebranie jak największej ilości informacji w celu zmapowania powierzchni ataku i sformułowania planu ataku. Proces ten obejmuje eksplorację i sondowanie aplikacji w celu skatalogowania całej jej zawartości i funkcjonalności, identyfikację wszystkich punktów wejścia dla danych wejściowych użytkownika oraz wykrywanie używanych technologii.

Część 5  "Omijanie kontroli po stronie klienta" : obejmuje pierwszy obszar rzeczywistej luki w zabezpieczeniach, która pojawia się, gdy aplikacja polega na mechanizmach kontroli zaimplementowanych po stronie klienta w celu zapewnienia bezpieczeństwa. Takie podejście zwykle jest wadliwe, ponieważ można oczywiście obejść wszelkie kontrole po stronie klienta. Dwa główne sposoby, w jakie aplikacje stają się podatne na ataki, to przesyłanie danych przez klienta przy założeniu, że nie zostaną one zmodyfikowane, oraz poleganie na sprawdzaniu danych wejściowych użytkownika po stronie klienta. W tym rozdziale opisano szereg interesujących technologii, w tym lekkie kontrolki zaimplementowane w HTML, HTTP i JavaScript oraz bardziej zaawansowane kontrolki wykorzystujące aplety Java, kontrolki ActiveX, obiekty Silverlight i Flash.

Część 6  "Atak na uwierzytelnianie" : analizuje różne funkcje, dzięki którym aplikacje uzyskują pewność tożsamości swoich użytkowników. Obejmuje to główną funkcję logowania, a także funkcje związane z uwierzytelnianiem urządzeń peryferyjnych, takie jak rejestracja użytkownika, zmiana hasła i odzyskiwanie konta. Mechanizmy uwierzytelniania zawierają wiele różnych luk, zarówno w projekcie, jak i implementacji, które atakujący może wykorzystać w celu uzyskania nieautoryzowanego dostępu. Obejmują one od oczywistych wad, takich jak złe hasła i podatność na ataki typu brute-force, po bardziej niejasne problemy w logice uwierzytelniania. Badamy również szczegółowo typy wieloetapowych mechanizmów logowania używanych w wielu aplikacjach o krytycznym znaczeniu dla bezpieczeństwa i opisujemy nowe rodzaje luk w zabezpieczeniach, które często zawierają.

Część 7  "Zarządzanie sesją atakowania" : analizuje mechanizm, za pomocą którego większość aplikacji uzupełnia bezstanowy protokół HTTP o koncepcję sesji stanowej, umożliwiając im jednoznaczną identyfikację każdego użytkownika w kilku różnych żądaniach. Mechanizm ten jest kluczowym celem, gdy atakujesz aplikację internetową, ponieważ jeśli uda ci się ją złamać, możesz skutecznie ominąć logowanie i podszywać się pod innych użytkowników bez znajomości ich danych uwierzytelniających. Przyglądamy się różnym typowym defektom w generowaniu i przesyłaniu tokenów sesji i opisujemy kroki, które można podjąć, aby je wykryć i wykorzystać.

Część 8  "Atakowanie kontroli dostępu" : przedstawia sposoby, w jakie aplikacje faktycznie wymuszają kontrolę dostępu, opierając się w tym celu na mechanizmach uwierzytelniania i zarządzania sesjami. Opisujemy różne sposoby łamania kontroli dostępu oraz sposoby wykrywania i wykorzystywania tych słabości.

Część 9  "Atakowanie magazynów danych" : rozpoczyna się od szczegółowego zbadania podatności na wstrzykiwanie SQL. Obejmuje pełen zakres ataków, od najbardziej oczywistych i trywialnych po zaawansowane techniki eksploatacji obejmujące kanały pozapasmowe, wnioskowanie i opóźnienia czasowe. Dla każdego rodzaju luki i techniki ataku opisujemy istotne różnice między trzema popularnymi typami baz danych: MS-SQL, Oracle i MySQL. Następnie przyjrzymy się szeregowi podobnych ataków na inne magazyny danych, w tym NoSQL, XPath i LDAP.

Część 10  "Atak na komponenty zaplecza" : opisuje kilka innych kategorii luk w zabezpieczeniach, w tym wstrzykiwanie poleceń systemu operacyjnego, wstrzykiwanie do języków skryptów internetowych, ataki z przechodzeniem ścieżek plików, luki w zabezpieczeniach dołączania plików, wstrzykiwanie do XML, SOAP, zakończenie żądań HTTP i usługi poczty e-mail.

Część 11  "Atak na logikę aplikacji" : analizuje istotny i często pomijany obszar powierzchni ataku każdej aplikacji: wewnętrzną logikę, która jest wykorzystywana do implementacji jej funkcjonalności. Defekty w logice aplikacji są niezwykle zróżnicowane i trudniej je scharakteryzować niż typowe luki, takie jak wstrzyknięcie SQL i skrypty między witrynami. Z tego powodu przedstawiamy serię rzeczywistych przykładów, w których wadliwa logika naraziła aplikację na niebezpieczeństwo. Ilustrują one różnorodność błędnych założeń, które przyjmują projektanci i programiści aplikacji. Z tych różnych indywidualnych wad wyprowadzamy serię konkretnych testów, które można przeprowadzić w celu zlokalizowania wielu rodzajów błędów logicznych, które często pozostają niewykryte.

Część 12  "Atakowanie użytkowników : Cross-Site Scripting" : analizuje najbardziej widoczną lukę tego rodzaju - ogromnie powszechną lukę, która ma wpływ na ogromną większość aplikacji internetowych w Internecie. Szczegółowo badamy różne rodzaje luk XSS i opisujemy skuteczną metodologię wykrywania i wykorzystywania nawet najbardziej niejasnych ich przejawów.

Część 13  "Atakowanie użytkowników: inne techniki" : omawia kilka innych rodzajów ataków na innych użytkowników, w tym wywoływanie działań użytkownika poprzez fałszowanie żądań i odzyskiwanie interfejsu użytkownika, przechwytywanie danych między domenami przy użyciu różnych technologii po stronie klienta, różne ataki na te same zasady pochodzenia, wstrzykiwanie nagłówka HTTP, wstrzykiwanie plików cookie i utrwalanie sesji, otwarte przekierowanie, wstrzykiwanie SQL po stronie klienta, lokalne ataki na prywatność i wykorzystywanie błędów w formantach ActiveX. Rozdział kończy się omówieniem szeregu ataków na użytkowników, które nie są zależne od luk w żadnej konkretnej aplikacji internetowej, ale mogą zostać przeprowadzone za pośrednictwem dowolnej złośliwej witryny internetowej lub odpowiednio ustawionego atakującego.

Część 14  "Automatyzacja ataków dostosowanych" : nie wprowadza żadnych nowych kategorii luk w zabezpieczeniach. Zamiast tego opisuje kluczową technikę, którą musisz opanować, aby skutecznie atakować aplikacje internetowe. Ponieważ każda aplikacja internetowa jest inna, większość ataków jest w jakiś sposób dostosowywana, dostosowana do konkretnego zachowania aplikacji i odkrytych sposobów manipulowania nią na swoją korzyść. Często wymagają też wysłania dużej liczby podobnych żądań i monitorowania odpowiedzi aplikacji. Ręczne wykonywanie tych żądań jest niezwykle pracochłonne i podatne na błędy. Aby stać się naprawdę doświadczonym hakerem aplikacji internetowych, musisz zautomatyzować jak najwięcej tej pracy, aby niestandardowe ataki były łatwiejsze, szybsze i skuteczniejsze. Tu szczegółowo opisano sprawdzoną metodologię osiągnięcia tego celu. Badamy również różne typowe bariery w korzystaniu z automatyzacji, w tym obronne mechanizmy obsługi sesji i kontrole CAPTCHA. Ponadto opisujemy narzędzia i techniki, których możesz użyć do pokonania tych barier.

Część 15  "Wykorzystywanie ujawniania informacji" : omawia różne sposoby, w jakie aplikacje ujawniają informacje podczas aktywnego ataku. Kiedy przeprowadzasz wszystkie inne rodzaje ataków opisane tu, powinieneś zawsze monitorować aplikację, aby zidentyfikować dalsze źródła ujawnienia informacji, które możesz wykorzystać. Opisujemy, w jaki sposób można zbadać nietypowe zachowanie i komunikaty o błędach, aby lepiej zrozumieć wewnętrzne działanie aplikacji i dostroić atak. Omówimy również sposoby manipulowania wadliwą obsługą błędów w celu systematycznego pobierania poufnych informacji z aplikacji.

Część 16,  "Atakowanie aplikacji skompilowanych natywnie" : omawia zestaw ważnych luk w zabezpieczeniach, które pojawiają się w aplikacjach napisanych w natywnych językach kodu, takich jak C i C++. Te luki obejmują przepełnienia bufora, luki związane z liczbami całkowitymi oraz wady ciągu formatującego. Ponieważ jest to potencjalnie obszerny temat, skupiamy się na sposobach wykrywania tych luk w aplikacjach internetowych i przyglądamy się kilku rzeczywistym przykładom ich powstawania i wykorzystywania.

Część 17  "Atak na architekturę aplikacji" : omawia ważny, często pomijany obszar bezpieczeństwa aplikacji internetowych. Wiele aplikacji wykorzystuje architekturę warstwową. Niepowodzenie w prawidłowym oddzieleniu różnych warstw często powoduje, że aplikacja jest podatna na ataki, co umożliwia osobie atakującej, która znalazła defekt w jednym komponencie, szybkie złamanie zabezpieczeń całej aplikacji. W środowiskach współdzielonych hostingu pojawia się inny zakres zagrożeń, w których defekty lub złośliwy kod w jednej aplikacji mogą czasami zostać wykorzystane do naruszenia samego środowiska i innych działających w nim aplikacji. Przyjrzymy się również szeregowi zagrożeń, które pojawiają się w rodzajach współdzielonych środowisk hostingowych, które stały się znane jako "przetwarzanie w chmurze".

Część 18  "Atakowanie serwera aplikacji" : opisuje różne sposoby, w jakie można zaatakować aplikację sieciową, atakując serwer sieciowy, na którym jest uruchomiona. Luki w serwerach sieci Web składają się w dużej mierze z wad w ich konfiguracji i luk w zabezpieczeniach oprogramowania serwera sieci Web. Ten temat znajduje się na granicy tematów poruszanych w tej książce, ponieważ serwer WWW jest zupełnie innym elementem stosu technologicznego. Jednak większość aplikacji internetowych jest ściśle powiązana z serwerem sieciowym, na którym działają. Dlatego też w książce uwzględniono ataki na serwer sieciowy, ponieważ często można ich użyć do bezpośredniego złamania zabezpieczeń aplikacji, a nie pośredniego, polegającego na pierwszym złamaniu podstawowego hosta.

Część 19  "Znajdowanie luk w kodzie źródłowym" : opisuje zupełnie inne podejście do znajdowania luk w zabezpieczeniach niż te opisane w innych miejscach. W wielu sytuacjach możliwe jest przejrzenie kodu źródłowego aplikacji, z których nie wszystkie wymagają współpracy ze strony właściciela aplikacji. Przeglądanie kodu źródłowego aplikacji często może być bardzo skuteczne w wykrywaniu luk w zabezpieczeniach, których wykrycie przez badanie działającej aplikacji byłoby trudne lub czasochłonne. Opisujemy metodologię i udostępniamy ściągawkę język po języku, aby umożliwić Ci przeprowadzenie efektywnego przeglądu kodu, nawet jeśli masz ograniczone doświadczenie w programowaniu.

Część 20  "Zestaw narzędzi dla hakerów aplikacji internetowych" : zestawia różne. Są to te same narzędzia, których używa się do atakowania aplikacji internetowych w świecie rzeczywistym. Badamy kluczowe cechy tych narzędzi i szczegółowo opisujemy rodzaj przepływu pracy, który zazwyczaj trzeba zastosować, aby uzyskać z nich jak najwięcej korzyści. Badamy również, w jakim stopniu każde w pełni zautomatyzowane narzędzie może skutecznie wykrywać luki w aplikacjach internetowych. Na koniec przedstawiamy kilka wskazówek i porad, jak najlepiej wykorzystać swój zestaw narzędzi.

Część 21  "Metodologia hakera aplikacji internetowych" : to obszerne i uporządkowane zestawienie wszystkich procedur i technik opisanych w tym tekście. Są one zorganizowane i uporządkowane zgodnie z logicznymi zależnościami między zadaniami, gdy przeprowadzasz rzeczywisty atak. Jeśli przeczytałeś i zrozumiałeś wszystkie luki w zabezpieczeniach i techniki opisane w tej książce, możesz wykorzystać tę metodologię jako kompletną listę kontrolną i plan pracy podczas przeprowadzania ataku na aplikację internetową.




Sieci neuronowe w C++

Część 1 zawiera przegląd terminologii i nazewnictwa sieci neuronowych. Odkrywasz, że sieci neuronowe są w stanie rozwiązywać złożone problemy za pomocą równoległych architektur obliczeniowych. W tym rozdziale przedstawiono sieć Hopfield i sieć feedforward.

Część 2 wprowadza C++ i orientację obiektową. Poznajesz zalety programowania obiektowego i jego podstawowe koncepcje.

Część 3 przedstawia logikę rozmytą, technologię, która jest dość synergiczna z rozwiązywaniem problemów z sieciami neuronowymi. Dowiesz się o matematyce z zestawami rozmytymi, a także o tym, jak zbudować prosty fuzzifier w C++.

Część 4 przedstawia dwa najprostsze, ale bardzo reprezentatywne modele: sieci Hopfield, sieci Perceptron i ich implementacji w C++.

Część 5 to przegląd modeli sieci neuronowych. Opisuje cechy kilku modeli, opisuje funkcje progowe i rozwija koncepcje w sieciach neuronowych.

Część 6 koncentruje się na paradygmatach uczenia się i szkolenia. Wprowadza pojęcia nadzorowanego i nienadzorowanego uczenia się, samoorganizacji oraz zagadnienia obejmujące wsteczną propagację błędów, sieci radialnych funkcji bazowych i metody gradientów sprzężonych.

W Części 7 omówiono budowę symulatora wstecznej propagacji błędów. Ten symulator przyda się również w dalszych częściach. Klasy i funkcje C++ są szczegółowo opisane tu.

Część 8 dotyczy pamięci dwukierunkowych asocjacyjnych do kojarzenia par wzorców.

Część 9 wprowadza pamięci skojarzeniowe rozmyte do kojarzenia par zbiorów rozmytych.

Część 10 obejmuje adaptacyjną teorię rezonansu Grossberga. Będziesz miał okazję poeksperymentować z programem ilustrującym działanie tej teorii.

Części 11 i 12 omawiają samoorganizującą się mapę Teuvo Kohonena i jej zastosowanie do rozpoznawania wzorców.

Część 13 kontynuuje dyskusję na temat symulatora propagacji wstecznej, z ulepszeniami wprowadzonymi do symulatora, aby uwzględnić pęd i hałas podczas treningu.

Część 14 stosuje propagację wsteczną do problemu prognozowania finansowego, omawia tworzenie sieci propagacji wstecznej z 15 zmiennymi wejściowymi i 200 przypadkami testowymi do przeprowadzenia symulacji. Do problemu podchodzi się za pomocą systematycznego 12-etapowego podejścia do wstępnego przetwarzania danych i konfigurowania problemu. W literaturze można znaleźć szereg przykładów prognozowania finansowego. Dołączono przewodnik po sieciach neuronowych w finansach dla osób, które chciałyby uzyskać więcej informacji na ten temat.

Część 15 zajmuje się optymalizacją nieliniową z dokładnym omówieniem problemu Travelling Salesperson. Poznasz sformułowanie Hopfielda i podejście Kohonena.

Część 16 omawia dwa obszary zastosowań logiki rozmytej: rozmyte systemy sterowania i rozmyte bazy danych. W tym rozdziale omówiono również kilka przykładów relacji rozmytych i teorii zbiorów rozmytych.




Hackowanie Przeglądarki

Część 1: Bezpieczeństwo przeglądarki internetowej : Ta Część rozpoczyna Twoją przygodę z hakowaniem przeglądarki. Pierwszym krokiem jest poznanie ważnych koncepcji przeglądarki i niektórych podstawowych problemów związanych z bezpieczeństwem przeglądarki. Badasz paradygmat mikroobwodów potrzebny do obrony dzisiejszych organizacji i zastanawiasz się nad pewnymi błędami, które nadal propagują niebezpieczne praktyki. W tym rozdziale omówiono również metodologię określającą, w jaki sposób można przeprowadzać ataki z wykorzystaniem przeglądarki. Obejmuje obszar ataku prezentowany przez przeglądarkę oraz sposób, w jaki zwiększa ekspozycję zasobów wcześniej uznanych za chronione.

Część 2: Inicjowanie kontroli : Za każdym razem, gdy przeglądarka internetowa łączy się z siecią, prosi o instrukcje. Przeglądarka następnie sumiennie realizuje polecenia, które zostały jej przekazane przez serwer sieciowy. Nie trzeba dodawać, że granice istnieją, ale przeglądarka zapewnia potężne środowisko do wykorzystania przez atakujących. Ta Część przeprowadzi Cię przez pierwszą fazę ataków na przeglądarkę, badając, jak wykonać kod w docelowej przeglądarce. Poznajesz zalety luk w zabezpieczeniach Cross-Site Scripting, ataków Man-in-the-Middle, socjotechniki i nie tylko.

Część 3: Zachowanie kontroli : Techniki inicjacji omówione do tej pory pozwalają na wykonanie instrukcji tylko raz. Tu przedstawiono sposób utrzymywania komunikacji i trwałości, dając interaktywną kontrolę z możliwością wykonywania wielu rund poleceń. Podczas typowej sesji hakerskiej będziesz chciał zachować kanał komunikacji z przeglądarką i, tam gdzie to możliwe, zachować kontrolę podczas ponownego uruchamiania. Bez tego szybko znajdziesz się z powrotem w punkcie wyjścia, próbując zachęcić cel do ciągłego łączenia się. Dowiesz się, jak używać ładunku do utrzymywania komunikacji z przeglądarką, umożliwiając wysyłanie wielu iteracji instrukcji. Zapewni to, że nie zmarnujesz żadnych okazji po otrzymaniu tego najważniejszego początkowego połączenia. Uzbrojony w tę wiedzę, jesteś teraz gotowy do przeprowadzenia różnych ataków przedstawionych w kolejnych Częściach.

Część 4: Obchodzenie zasad tego samego pochodzenia : W bardzo podstawowych terminach, polityka tego samego pochodzenia (SOP) ogranicza interakcję jednej witryny z inną. Jest to prawdopodobnie najbardziej podstawowa koncepcja bezpieczeństwa przeglądarki internetowej. W związku z tym można by oczekiwać, że przewidywanie skutków wspólnych działań będzie spójne we wszystkich komponentach przeglądarki i trywialne. Ta Część pokazuje, że tak nie jest. Twórcy stron internetowych niemal na każdym kroku są nękani kijem SOP; istnieje różnica między sposobem zastosowania SOP do samej przeglądarki, rozszerzeń, a nawet wtyczek. Ten brak spójności i zrozumienia zapewnia atakującym możliwości wykorzystania skrajnych przypadków. Omówiono omijanie różnych elementów sterujących SOP w przeglądarce. Odkrywasz nawet problemy z przeciąganiem i upuszczaniem oraz różnymi atakami naprawiającymi interfejs użytkownika i synchronizacją. Jedną z bardziej zaskakujących rzeczy, których dowiesz się w tym rozdziale, jest to, że przy odpowiednim kodowaniu obejścia SOP mogą przekształcić przeglądarkę w proxy HTTP.

Część 5: Atakowanie użytkowników : Ludzie są często określani jako najsłabsze ogniwo bezpieczeństwa. Ten Część koncentruje się na atakach wymierzonych w oprogramowanie typu wetware niczego niepodejrzewającego użytkownika. Niektóre ataki dodatkowo wykorzystują taktyki socjotechniki omówione w Części 2. Inne ataki wykorzystują cechy przeglądarek i ich zaufanie do otrzymanego kodu. W tym rozdziale zapoznasz się z deanonimizacją i ukrytym włączaniem kamery internetowej, a także uruchamianiem złośliwych plików wykonywalnych z lub bez żadnej jawnej interwencjai użytkownika.

Część 6: Atakowanie przeglądarek : Podczas gdy cały tekst dotyczy atakowania przeglądarki i obchodzenia jej kontroli bezpieczeństwa, ta Część koncentruje się na czymś, co można nazwać przeglądarką typu barebone. Czyli przeglądarka bez rozszerzeń i wtyczek . Poznasz proces bezpośredniego atakowania przeglądarki. Zagłębiasz się w odciski palców przeglądarki, aby odróżnić dostawców i wersje. Dowiesz się również, jak przeprowadzać ataki i włamywać się do komputera, na którym działa przeglądarka.

Część 7: Atakowanie rozszerzeń : Ta Część koncentruje się na wykorzystywaniu luk w rozszerzeniach przeglądarki. Rozszerzenie to oprogramowanie, które dodaje (lub usuwa) funkcje do (lub z) przeglądarki internetowej. Rozszerzenie nie jest samodzielnym programem w przeciwieństwie do ich drugich kuzynów, wtyczek. Być może znasz rozszerzenia takie jak LastPass, Firebug, AdBlock i NoScript. Rozszerzenia wykonują kod w zaufanych strefach ze zwiększonymi uprawnieniami i pobierają dane z mniej zaufanych stref, takich jak Internet. Włączy się alarm dla doświadczonych specjalistów od bezpieczeństwa. Istnieje realne ryzyko ataków wstrzykiwania, a w praktyce niektóre z tych ataków prowadzą do zdalnego wykonania kodu. Poznasz anatomię ataków rozciągających. Zagłębiasz się w exploity eskalacji uprawnień, które dają dostęp do uprzywilejowanej strefy przeglądarki (lub chrome://) i powodują wykonanie polecenia.

Część 8: Atakowanie wtyczek : Ta Część koncentruje się na atakowaniu wtyczek do przeglądarek internetowych, które są częściami oprogramowania, które dodają określone funkcje do przeglądarek internetowych. W większości przypadków oprogramowanie wtyczki może działać niezależnie bez przeglądarki internetowej. Popularne wtyczki to Acrobat Reader, Flash Player, Java, QuickTime, RealPlayer, Shockwave i Windows Media Player. Niektóre z nich są niezbędne do przeglądania, a niektóre do funkcji biznesowych. Flash jest potrzebny w przypadku witryn takich jak YouTube (który potencjalnie przechodzi na HTML5) i Java jest wymagana dla funkcji biznesowych, takich jak WebEx. Wtyczki są nękane lukami w zabezpieczeniach i nadal stanowią bogate źródło exploitów. Jak się przekonasz, luki w zabezpieczeniach wtyczek pozostają jednym z najbardziej niezawodnych sposobów przejęcia kontroli nad przeglądarką. Poznasz analizowanie i wykorzystywanie wtyczek przeglądarki za pomocą popularnych, ogólnodostępnych narzędzi. Dowiesz się o omijaniu mechanizmów ochronnych, takich jak Click to Play i przejmowaniu kontroli nad celem poprzez luki w wtyczkach.

Część 9: Atakowanie aplikacji internetowych : Twoja codzienna przeglądarka internetowa może przeprowadzać potężne ataki internetowe, nadal przestrzegając przyjętych kontroli bezpieczeństwa. Przeglądarki internetowe są zaprojektowane do komunikowania się z serwerami internetowymi za pomocą protokołu HTTP. Te funkcje HTTP można obrócić przeciwko sobie, aby osiągnąć kompromis w celu, który nie znajduje się nawet w bieżącym źródle. Ta Część koncentruje się na atakach, które można uruchomić z przeglądarki bez naruszania SOP. Nauczysz się różnych sztuczek, które pozwalają na odciski palców zasobów między źródłami, a nawet identyfikację wspólnych luk w aplikacjach internetowych. Możesz być zaskoczony, gdy dowiesz się, że podczas korzystania z przeglądarki można wykryć i wykorzystać cross-origin Cross-site Scripting i SQL również luki w zabezpieczeniach wtrysku. Pod koniec Części zrozumiesz, jak osiągnąć zdalne wykonanie kodu cross-origin. Odkryjesz również ataki Cross-Site Request Forgery, wyliczanie opóźnień na podstawie czasu, uwierzytelnianie ataków i ataki typu "odmowa usługi".

Część 10: Atakowanie sieci : Ta ostatnia Część dotyczący ataków obejmuje identyfikowanie powierzchni ataku intranetu poprzez skanowanie portów w celu wykrycia nieznanych wcześniej hostów. Eksploracja jest kontynuowana poprzez prezentację technik, takich jak przypinanie NAT. Odkryjesz również ataki wykorzystujące przeglądarkę internetową do bezpośredniego komunikowania się z usługami innymi niż internetowe. Dowiesz się, jak wykorzystać moc techniki Interprotocol Exploitation, aby złamać cele w intranecie przeglądarki.




XV Podstawowych Skrótów w Windows 10

1. Ctrl + A: Ctrl + A, podświetla lub zaznacza wszystko, co masz w środowisku, w którym pracujesz. Jeśli myślisz sobie: "Wow, zawartość tego dokumentu jest obszerna i nie ma czasu, aby ją wybrać, a poza tym wywrze presję na moim komputerze?" Używanie myszy do tego jest przestarzałą metodą obsługi zadania, takiego jak wybieranie wszystkich, Ctrl + A zajmie się tym w zaledwie kilka sekund.

2. Ctrl + C: Ctrl + C kopiuje dowolny podświetlony lub wybrany element w środowisku pracy. Oszczędza czas i stres, który zostałby użyty do kliknięcia prawym przyciskiem myszy i ponownego kliknięcia tylko w celu skopiowania. Użyj Ctrl + C.

3. Ctrl + N: Ctrl + N otwiera nowe okno lub plik. Zamiast klikać Plik, Nowy, pusty / szablon i kolejne kliknięcie, po prostu naciśnij Ctrl + N, a nowe okno lub plik pojawi się natychmiast.

4. Ctrl + O: Ctrl + O otwiera istniejący plik. Użyj Ctrl + O, gdy chcesz zlokalizować / otworzyć plik lub program.

5. Ctrl + P: Ctrl + P drukuje aktywny dokument. Zawsze używaj tego do zlokalizowania okna dialogowego drukarki i drukowania.

6. Ctrl + S: Ctrl + S zapisuje nowy dokument lub plik i zmiany wykonane przez użytkownika. Dotykasz teraz myszy? Proszę przestań! Nie używaj myszy. Po prostu naciśnij Ctrl + S, a wszystko zostanie zapisane.

7. Ctrl + V: Ctrl + V wkleja skopiowane elementy do aktywnego obszaru używanego programu. Użycie ctrl + V w takim przypadku Oszczędza czas i stres związany z kliknięciem prawym przyciskiem myszy i ponownym kliknięciem tylko po to, aby wkleić.

8. Ctrl + W: Ctrl + W służy do zamykania strony, na której pracujesz, gdy chcesz opuścić środowisko pracy. "Jest sposób, w jaki Peace robi to bez użycia myszy. O mój Boże, dlaczego się tego nie nauczyłem? " Nie martw się, mam odpowiedź: Peace naciska Ctrl + W, aby zamknąć aktywne okna.

9. Ctrl + X: Ctrl + X tnie elementy (sprawiając, że elementy znikają z ich pierwotnego miejsca). Różnica między wycinaniem a usuwaniem elementów polega na tym, że w wycinaniu wycinane elementy nie giną na stałe, ale przygotowuje się do wklejenia w innym miejscu wybranym przez użytkownika. Użyj Ctrl + X, gdy myślisz "To nie powinno być tutaj i nie mogę znieść stresu związanego z przepisywaniem lub przeprojektowywaniem tego we właściwym miejscu".

10. Ctrl + Y: Ctrl + Y ponawia cofniętą czynność. Ctrl + Z przywróciło to, czego nie potrzebujesz? Naciśnij Ctrl + Y, aby ponownie go usunąć.

11. Ctrl + Z: Ctrl + Z cofa akcje. Nie możesz znaleźć tego, co wpisałeś teraz lub wstawionego obrazu, nagle zniknął lub omyłkowo go usunąłeś? Naciśnij Ctrl + Z, aby go przywrócić.

12. Alt + F4: Alt + F4 zamyka aktywne okna lub elementy. Nie musisz poruszać myszą, aby zamknąć aktywne okno, po prostu naciśnij Alt + F4, jeśli skończysz lub nie chcesz, aby ktoś, kto przychodził, zobaczył, co robisz.

13. Ctrl + F6: Control plus F6 Nawigacja między otwartymi oknami, umożliwiając użytkownikowi zobaczenie, co dzieje się w aktywnych oknach. Pracujesz w programie Microsoft Word i chcesz się dowiedzieć, czy inne aktywne okno, w którym Twoja przeglądarka ładuje stronę, nadal się rozwija? Użyj Ctrl + F6.

14. F1: Wyświetla okno pomocy. Czy Twój komputer działa nieprawidłowo? Użyj F1, aby znaleźć pomoc, gdy nie wiesz, co dalej zrobić.

15. F12: Umożliwia użytkownikowi wprowadzanie zmian w już zapisanym dokumencie. F12 to skrót do użycia, gdy chcesz zmienić format, w którym zapisałeś istniejący dokument, wpisać hasło, zmienić jego nazwę, zmienić lokalizację pliku lub miejsce docelowe lub wprowadzić inną zmianę












Numer 12 (72) / 2022

Odwiedzin: 55125
Dzisiaj: 24
On-line: 1
Strona istnieje: 2200 dni
Ładowanie: 0.784 sek


[ 7736 ]











Laboratorium Technika I.T.



Instalowanie sprzętu i oprogramowania

Konserwacja i dokumentowanie systemów komputerowych

Duża część Twoich codziennych obowiązków jako technika komputerowego będzie obejmować konserwację systemów komputerowych i serwerowych oraz dokumentowanie Twojej pracy. W tej fazie będziesz opierać się na podstawowych umiejętnościach zdobytych w fazie 1 "Instalowanie sprzętu i oprogramowania". Dowiesz się, jak wykorzystać te podstawowe zadania i nauczysz się wykonywać regularne zadania konserwacyjne na komputerach. Dowiesz się między innymi, jak zidentyfikować płytę główną, jak czyścić i smarować wentylatory chłodzące, jak aktualizować BIOS i jak przywracać sterowniki urządzeń. Zabierz więc książkę do komputera w laboratorium i przygotuj się na następny krok.

Zadanie 2.1: Identyfikacja płyty głównej
Zadanie 2.2: Identyfikacja zasilacza

Zadanie 2.3: Wykonanie szybkiego testu i wymiana zasilacza

Teraz, gdy określiłeś właściwy model zasilacza wymagany dla komputera, musisz wiedzieć, jak sprawdzić, czy zasilacz rzeczywiście się zepsuł, a jeśli tak, to jak go wymienić. Chociaż masz uzasadnione przekonanie, że zasilacz komputera nie działa, przed zakupem i instalacją urządzenia zastępczego należy go przetestować. Chociaż możesz przeprowadzić obszerny test zasilacza za pomocą multimetru, istnieje szybki test, który prawie zawsze pozwoli określić, czy zasilacz jest uszkodzony, i zajmuje tylko kilka minut.

Scenariusz

Wcześniej otrzymałeś zgłoszenie problemu (Zadanie 2.2) informujące, że komputer używany do usług drukowania w jednym z oddziałów Twojej firmy spontanicznie się restartuje. Jest to prawdopodobny objaw awarii zasilania. Określiłeś rodzaj zasilacza wymaganego, jeśli urządzenie wymaga wymiany. Masz w swoim dziale jednostkę zamienną, więc zabierasz ją razem z narzędziami do Biura Oddziału, żeby ją przetestować i w razie potrzeby wymienić zasilacz.

Zakres zadania

Czas trwania


To zadanie powinno zająć 30 minut, co obejmuje wykonanie szybkiego testu i wymianę zasilacza.

Setup

Aby przetestować zasilacz, potrzebujesz tylko spinacza do papieru lub innego krótkiego kawałka przewodzącego metalu. To dobry test, jeśli nie chcesz odłączać zasilacza od komputera, dopóki nie będziesz pewien, że jest zły. W przypadku tego zadania prawdopodobnie nie będziesz chciał wyjmować i wymieniać zasilacza komputera laboratoryjnego, ale możesz to zrobić, aby uzyskać pełny efekt.

Zastrzeżenie

Podczas wkładania spinacza biurowego do 20/24-stykowego złącza płyty głównej zasilacza nie należy dotykać spinacza biurowego podczas podłączania zasilania elektrycznego do zasilacza. Spowoduje to raczej paskudny szok, jeśli to zrobisz. Upewnij się, że dokładnie przestrzegasz wszystkich instrukcji dotyczących tego zadania dla własnego bezpieczeństwa i bezpieczeństwa komputera. Chociaż proces wyjmowania i wymiany zasilacza nie jest skomplikowany, może być uciążliwy. Ponadto zasilacz jest największym i najcięższym pojedynczym elementem w obudowie komputera. Wykonuj powoli i ostrożnie wszystkie kroki tego zadania. W tym zadaniu zakłada się, że będziesz testować zasilacz dla płyty głównej ATX, a nie płyty głównej AT, która jest przestarzałą obudową, nieobjętą egzaminami CompTIA A+. Test spinacza działa ze wszystkimi zasilaczami ATX.

Procedura

Użyte wyposażenie


Będziesz potrzebował spinacza do papieru, który rozwiniesz i zgniesz w kształt litery "u". Będziesz także potrzebować rodzaju lub typów śrubokrętów potrzebnych do odkręcenia śrub mocujących panel dostępu do obudowy komputera i odkręcenia śrub mocujących zasilacz.

Detale

W tym zadaniu pokazano, jak przetestować zasilacz, który może ulec awarii, a następnie wymienić zasilacz na nowy.

Testowanie i wymiana zasilacza

Testowanie zasilacza za pomocą spinacza do papieru

1. Ułóż narzędzia i weź zwykły spinacz do papieru, rozłóż go i wygnij w ogólny kształt litery "U".
2. Wyłącz komputer i odłącz kabel zasilający z tyłu zasilacza.
3. Przed otwarciem obudowy komputera zastosuj środki ostrożności ESD.
4. Wykręć wkręty mocujące panel dostępu do obudowy komputera.
5. Zdejmij panel dostępu i odłóż go na bok.
6. Znajdź wszystkie przewody łączące zasilacz z różnymi komponentami komputera, w tym z płytą główną, i ostrożnie je odłącz.

Pamiętaj, aby zanotować, które przewody prowadzą do poszczególnych połączeń komponentów, aby móc wymienić przewody zasilające po zakończeniu testu.

7. Znajdź 20- lub 24-stykowe złącze płyty głównej, które dostarcza zasilanie do płyty głównej.
8. Znajdź zielony przewód (przewód zasilania), który jest podłączony do styku 16 złącza 24-stykowego i styku 14 złącza 20-stykowego.
9. Włóż jeden koniec spinacza do papieru w otwór szpilki na zielony przewód, upewniając się, że koniec spinacza mocno styka się.
10. Włóż drugi koniec spinacza biurowego do otworu szpilki czarny przewód (czarne przewody to przewody uziemiające).
11. Zwolnij spinacz do papieru i sprawdź, czy oba końce mają pewny styk w otworach na szpilki.
12. Podłącz kabel zasilający z powrotem do zasilacza i sprawdź, czy wentylator się obraca.

Jeśli wentylator nie obraca się, oznacza to, że zasilacz jest uszkodzony i należy go wymienić.

13. Odłącz kabel zasilający z tyłu zasilacza.
14. Wyjmij spinacz z otworów na styki płyty głównej.

Skoro ustaliłeś, że zasilacz jest zły, zgodnie ze scenariuszem, następnym krokiem jest wyjęcie zasilacza i zastąpienie go sprawną jednostką. Jeśli nie chcesz wyjmować zasilacza z komputera testowego tylko po to, aby go ponownie włożyć, możesz po prostu wymienić wszystkie połączenia i zakończyć zadanie. W przeciwnym razie kontynuuj wykonywanie kolejnych kroków. Więcej informacji znajduje się w zadaniu 1.5.

Wymiana zasilacza w komputerze

1. Wyjmij kabel zasilający z zasilacza z tyłu obudowy komputera.
2. Znajdź śrubokręt odpowiedni do odkręcenia śrub mocujących zasilacz do obudowy komputera (najprawdopodobniej śrubokręt krzyżakowy).
3. Wykręć wkręty mocujące zasilacz do obudowy PC, jednocześnie podtrzymując zasilacz wewnątrz obudowy drugą ręką.
4. Po odkręceniu wkrętów zasilacza, przytrzymując urządzenie ręką, przesuń je do przodu, w kierunku przedniej części obudowy komputera, aż do całkowitego uwolnienia zasilacza.
5. Wyjmij zasilacz z obudowy komputera i odłóż go na bok.
6. Wyjmij nowy zasilacz z opakowania.
7. Sprawdź, czy z zasilacza i wszystkich jego złączy usunięto całe opakowanie i inne niepotrzebne elementy.

Test spinacza to także szybki i łatwy sposób sprawdzenia, czy nowy zasilacz jest dobry. Czasami elementy elektroniczne mogą być wadliwe, nawet jeśli pochodzą bezpośrednio od sprzedawcy.

8. Kontynuując przestrzeganie środków ostrożności ESD, ostrożnie włóż zasilacz do obudowy, trzymając go w kierunku górnej części obudowy.
9. Przesuń urządzenie w kierunku tylnej części obudowy, aż mocowania śrub będą pasować do tych na obudowie komputera, a gniazdo zasilacza będzie pasowało do otworu w obudowie.
10. Przytrzymując urządzenie jedną ręką, wkręć śruby mocujące z tyłu obudowy komputera.
11. Po prawidłowym zamontowaniu zasilacza wymień wszystkie połączenia wewnętrzne między zasilaczem a jednostkami napędowymi, płytą główną i innymi komponentami, upewniając się, że każde złącze jest prawidłowo ustawione i bezpiecznie zamocowane.
O ile zasilacz i wszystkie złącza nie są dokładnie takie same jak w starym zasilaczu, warto zapoznać się z dokumentacją nowego zasilacza, aby sprawdzić, jak prawidłowo wykonano połączenia.
12. Ułóż wewnętrzne kable połączeniowe, w tym wszystkie nieużywane kable, tak aby nie utrudniały przepływu powietrza wewnątrz obudowy komputera.

Niektóre zasilacze wykorzystują system modułowy, który umożliwia usunięcie nieużywanych kabli z urządzenia.

13. Ponownie podłącz kabel zasilający do zasilacza z tyłu obudowy komputera.
14. Przed ponownym podłączeniem panelu dostępu do obudowy PC włącz komputer.
15. Obserwuj monitor pod kątem komunikatów o błędach i słuchaj sygnałów dźwiękowych.
16. Po upewnieniu się, że komputer uruchamia się i działa normalnie, załóż panel dostępu do obudowy komputera i zabezpiecz go wkrętami panelu.

Kryteria ukończenia

Pomyślnie ukończysz to zadanie, jeśli wymienisz zasilacz i potwierdzisz, że komputer uruchamia się i działa normalnie. Jeśli pierwotnym objawem było okresowe ponowne uruchamianie komputera, może być konieczne pozostanie w pobliżu komputera przez około 30 minut, aby upewnić się, że komputer działa nieprzerwanie. Powiadom personel w Biurze Oddziału, aby monitorował komputer po twoim wyjściu, aby upewnić się, że nadal działa normalnie.