December 13, 2022

Pentester Roadmap

Ko'pchiligimiz xakerlar haqida eshtganmiz va filmlardagi xakerlar va ularning sehrlaridan hayratda qolganmiz. Ammo shunga o'xshash martabaga ega bo'lishni xohlasak-chi?

Ushbu sohaga qiziquvchilar soni ortib bormoqda va ular o'z bilimlari va martabalarini kengaytirish bo'yicha turli manbalar qidirmoqdalar. Shunday qilib, biz yo'l xaritasini tuzishga qaror qildik.

Ushbu postni o'qiyotgan har bir odam Pentestorlar haqida eshitgan bo'lsa kerak.Ushbu yo'l xaritasi barcha darajalar uchun mo'ljallangan. Junior, Middle va Senior, siz muvaffaqiyatli Pentester bo'lish uchun oldingizda turgan murakkab to'siqlarni chetlab o'tishingiz kerak, va biz ushbu yo'l xaritasini tuzib chiqdik va bu sizning ilk tashlagan qadamingiz.

PenTester, Bug Hunter yoki Security Researcher(xavfsizlik tadqiqotchisi) bo'lish uchun biz yodda tutishimiz kerak yo'lda bir nechta to'siqlar mavjud bo'ladi. Eng muhimi, bu sohadagi bilimlar doimo o'sib bormoqda va tugamaydi. Shuni yodda tutgan holda, biz o'zimizdan hamma narsani bilishimizni hech qachon kuta olmaymiz, hatto eng yaxshi xavfsizlik tadqiqotchilari ham har kuni yangi texnikalarni o'rganmoqdalar.

Boshqa tomondan, bu sohada muvaffaqiyatga erishish uchun bizda juda ko'p ishtiyoq, sabr-toqat va narsalarni buzish va buzishni o'rganishga ishtiyoq bo'lishi kerak. Ushbu yoสปl xaritasi bu sohadagi vaqtingizni qisqartirishning tavsiya etilgan usulidir, biz bularning barchasini bilmaymiz, lekin takliflar Ilova xavfsizligi sohasida soสปnggi bir necha yil davomida ishlagan bilim va tajribamizga asoslangan.

Ushbu blogda turli xil materiallar va kitoblar taklif etiladi va bu bizning tajribamiz va o'qishlarimiz asosida bizning afzalliklarimizdir. Siz o'zingiz ham aytib o'tilgan mavzular bo'yicha turli xil manbalarni topishingiz mumkin, shuning uchun o'zingizni cheklamang.

Bu ilovalar xavfsizligi bo'yicha karerangizni kengaytirish uchun ideal yo'l xaritasi, ya'ni ba'zi mavzular zaifliklarni topish uchun zarurat bo'lmasligi mumkin. Biroq, bu ko'pchilik boshlashda o'tkazib yuboradigan mavzular, shuning uchun ularni o'rganish orqali siz bir xil mavzuni yaxshiroq tasavvur qilishingiz va tushunishingiz mumkin. Shuni yodda tutgan holda, biz sizni xakerlik karerangizni imkon qadar tezroq boshlash uchun foydalanishingiz mumkin bo'lgan yorliq yo'l xaritasi bo'yicha ham ko'rsatib berdik.

Bu xaritani biz bir necha darajalarga bo'lib qo'ydik

Ushbu karerani boshlash uchun siz xakerlik qilishni yaxshi ko'rishingiz kerakligiga ishonamiz. O'z vaqtida hech qanday bug bounty dasturlari, VDP'lar va boshqalar yo'q edi. Odamlar pul maqsadlari o'rniga asosiy ishtiyoq sifatida xakerlik qilishgan. degani, siz o'zingizning ishtiyoqingiz sifatida xakerlikni tanlagan bo'lishingiz va yuzaga kelishi mumkin bo'lgan qiyinchiliklarni tushunishingiz kerak edi.

Ikkinchi nuqta shundaki, bu martaba ko'p vaqt talab etadi. Agar siz xavfsizlik bo'yicha malakali tadqiqotchi bo'lishni istasangiz, kundalik vaqtingizning ko'p qismini o'qish va yangi narsalarni o'rganishga sarflashingiz kerak va yuqorida aytib o'tilganidek, bu sohadagi bilim doimiy ravishda o'sib bormoqda.

