{"id":239,"date":"2018-02-15T23:31:37","date_gmt":"2018-02-15T22:31:37","guid":{"rendered":"https:\/\/brozanski.net\/?p=239"},"modified":"2018-02-16T01:18:56","modified_gmt":"2018-02-16T00:18:56","slug":"jak-uczyc-sie-hakowac-aplikacje","status":"publish","type":"post","link":"https:\/\/brozanski.net\/index.php\/2018\/02\/15\/jak-uczyc-sie-hakowac-aplikacje\/","title":{"rendered":"Jak uczy\u0107 si\u0119 &#8222;hakowa\u0107&#8221; aplikacje&#8230; ?"},"content":{"rendered":"<p>Jak wspomania\u0142em w jednym z poprzednim wpis\u00f3w oraz na stronie &#8222;<a href=\"https:\/\/brozanski.net\/index.php\/o-mnie\/\">O mnie<\/a>&#8222;, obecnie zajmuj\u0119 si\u0119 szeroko poj\u0119tym bezpiecze\u0144stwem aplikacji. Nie zawsze tak by\u0142o. Przez pronad 13 lat by\u0142em programist\u0105 i pisa\u0142em r\u00f3\u017cne aplikacje, w wielu r\u00f3\u017cnych j\u0119zykach. Czasami zdarza\u0142o si\u0119, \u017ce w jednym czasie wykorzystywa\u0142em 4: PHP, SQL, Java, Visual Basic (by\u0142 taki czas w 2005 roku \ud83d\ude09 ). Rozwija\u0142em swoje umiej\u0119tno\u015bci jako programista i projektant oprogramowania. Zacz\u0105\u0142em my\u015ble\u0107 na powa\u017cnie o zostaniu architektem i w tym kierunku si\u0119 rozwija\u0142em.<br \/>\nW pewnym jednak momencie sz\u0142o mi to jednak coraz bardziej opornie &#8211; mia\u0142em wra\u017cenie, \u017ce to staje sie nudne. I wtedy zosta\u0142em do\u0142\u0105czony do zespo\u0142u, kt\u00f3ry mia\u0142 dora\u017anie zajmowa\u0107 si\u0119 opiniowaniem aplikacji pod k\u0105tem ich bezpiecze\u0144stwa. Najpierw jako programista, a z czasem programista-bezpiecznik \ud83d\ude09 . Spodoba\u0142o mi si\u0119. W pewnym momencie postanowi\u0142em zmieni\u0107 kierunek swojej kariery i skierowa\u0142em j\u0105 na tory bezpiecze\u0144stwa. By\u0142o to mniej wi\u0119cej 3 lata temu. Zgra\u0142o si\u0119 to ze zmian\u0105 pracy, gdzie zosta\u0142em zatrudniony jako specjalista od bezpiecze\u0144stwa aplikacji webowych i osoba, kt\u00f3ra, jako by\u0142y programista, \u0142atwiej dogada si\u0119 z innymi programistami, gdy b\u0119dzie im trzeba t\u0142umaczy\u0107 zawi\u0142o\u015bci bezpiecze\u0144stwa tworzonych przez nich rozwi\u0105za\u0144.<\/p>\n<p>Doj\u015bcie do tego punktu wymaga\u0142o ode mnie sporo nauki, gdy\u017c bezpieczne programowanie wymaga troch\u0119 innej wiedzy, ni\u017c to co wiedzia\u0142em do tej pory. Zacz\u0105\u0142em sporo czyta\u0107. Pierwsz\u0105 ksi\u0105\u017ck\u0105 o bezpiecze\u0144stwie by\u0142a <a href=\"https:\/\/goo.gl\/FR82pa\">&#8222;Spl\u0105tana sie\u0107&#8221;<\/a> Micha\u0142a Zalewskiego &#8211; guru bezpiecze\u0144stwa przegl\u0105darek. Kolejna to <a href=\"https:\/\/www.amazon.com\/Web-Application-Hackers-Handbook-Exploiting\/dp\/1118026470\">&#8222;The Web Application Hacker&#8217;s Handbook&#8221;<\/a> i <a href=\"https:\/\/www.amazon.com\/Web-Application-Hackers-Handbook-Exploiting\/dp\/1118026470\">&#8222;The Browser Hacker&#8217;s Handbook&#8221;<\/a> polecone przez Piotra Koniecznego na <a href=\"https:\/\/niebezpiecznik.pl\/szkolenia\/atakowanie-ochrona-www\/?st\">szkoleniu o testowaniu aplikacji webowych<\/a> (polecam szkolenie!!!!). Wtedy pierwszy raz spotka\u0142em si\u0119 z Kali Linux i labami, gdzie mo\u017cna uczy\u0107 si\u0119 hackowa\u0107 aplikacje w praktyce.<\/p>\n<p>Praktyka, to najlepszy spos\u00f3b aby uczy\u0107 si\u0119 o bezpiecze\u0144stwie. Z reszt\u0105 og\u00f3lnie praktyka to najlepszy spos\u00f3b nauki. Zapisa\u0142em si\u0119 do kilku portali, kt\u00f3re oferuj\u0105 zadania z zakresu bezpiecze\u0144stwa, ale dwa polecam najbardziej: <a href=\"https:\/\/rozwal.to\/\">Rozwal.to<\/a> od sekrurak.pl i <a href=\"https:\/\/hack.me\/\">hack.me<\/a> . To na pocz\u0105tek. Tutaj mo\u017cna nauczy\u0107 si\u0119 podstaw wyszukiwania podatno\u015bci i ich exploitowania. Zadania u\u0142o\u017cone maj\u0105 r\u00f3\u017cny stopie\u0144 trudno\u015bci i dotycz\u0105 r\u00f3\u017cnych aspekt\u00f3w bezpiecze\u0144stwa, wi\u0119c ka\u017cdy znajdzie co\u015b dla siebie. Rozwi\u0105zuj\u0105c zadania trzeba poszuka\u0107 jaki\u015b niuans\u00f3w w programowaniu w danym j\u0119zyku (np. proglemy z por\u00f3wnaniami zmiennych w PHP), dzi\u0119ki czemu uczymy si\u0119 te\u017c element\u00f3w danego j\u0119zyka b\u0105d\u017a dok\u0142adniej poznajemy jak dzia\u0142aj\u0105 pewne oczywiste dla programisty funkcje j\u0119zyka. <\/p>\n<p>Jaki\u015b czas temu zainteresowa\u0142em si\u0119 &#8222;wyzwaniami&#8221; na portalu <a href=\"https:\/\/www.hackerrank.com\">hackerrank.com<\/a>, ale na razie le\u017cy nieruszane, cho\u0107 zadania wygl\u0105daj\u0105 ciekawie.<\/p>\n<p>Je\u015bli chodzi o laby, to mam w swoim Backlog&#8217;u zadanie stworzenia swojego w\u0142asnego laboratorium z dwoma maszynami (jeden Linux i jeden Windows). Niestety ostatnio troch\u0119 brak mi na to czasu, ale na 100% to zrobi\u0119. Jaki\u015b czas temu zacz\u0105\u0142em te\u017c my\u015ble\u0107 o zadaniach z konkurs\u00f3w CTF (Capture The Flag). Tam mo\u017cna nauczy\u0107 si\u0119 chyba najwi\u0119cej w do\u015b\u0107 kr\u00f3tkim czasie, ale wymaga to sporych umej\u0119tno\u015bci i wolnego czasu w weekendy (cho\u0107 je\u015bli zadania s\u0105 dost\u0119pne, to tak\u017ce po zako\u0144czeniu konkursu mo\u017cna z nimi powalczy\u0107). Nie mam w\u0142asnej dru\u017cyny oraz do \u017cadnej nie nale\u017c\u0119, ale aby rozwi\u0105zywa\u0107 zadania wcale nie musimy by\u0107 wieloosobowym zespo\u0142em. Chodzi przecie\u017c o nauk\u0119, a nie nagrody. Przynajmniej na razie \ud83d\ude09<\/p>\n<p>Po ponad 3 latach pracy z bezpiecze\u0144stwem zacz\u0105\u0142em tez my\u015ble\u0107 certyfikacji, a co za tym idzie o szkoleniach pod konkretne certyfikaty. Tutaj nie mam do\u015bwiadczenia i na razie zbieram tylko opinie na temat r\u00f3\u017cnych \u015bcie\u017cek i staram si\u0119 wybra\u0107 najbardziej korzystn\u0105 ofert\u0119. Jednym z kryteri\u00f3w wyboru jest to, czy dane szkolenie udost\u0119pnia laboratorium do nauki. Wszystko staram si\u0119 podporz\u0105dkowa\u0107 praktyce.<\/p>\n<p>Na razie tyle. W pewnym momencie pewnie wi\u0119cej napisz\u0119 o certyfikacji i mo\u017cliwych \u015bcie\u017ckach i organizacjach je oferuj\u0105cych. Tymczasem do poczytania.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Jak wspomania\u0142em w jednym z poprzednim wpis\u00f3w oraz na stronie &#8222;O mnie&#8222;, obecnie zajmuj\u0119 si\u0119 szeroko poj\u0119tym bezpiecze\u0144stwem aplikacji. Nie zawsze tak by\u0142o. Przez pronad 13 lat by\u0142em programist\u0105 i pisa\u0142em r\u00f3\u017cne aplikacje, w wielu r\u00f3\u017cnych j\u0119zykach. Czasami zdarza\u0142o si\u0119, \u017ce w jednym czasie wykorzystywa\u0142em 4: PHP, SQL, Java, Visual Basic (by\u0142 taki czas w\u2026 <span class=\"read-more\"><a href=\"https:\/\/brozanski.net\/index.php\/2018\/02\/15\/jak-uczyc-sie-hakowac-aplikacje\/\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[26],"class_list":["post-239","post","type-post","status-publish","format-standard","hentry","category-security","tag-miroburn_challenge"],"_links":{"self":[{"href":"https:\/\/brozanski.net\/index.php\/wp-json\/wp\/v2\/posts\/239","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/brozanski.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/brozanski.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/brozanski.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/brozanski.net\/index.php\/wp-json\/wp\/v2\/comments?post=239"}],"version-history":[{"count":2,"href":"https:\/\/brozanski.net\/index.php\/wp-json\/wp\/v2\/posts\/239\/revisions"}],"predecessor-version":[{"id":241,"href":"https:\/\/brozanski.net\/index.php\/wp-json\/wp\/v2\/posts\/239\/revisions\/241"}],"wp:attachment":[{"href":"https:\/\/brozanski.net\/index.php\/wp-json\/wp\/v2\/media?parent=239"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/brozanski.net\/index.php\/wp-json\/wp\/v2\/categories?post=239"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/brozanski.net\/index.php\/wp-json\/wp\/v2\/tags?post=239"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}