Keyingi bosqichlarga o'tishdan oldin, yo'lda paydo bo'lishi mumkin bo'lgan to'siqlarni tushunib oling va o'zingizdan bu soha sizga eng mos keladimi yoki yo'qligini so'rang.

Har bir martaba zerikarli tuyulishi mumkin bo'lgan bir qator shartlarga ega, ammo agar biz muvaffaqiyatli martaba qilishni rejalashtirayotgan bo'lsak, zarur. Quyida Ilova xavfsizligini chuqur o'rganishdan oldin sizga kerak bo'lgan shartlar ro'yxati keltirilgan .

Tarmoq va protokollar

Agar sizda tarmoq sohasida hech qanday ma'lumot bo'lmasa, asosiy tushunchalarni tushunish uchun Network+ ni o'qishni tavsiya qilamiz. Bu sizning martabangizda keyinchalik tarmoq bilimiga muhtoj bo'lgan turli zaifliklarda katta rol o'ynaydi.

Shuningdek, siz HTTP protokoli va asosiy tushunchalar bilan tanishishingiz kerak. Bu siz qilishingiz kerak bo'lgan eng muhim dastlabki o'qishlardan biridir, chunki HTTP biz hayotimizda har kuni shug'ullanadigan narsadir. Biz mukammal misol sifatida HTTP: Aniq qo'llanma kitobini taklif qilamiz.

Dasturlash tili

Ushbu sohada o'z karerangizni boshlaganingizdan so'ng, tez orada siz ko'p sonli maqsadlarda har kuni bajarishingiz kerak bo'lgan turli xil vazifalar mavjudligini tushunasiz. Bu inson uchun imkonsiz vazifa, ammo agar siz Python yoki Go kabi dasturlash tilini o'rgansangiz, o'zingiz uchun zerikarli vazifalarni avtomatlashtirishingiz kerak.

Boshqa xakerlar va ishlab chiquvchilar tomonidan ochiq manbali turli xil vositalar ishlab chiqilgan bo'lib, ular bizga ma'lum bo'lgan ba'zi vazifalarni bajaradi. Biroq, ba'zi hollarda siz g'oyani o'ylab topasiz va bu maqsad uchun ochiq manbali vosita mavjud emas. O'sha paytda siz o'zingizning shaxsiy vositangizni qanday kodlashni bilishingiz kerak. Python uchun biz Pythonning 30 kunini va Go uchun esa Learning Go kitobini tavsiya qilamiz.

Linux va Bash

Siz ishlamoqchi bo'lgan OS asosan Linux, shuning uchun siz u bilan qanday qilib to'g'ri ishlash bo'yicha asosiy bilimlarga ega bo'lishingiz kerak. UNIX fayl tizimi arxitekturasini tushunish uchun Linux in Action-ni , bash-da asosiy vazifalarni avtomatlashtirishni oโ€˜rganish uchun Bash skriptiga kirishni oโ€˜qishingiz mumkin .

Javascript

Mijoz tarafidagi zaifliklarning ruhi. Agar siz JavaScript asoslari haqida toสปgสปri tushunchaga ega boสปlmasangiz, XSS, WebSockets va bir nechta DOM-asosidagi zaifliklar kabi koสปplab mijoz zaifliklaridan mahrum boสปlasiz. Biz 30 kunlik Javascript va Javascript.info-ni asoslarni o'rganish uchun manba sifatida tavsiya qilamiz va quyon teshigidan pastga tushsangiz bo'ladi.

Veb-server

Veb-server asoslarini tushunish va mavjud ko'nikmalaringizni sinab ko'rish uchun o'zingiz uchun amaliy veb-serverni amalga oshirish tavsiya etiladi. Turli xil veb-serverlar mavjud bo'lib, ulardan biz Apache-ni taklif qildik. Apache veb-serverlarini o'rganish uchun biz Apache Cookbook ni taklif qilamiz .

Yukni muvozanatlash va proksi-serverlar maqsadlarida biz Nginx-ni borishning bir yo'li sifatida taklif qilamiz, chunki u Apache bilan solishtirganda ushbu foydalanish nuqtai nazaridan ancha moslashuvchan. Nginx o'qishingiz mumkin .

2-daraja

Amaliy ta'lim

Tavsiya etilgan shartlar ro'yxatini o'rganib chiqqandan so'ng, nihoyat qiziqarli qismlarga kirish va xakerlik qilish vaqti keldi. Avvalo, siz asosiy veb zaifliklarini o'rganishingiz kerak. OWASP Top 10-da bilishingiz kerak bo'lgan zaifliklarning ajoyib ro'yxati mavjud bo'lib, siz undan boshlashni rejalashtirishingiz mumkin.

Biz sizga PortSwigger akademiyasining eng yaxshi o'quv resurslaridan biri bo'lgan eng yaxshi 10 ta ro'yxatni o'rganishingizni tavsiya qilamiz va bu sizning veb-ilovalar xavfsizligini o'rganish jarayonida eng yaxshi do'stingiz bo'ladi. PortSwigger har bir zaiflikning ajoyib tavsifiga ega va ular sizning mahoratingizni amalda sinab ko'rishingiz uchun har bir mavzu uchun juda ko'p ajoyib laboratoriyalar qurgan.

Agar siz PortSwigger's Labs-ni ishga tushirmoqchi bo'lsangiz, ularning eng mashhur mahsuloti Burp Suite-ni olishingiz kerak , bu talab bo'yicha HTTP trafigini ushlab turish va o'zgartirish uchun ishlatiladigan veb-proksi. Ushbu vositani sozlash va u bilan ishlashni o'rganish zarur, biz ishonamizki, siz ularning laboratoriyalari bilan ishlash orqali erishasiz. Ammo, agar siz ushbu mavzu bo'yicha aniq bilim olishni istasangiz, biz Burp Suite oshxona kitobini taklif qilamiz .

Yuqoridagi qadam bajarilgandan so'ng, Kontra Application Security Platform-ni ko'rib chiqishingizni tavsiya qilamiz . OWASP Top 10 Web va API uchun bir nechta laboratoriyalar yaratilgan . Tushuntirish oddiy, ammo ijodiydir, chunki siz zaiflikdan foydalanish bosqichlarini tasavvur qilishingiz mumkin.

OWASP Top 10 ni chuqur tushunganingizdan so'ng, siz PortSwigger akademiyasiga qaytishingiz va boshqa turli zaifliklarni o'rganishingiz mumkin.

Yoshlar uchun veb-ilovalar xavfsizligi bo'yicha kitoblar

Amaliy mashg'ulotlardan tashqari, har bir mavzuni chuqurroq tushunish va yanada ko'proq o'rganish uchun bir nechta yuqori sifatli kitoblarni o'qish juda yoqimli. Har doim yaxshilanish va yangi kichik eslatmalar olish uchun joy bor. Shuning uchun biz har bir mavzu bo'yicha bir nechta manbalarni taklif qilamiz.

Biz Portswigger va Kontra bo'yicha ilgari o'tkazgan treninglarga qo'shimcha ravishda OWASP veb xavfsizligini sinovdan o'tkazish bo'yicha qo'llanmani taklif qilamiz, chunki unda har bir zaiflik uchun bir nechta boshqa sinov holatlari, shuningdek, OWASP jamoasi tomonidan tasvirlangan har bir mavzu bo'yicha chuqurroq tushuntirish mavjud .

Yangi boshlanuvchilar uchun eng mashhur kitoblardan biri veb-ilova xakerining qo'llanmasi 2 bo'lib , unda bir nechta veb-ga asoslangan zaifliklar va asosiy veb-arxitekturalari muhokama qilinadi. Bu kitob bir oz eski bo'lsa ham, asosan o'qish kerak . O'tkazib yubormang.

Agar siz Bug Hunting-ni sinab ko'rishni rejalashtirmoqchi bo'lsangiz, bilishingiz kerakki, zaifliklarni topish unchalik oson emas va ko'pchilik Bug Hunters o'zlarining turli ko'nikmalariga va asboblar to'plamiga ega. Bug Hunting-da o'qitishning eng yaxshi usullaridan biri bu boshqa xakerlarning yozishmalarini o'qishdir, bunda ular xakerlik paytida o'z nuqtai nazarini va turli xil baholashlarni muhokama qilgan.

Web Hacking 101 bir nechta veb-ga asoslangan zaifliklarni muhokama qilgan, shuningdek, har bir mavzu bo'yicha yuqori sifatli yozuvlarni eslatib o'tgan kitoblardan biridir. Ushbu kitobni o'qish sizga Bug Huntingning Pentestingdan qanday farq qilishini va Bug Bounty nishoniga yaqinlashganda xakerning nuqtai nazarini o'rganishga yordam beradi.

O'zingizni yangilab turing

Yuqorida aytib o'tilganidek, dastur xavfsizligi texnikasi har kuni o'zgarib turadi. Siz boshqa xakerlar o'z bilimlarini baham ko'radigan hamjamiyatga qo'shilishingiz kerak, ulardan biri yozish, ochiq manbali vosita yoki yangi CVE bo'lishi mumkin.

Xakerlar asosan Twitterda faol. Siz ularning ishlarini kuzatib borishingiz va ularning shaxsiy blogida yoki Medium-da yozgan maqolalaridan xabardor bo'lishingiz mumkin. Ular GitHub-da o'zlarining ochiq manbali vositalarini ham baham ko'rishlari mumkin, shuning uchun doimo xabardor bo'ling.

Maxsus metodologiyani yarating

Eng yaxshi xato ovchilarining ko'pchiligi o'zlarining metodologiyasiga ega, ularda nishonga yaqinlashganda turli sinov holatlarini yozganlar. Ular bu ma'lumotni turli kitoblardan yoki boshqa xakerlarning yozuvlaridan olgan.

O'rganganlaringiz asosida metodologiyangizni yaratish va har kuni o'rganayotgan har bir maslahat bilan uni yangilab turish uchun o'zingizni moslashtirishingizni tavsiya qilamiz. Eslatmalar olish uchun siz Notion , Obsidian va Xmind kabi bir nechta xizmatlardan foydalanishingiz mumkin .

3-daraja

Amaliy ko'nikmalaringizni sinab ko'ring

Siz hozirgacha turli zaifliklar haqida katta bilimga ega bo'ldingiz. Va nihoyat, o'z mahoratingizni amalda sinab ko'rish va xakerlik bo'yicha amaliy tajribangizni kengaytirish vaqti keldi.

Shu maqsadda biz ekspluatatsiya qobiliyatingizni oshirish uchun Hack The Box , RootMe va Try Hack Me kabi CTF platformalarini taklif qilamiz.

Ko'pchilik CTF-larni yoqtirmasligi mumkin, chunki ular o'yinga o'xshaydi. Bu yondashuv ham toสปgสปri, ham notoสปgสปri, chunki texnika/foydali yuk dastlab CTFda kiritilgan, ammo keyinchalik haqiqiy Bug Bounty dasturida qoสปllanilgan bir qancha real holatlar mavjud.

Ulardan biri YesWeHack tomonidan viktorina va Blaklis tomonidan berilgan javob . Keyinchalik, Sem Karri XSS filtrini chetlab o'tish uchun Apple -da xuddi shu foydali yukdan foydalangan :

  • Ushbu foydali yuk @Blaklis_ tomonidan CTF yechimidan olingan . Men dastlab bu ishlatib bo'lmaydigan XSS bo'lishi mumkin deb o'ylagan edim, lekin XSS chekkasi uchun har doim biror joyda yechim borga o'xshaydi.

Yana bir misol Orange Tsayning BlackHat taqdimotidan olingan boโ€˜lib , Breaking Parser Logic โ€“ Take Your Path Normalization Off va Pop 0days Out , unda u birinchi marta 2016 HCTF oxirida joriy etilgan Nginx off-by-slash texnikasini muhokama qildi.

Bug Bounty dasturlarida ishtirok eting

Agar siz CTF-larni yoqtirmasangiz va o'z mahoratingizni haqiqiy nishonga o'rgatsangiz, Bug Bounty dasturlarida ov qilishni boshlashingiz mumkin. Odatda, bu usul amaliy ko'nikmalaringizni kengaytirishning to'g'ridan-to'g'ri yo'lidir, chunki siz sinab ko'rayotgan maqsad zaiflikka ega bo'lmasligi kerak edi.

Bug Bounty dasturlarining bir nechta turlari mavjud, ularning ba'zilari xabar qilingan zaifliklar uchun to'laydi, ba'zilari esa xabar qilingan zaifliklar uchun to'lamaydigan "Zaiflikni oshkor qilish dasturlari (VDP)" . Buning o'rniga ular odatda sizni sovg'alar, ochkolar va hokazolar bilan taqdirlaydilar. Agar siz faqat o'z mahoratingizni oshirmoqchi bo'lsangiz, avval VDPlarni sinab ko'rishingizni maslahat beramiz, chunki ularda zaifliklarni topish osonroq.

Xavfsizlik konferentsiyalarini kuzatib boring

Ilova xavfsizligining eng qiziqarli qismlaridan biri bu xavfsizlik bo'yicha tadqiqotchilar o'zlarining so'nggi bir necha oy/yillardagi tadqiqot natijalarini Xavfsizlik konferentsiyalarida taqdim etishlari.

Odatda, ular shu paytgacha kashf etilmagan yangi texnikalarni taqdim etadilar. Ushbu konferentsiyalarda qatnashish orqali biz quyidagilarni o'rganamiz:

  • Xavfsizlik tadqiqotchisi nuqtai nazari va fikrlash jarayoni
  • Biz ko'plab maqsadlarda topishimiz mumkin bo'lgan kashf qilinmagan yangi texnika
  • Yaxshilashimiz kerak bo'lgan zaif tomonlarimiz

Muhokama qilinganidek, ularning ko'p foydalari bizni o'sha anjumanlarda qatnashishga ko'ndiradi. BlackHat , DEFCON , ZeroNights va boshqalar kabi bir nechta mashhur Xavfsizlik konferentsiyalari mavjud.

Metodologiyangizni yangilang

Bu ushbu bosqichning eng muhim bosqichidir. Biz o'z mahoratimizni CTF platformalarida yoki Bug Bounty dasturlarida o'rgatganmiz. Shuningdek, biz ko'p narsalarni o'rgangan turli xil Xavfsizlik konferentsiyalarida ishtirok etish.

Ilgari biz vaqt o'tishi bilan o'zingizning shaxsiy metodologiyangizni yaratishingiz kerakligini muhokama qildik. Endi uni har kuni o'rganadigan texnikalar bilan doimiy ravishda yangilab turish vaqti keldi.

4-daraja

Agar siz o'z mahoratingizni kengaytirmoqchi bo'lsangiz va tajribangizni yanada oshirmoqchi bo'lsangiz, unda siz ushbu mavzu bo'yicha yuqori sifatli kitoblarni o'qishni boshlashingiz va ular bilan metodologiyangizni kengaytirishingiz kerak.

Mediors uchun veb-ilovalar xavfsizligi bo'yicha kitoblar

Biz sizga zamonaviy ilovalardagi turli zaifliklarni ekspluatatsiya qilish va ularga qarshi choralar ko'rish usullarini tushuntiruvchi Web Application Security dasturidan boshlashingizni tavsiya qilamiz .

Biz taklif qiladigan boshqa kitob Piter Yavorskiyning " Real-World Bug Hunting" kitobi bo'lib, unda u o'zining boshqa kitobini (Web Hacking 101) kengaytirib, ko'proq tushuntirishlar va yozuvlar bilan ta'minladi. Bu ikki kitob o'xshash ko'rinadi, lekin yangi kitobda tushuntirilgan bir qancha yangi usul va texnikalar mavjud.

Va nihoyat, sizga Viki Lining Bug Bounty Bootcamp-ni o'qishni tavsiya qilamiz. Bu ilovalar xavfsizligi bo'yicha eng yaxshi kitoblardan biri bo'lib, unda turli zaifliklardan foydalanish va ularni yumshatish, shuningdek, muammoga sabab bo'lgan zaif kod tushuntirilgan.

Xavfsizlik mexanizmlarini chuqurroq tushunish

Yuqorida muhokama qilingan kitoblar asosan dastur xavfsizligining tajovuzkor jihatlariga tegishli. Biroq, bu sohada muvaffaqiyat qozonish va fonda nima sodir bo'layotganini yaxshiroq tushunish uchun ishlab chiquvchining fikrlash tarzini va boshqa himoyaviy narsalarni tushunish har doim yaxshi.

Ushbu maqsadga erishish uchun turli xil kitoblar mavjud bo'lib, ulardan biz sizga eng mashhurlarini taklif qilamiz, biz ularni o'qishda vaqt o'tkazdik.

Tangled Web - bu mavzu bo'yicha eng yaxshi kitoblardan biri. Muallif veb-anatomiya va brauzer xavfsizlik xususiyatlarini batafsil muhokama qiladi.

Brauzer xakerining qo'llanmasi brauzerning xavfsizlik mexanizmiga, shuningdek, brauzer kengaytmalari, plaginlari va boshqalarga hujum qilishning turli usullariga qaratilgan yana bir kitobdir.

API Security in Action - API xavfsizligi, API ishlab chiqish va Zamonaviy autentifikatsiya va avtorizatsiyani ishlab chiqish sohasidagi eng katta kitoblardan biri. Kitob, shuningdek, har bir amalga oshirishda sodir bo'lishi mumkin bo'lgan turli xil hujum vektorlarini belgilaydi, ulardan siz o'zingizning tadqiqotingizni qilishingiz va boshqa chetlab o'tish usullarini topishingiz mumkin.

Dasturchilar uchun veb-xavfsizlik asosan siz ilgari o'rgangan zaifliklarga qaratilgan, ammo ishlab chiquvchi nuqtai nazaridan. Muallif yuzaga kelishi mumkin bo'lgan muammolarni keltirib chiqaradigan zaif kodlarni muhokama qiladi. Ushbu kitobni o'qib chiqib, qanday kod muammoga olib kelishi mumkinligini va ishlab chiquvchilar zaif kodlarni qayta-qayta ishlatishini tushunishingiz mumkin.

5-daraja

Ushbu bosqichda siz turli sohalarda ko'plab tajribaga ega bo'lgan Xavfsizlik mutaxassisi hisoblanasiz. Siz o'z karerangizda juda ko'p muvaffaqiyatlarga erishgan qalam sinovchisi, xatoliklarni ovchi yoki xavfsizlik tadqiqotchisi bo'lishingiz mumkin. Shuni yodda tutgan holda, biz har doim yaxshilanish uchun joy borligini yuqorida muhokama qildik. Hatto ushbu bosqichda ham, ko'plab turli ko'nikmalar to'plamlari bilan siz o'z bilimingizni oshirib, yanada o'sishingiz mumkin.

Ushbu bosqichda va sizda mavjud bo'lgan ko'nikmalar bilan siz hali ochilmagan yangi texnikalarni topishingiz mumkin. Xo'sh, qanday qilib biz yangi texnikalarni topishimiz va ularni keyinchalik jamiyatga taqdim etishimiz mumkin?

Dasturiy ta'minot arxitektura naqshlarini tushunish

Asosan, biz turli xil arxitektura naqshlarini, zamonaviy veb-ilovalar tuzilmalarini, bitta sahifali ilovalar tuzilmasini, turli xil autentifikatsiya va avtorizatsiyani amalga oshirishni, infratuzilmani amalga oshirishni va turli xil dasturlash ramkalarini tushunishimiz kerak.

Muhokama qilingan mavzularga asoslanib, endi siz o'zingizga o'rganish uchun mos manbani topishingiz kerak. Misol tariqasida ikkita kitobni ham taklif qildik. Sizning metodologiyangiz har bir amalga oshirishda imkon qadar chuqurroq bo'lishi kerak.

siz turli xil autentifikatsiya dasturlari haqida ma'lumot olishni xohlaysiz va OAuth protokolini o'rganmoqchisiz. Buning uchun tegishli manbani topishingiz kerak va quyon teshigidan pastga tushasiz. OAuth 2.0 bilan ishlashni boshlash ushbu sohada tavsiya etilgan kitoblardan biridir, chunki u Server tomoni va mijoz tomonidagi veb-ilovalar oqimi, Mijoz hisob maโ€™lumotlari oqimi, OpenID oqimi va boshqa turli xil vositalar va kutubxonalarni muhokama qiladi.

Yagona sahifali ilovalar qanday ishlashini tushunish uchun siz SPA dizayni va arxitekturasini o'qishingiz mumkin , chunki u SPA asoslari, MV * ramkalari, modulli Javascript va boshqalarni muhokama qiladi.

O'rganish uchun bir nechta boshqa ilovalar va arxitekturalar mavjud. Endi bu fikrlash bilan siz o'zingizning ehtiyojingizga qarab kerakli manbani topishingiz kerak.

Internetga chuqur kirish

Dasturiy ta'minot arxitekturasidan tashqari, biz HTTP protokolini chuqurroq tushunishimiz kerak. Yangi tendentsiya HTTP/2 ga tegishli bo'lib, yaqinda ko'plab yangi texnikalar kiritilgan. Ulardan biri HTTP/2 edi: Davomi faqat bitta Jeyms Kettle tomonidan har doim yomonroq .

U HTTP/2 bilan ishlashda HTTP Desync zaifliklaridan foydalanishning bir qancha yangi usullarini taqdim etdi. Bu protokollarda kashf etilgan tendentsiyalar va yangi texnikalarning bir nechta misollaridan biri edi. Shunday qilib, biz yangiliklarni ishlab chiqish uchun turli veb-protokollarni to'g'ri tushunishimiz kerak.

HTTP/2-ni o'rganish uchun biz HTTP/2-ni o'rganish kitobini taklif qilamiz va keyinroq hozirgacha aniqlangan hujumlarni yaxshiroq tushunish uchun ushbu mavzu bo'yicha yangi xavfsizlik tadqiqotlarini ko'rib chiqamiz.

So'nggi bir necha yil ichida infratuzilmani loyihalash xavfsizlik tadqiqotchilari tomonidan ham e'tiborga olingan. Qiziqarli tushunchalardan biri bu teskari proksi-serverlar va yukni muvozanatlashdir.
Ushbu sohadagi eng yaxshi xavfsizlik tadqiqotchilaridan biri Aleksey Tiurindir .

U proksi-serverlar bo'yicha turli tadqiqotlarning keng omborini saqlaydi. HTTP/2 ning yangi tendentsiyalari bilan u o'zining g'alati proksi-serverlari/2 va bir oz sehrni taqdim etdi , unda u turli xil Xost va Yo'lni noto'g'ri ishlatish usullarini tushuntiradi.

Ushbu mavzu bo'yicha hujum yuzasi hali ham o'sib bormoqda. So'nggi bir necha yil ichida proksi-serverlarning nomuvofiqligi va noto'g'ri konfiguratsiyasi tufayli ko'plab yangi texnikalar kashf qilindi, masalan, yovvoyi tabiatda H2C kontrabandasi , veb-keshni zaharlash va HTTP sinxronlash hujumlari .

Boshqa muhim veb-protokol bu SSL/TLS bo'lib, unda mumkin bo'lgan tadqiqotlar uchun juda ko'p joy mavjud. Ilgari biz OpenSSL ilovasida zaiflik aniqlanganligini ko'rdik. ya'ni POODLE hujumi .

SSL/TLS protokolini o'rganish to'g'ridan-to'g'ri zaiflikka olib kelmasligi mumkin, lekin siz har kuni ishlayotgan veb-saytni to'g'ri tushunishga olib keladi. Buning uchun sizga Bulletproof SSL va TLS kitobini taklif qilamiz .

Dasturlash tili

Ushbu bosqichdagi dasturlash tili 1-darajadagi dasturlash tilidan farq qiladi. Bu bo'limda biz avtomatlashtirish qanchalik muhimligini tasvirlab berdik. Biroq, bu erda foydalanish boshqacha, chunki ular asosan bir nechta maqsadlarga erishish uchun o'zimiz ilovalar yaratish uchun ishlatiladi:

  • Veb-ilovalarni yaratish
  • Arxitekturani tushunish
  • Turli xil himoya funktsiyalarini va mumkin bo'lgan chetlab o'tishlarni tushunish
  • Turli White-Box loyihalari uchun Code Review bilimi

Yuqorida aytib o'tilgan o'qlarni bajarish orqali siz o'zingiz ishlayotgan dastur haqida to'g'ri tushunchaga ega bo'lasiz. Bu shuni anglatadiki, siz o'zingizning sinov holatlaringiz va foydali yuklaringizni ushbu veb-sayt texnologiyasi va dasturlash tiliga asoslanib tanlaysiz. Endi purkamang va ibodat qilmang.

O'rganishning eng samarali usullaridan biri bu turli xil zaif ilovalarni yaratish va keyin ularni buzishdir. Siz nafaqat ilovaga buzib kiryapsiz, balki dastur arxitekturasini va zaif kodni ham tushunasiz. Keyinchalik, xuddi shu texnologiyaga ega dasturni ko'rganingizda, mumkin bo'lgan backend kodini taxmin qilasiz.

Buning uchun PHP, Go, Python, NodeJS va Java kabi turli xil dasturlash tillari mavjud. Sizga eng mos keladiganini tanlang va keyinroq boshqalardan ham o'ting. Sekin-asta, lekin shubhasiz, siz turli xil texnologiya steklarini o'rganasiz va siz turli xil ilovalarni kodlay olasiz va qora qutingiz xavfsizligini baholashda mumkin bo'lgan backend kodini tushunasiz.

Ramkalarga chuqur kirib borish

Dasturlash tillarini o'rganganimizdan so'ng, biz turli xil ramkalarga kirishimiz kerak. Ramkalarni o'rganish bizning xavfsizlik bo'yicha bilimimizni qanday yaxshilashi mumkin, siz so'rashingiz mumkin.

Har bir ramka bizni o'tkazishimiz kerak bo'lgan to'g'ri sinov holatlariga olib keladigan o'ziga xos xavfsizlik xususiyatlariga ega. Ushbu ramkalarda sukut bo'yicha turli xil himoyalar qo'llaniladi, masalan:

  • Laravel XSS-ni foydalanuvchi kiritishini tozalash orqali boshqaradi
  • Django CSRF himoyasini ta'minlaydi
  • Rails Clickjacking himoyasini ta'minlaydi
  • ASP.NET parametrlangan so'rovlar yordamida SQL in'ektsiyasini boshqaradi

Kuzatilganidek, har bir ramka o'ziga xos xavfsizlik xususiyatiga ega, yuqoridagi misollarga qo'shimcha ravishda boshqa ko'plab xususiyatlar mavjud. Agar biz ramkalar bilan tanish bo'lsak, biz ko'rib chiqayotgan maqsadning texnologik to'plamlari asosida o'tkazishimiz kerak bo'lgan baholashni tushunamiz.

Xulosa

Har kimning ichida xaker bor, faqat ularni uyg'otish va ulardan foydalanishga kirishish kerak. Uni ehtiros sifatida tanlang va yo'l xaritasidan foydalanib pastga tushing. Sekin-asta, lekin ishonchli tarzda siz tajribali xavfsizlik tadqiqotchisi bo'lish uchun bilimga ega bo'lasiz.

Ushbu yo'l xaritasi barcha bilim darajalari uchun foydalanish uchun mo'ljallangan. Maqsadingizni tanlang va unga erishish uchun qadamlar qo'ying. Yo'l xaritasi tasvirida 5 ta qizil bo'lim mavjud bo'lib, siz imkon qadar tezroq buzishni boshlashingiz mumkin bo'lgan yorliqlar. Biroq, keyinroq boshqa bo'limlarni ko'rib chiqishingiz kerakligini yodda tuting.