beginners guide web application penetration testing
Изпитване за проникване известен още като Pen Test е най-често използваната техника за тестване на сигурността за уеб приложения.
Тестването за проникване в уеб приложения се извършва чрез симулиране на неоторизирани атаки вътрешно или външно, за да се получи достъп до чувствителни данни.
Проникването в мрежата помага на крайния потребител да разбере възможността за хакер да получи достъп до данните от интернет, да разбере за сигурността на своите имейл сървъри и също така да се запознае колко защитени са уеб хостинг сайтът и сървърът.
Е, нека сега да обхванем съдържанието на тази статия.
въпроси и отговори за интервю за настолна поддръжка за ниво l1
(изображение източник )
В този урок за тестване на проникване се опитах да разгледам:
- Нуждата от Pentest за тестване на уеб приложения,
- Налична стандартна методология за Pentest,
- Подход за уеб приложение Pentest,
- Какви видове тестове можем да извършим,
- Стъпки, които трябва да се предприемат за извършване на тест за проникване,
- Инструменти, които могат да се използват за тестване,
- Някои от доставчиците на услуги за тестване на проникване и
- Някои от сертификатите за тестване на уеб проникване
Препоръчителни инструменти за сканиране на уязвимости:
# 1) Net parker
Netsparker е лесна за използване и автоматизирана платформа за тестване на сигурността на уеб приложения, която можете да използвате за идентифициране на реални и използваеми уязвимости във вашите уебсайтове.
# две) Киуван
Намерете и коригирайте уязвимости във вашия код на всеки етап от SDLC.
Kiuwan е в съответствие с най-строгите стандарти за сигурност, включително OWASP, CWE, SANS 25, HIPPA и др. Интегрирайте Kiuwan във вашата IDE за незабавна обратна връзка по време на разработката. Kiuwan поддържа всички основни езици за програмиране и се интегрира с водещите инструменти DevOps.
=> Сканирайте кода си безплатноКакво ще научите:
- Защо се изисква тестване за проникване?
- Методология за тестване на уеб проникване
- Видове тестване на уеб проникване
- Подход за тестване на уеб писалка:
- Инструменти за тестване на най-високо проникване
- Топ компании за тестване на проникване
- Някои сертификати за изпитване на проникване:
- Заключение
- Препоръчително четене
Защо се изисква тестване за проникване?
Когато говорим за сигурност, най-често срещаната дума, която чуваме, е Уязвимост .
Когато първоначално започнах да работя като тестер за сигурност, често се бърках с тази дума „Уязвимост“ и съм сигурен, че много от вас, моите читатели ще паднат в една и съща лодка.
В полза на всички мои читатели първо ще изясня разликата между уязвимостта и тестването на химикалки.
И така, какво е Уязвимост ? Уязвимостта е терминология, използвана за идентифициране на недостатъци в системата, които могат да изложат системата на заплахи за сигурността.
Сканиране за уязвимост или тестване на писалка?
Сканирането на уязвимости позволява на потребителя да открие известните слабости в приложението и дефинира методи за коригиране и подобряване на цялостната сигурност на приложението. Той основно установява дали са инсталирани кръпки за сигурност, дали системите са правилно конфигурирани, за да затруднят атаките.
Тестовете за писалки симулират основно системи в реално време и помагат на потребителя да разбере дали системата може да бъде достъпна от неоторизирани потребители, ако да, тогава какви щети могат да бъдат причинени и на кои данни и т.н.
Следователно, Сканирането на уязвимости е метод за детективен контрол, който предлага начини за подобряване на програмата за сигурност и за гарантиране, че известните слабости не се появяват отново, докато тестът на писалката е метод за превантивен контрол, който дава цялостна представа за съществуващия слой на защитата на системата.
И двата метода имат своето значение, но това ще зависи от това какво наистина се очаква като част от тестването.
Като тестери е наложително да сте наясно с целта на тестването, преди да преминем към тестване. Ако сте наясно с целта, можете много добре да определите дали трябва да направите сканиране за уязвимост или тестване на писалка.
Значение и необходимост от тестване на писалки за уеб приложения:
- Pentest Помага за идентифициране на неизвестни уязвимости.
- Помага за проверка на ефективността на цялостните политики за сигурност.
- Помощ при тестване на публично изложени компоненти като защитни стени, рутери и DNS.
- Позволява на потребителя да открие най-уязвимия път, по който може да бъде извършена атака
- Помага при намирането на вратички, които могат да доведат до кражба на чувствителни данни.
Ако погледнете настоящото търсене на пазара, се наблюдава рязко увеличаване на използването на мобилни устройства, което се превръща в основен потенциал за атаки. Достъпът до уебсайтове чрез мобилни телефони е склонен към по-чести атаки и следователно компрометиране на данни.
По този начин тестовете за проникване стават много важни за гарантирането, че изграждаме сигурна система, която може да се използва от потребителите, без да се притеснявате за хакване или загуба на данни.
Методология за тестване на уеб проникване
Методологията не е нищо друго освен набор от насоки на индустрията за сигурност относно начина на провеждане на тестването. Има някои утвърдени и известни методологии и стандарти, които могат да бъдат използвани за тестване, но тъй като всяко уеб приложение изисква различни видове тестове, тестерите могат да създадат свои собствени методологии, като се позовават на стандартите, налични на пазара.
Някои от методологиите и стандартите за тестване на сигурността са -
- OWASP (Отворете проекта за сигурност на уеб приложения)
- OSSTMM (Ръководство за методология за тестване на сигурността с отворен код)
- PTF (Рамка за изпитване на проникване)
- ISSAF (Рамка за оценка на сигурността на информационните системи)
- PCI DSS (Стандарт за защита на данните в индустрията за платежни карти)
Тестови сценарии:
По-долу са изброени някои от тестовите сценарии, които могат да бъдат тествани като част от Тестване на проникване в уеб приложения (WAPT):
- Cross Site Scripting
- SQL инжекция
- Счупено удостоверяване и управление на сесията
- Недостатъци при качване на файлове
- Кеширане на сървърни атаки
- Неправилни конфигурации на сигурността
- Подправяне на заявки между сайтове
- Пробиване на парола
Въпреки че споменах списъка, тестерите не трябва да създават сляпо методологията си за тестване въз основа на горните конвенционални стандарти.
Ето единпримерза да докажа защо го казвам.
Помислете, че сте помолени да тествате проникването на уебсайт за електронна търговия, сега помислете дали всички уязвимости на уебсайт за електронна търговия могат да бъдат идентифицирани с помощта на конвенционалните методи на OWASP като XSS, SQL инжекция и т.н.
Отговорът е „Не“, защото електронната търговия работи на съвсем различна платформа и технология в сравнение с други уебсайтове. За да направят вашето тестване на химикалки за уебсайт за електронна търговия ефективно, тестерите трябва да разработят методология, включваща недостатъци като Управление на поръчки, Управление на купони и награди, Интеграция на платежния шлюз и Интеграция на системата за управление на съдържанието.
Така че, преди да вземете решение за методологията, бъдете много сигурни какви типове уебсайтове се очаква да бъдат тествани и кой метод ще помогне за намирането на максимални уязвимости.
Видове тестване на уеб проникване
Уеб приложенията могат да бъдат тествани за проникване по 2 начина. Тестовете могат да бъдат предназначени да симулират вътрешна или външна атака.
# 1) Тестване за вътрешно проникване -
Както подсказва името, вътрешното тестване на химикалки се извършва в рамките на организацията по LAN, следователно включва тестване на уеб приложения, хоствани в интранет.
Това помага да се установи дали може да има уязвимости, които съществуват в корпоративната защитна стена.
Винаги вярваме, че атаките могат да се случват само външно и много пъти вътрешният Pentest се пренебрегва или не му се отдава особено значение.
безплатен софтуер за изкуствен интелект за компютър
По принцип това включва злонамерени атаки на служители от недоволни служители или изпълнители, които биха подали оставки, но знаеха за вътрешните политики за сигурност и пароли, атаки за социално инженерство, симулация на фишинг атаки и атаки, използващи привилегии на потребителя или злоупотреба с отключен терминал.
Тестването се извършва главно чрез достъп до околната среда без подходящи идентификационни данни и установяване дали
# две) Изпитване за външно проникване -
Това са атаки, извършени външно извън организацията и включват тестване на уеб приложения, хоствани в интернет.
Тестерите се държат като хакери, които не са наясно с вътрешната система.
За да симулират подобни атаки, тестерите получават IP на целевата система и не им предоставя друга информация. От тях се изисква да търсят и сканират публични уеб страници и да намират нашата информация за целевите хостове и след това да компрометират намерените хостове.
По принцип това включва тестване на сървъри, защитни стени и IDS.
Подход за тестване на уеб писалка:
Може да се проведе в 3 фази:
# 1) Фаза на планиране (преди тестване)
Преди да започне тестването, препоръчително е да планирате какви видове тестове ще бъдат извършени, как ще се извърши тестването, да се определи дали QA се нуждае от допълнителен достъп до инструменти и т.н.
- Определение на обхвата - Това е същото като нашето функционално тестване, където ние определяме обхвата на нашето тестване, преди да започнем нашите тестови усилия.
- Наличност на документация за тестери - Уверете се, че тестерите разполагат с всички необходими документи, като документи, детайлизиращи уеб архитектурата, точки за интеграция, интеграция на уеб услуги и т.н. Тестерът трябва да е наясно с основите на протокола HTTP / HTTPS и да знае за архитектурата на уеб приложенията, начините за прихващане на трафика.
- Определяне на критериите за успех - За разлика от нашите функционални тестови случаи, където можем да извлечем очаквани резултати от потребителски изисквания / функционални изисквания, тестването на химикалки работи върху различен модел. Критериите за успех или критериите за преминаване на теста трябва да бъдат определени и одобрени.
- Преглед на резултатите от теста от предишното тестване - Ако някога е било направено предварително тестване, добре е да прегледате резултатите от теста, за да разберете какви уязвимости са съществували в миналото и какви корекции са предприети за разрешаване. Това винаги дава по-добра картина на тестерите.
- Разбиране на околната среда - Тестерите трябва да получат знания за околната среда, преди да започнат тестването. Тази стъпка трябва да осигури разбирането им за защитни стени или други протоколи за сигурност, които би трябвало да бъдат деактивирани за извършване на тестването. Браузърът, който трябва да бъде тестван, трябва да бъде преобразуван в платформа за атаки, обикновено чрез смяна на прокси.
# 2) Фази на атаки / изпълнение (по време на тестване):
Тестването на уеб проникване може да се извърши от всяко място, като се има предвид факта, че не трябва да има ограничения за пристанищата и услугите от интернет доставчика.
внедряване на приоритетна опашка c ++
- Уверете се, че сте изпълнили тест с различни потребителски роли - Тестерите трябва да осигурят провеждането на тестове с потребители с различни роли, тъй като системата може да се държи по различен начин по отношение на потребители с различна привилегия.
- Информираност за това как да се справим с пост-експлоатацията - Тестерите трябва да следват критериите за успех, определени като част от фаза 1, за да докладват за всяка експлоатация, също така те трябва да следват определения процес на докладване на уязвимости, открити по време на тестването. Тази стъпка основно включва тестера, за да разбере какво трябва да се направи, след като те установят, че системата е компрометирана.
- Генериране на протоколи от тестове - Всяко тестване, извършено без подходящо отчитане, не помага много на организацията, същото е и при тестването за проникване на уеб приложения. За да се гарантира, че резултатите от теста се споделят правилно с всички заинтересовани страни, тестерите трябва да създадат правилни отчети с подробности за намерените уязвимости, използваната методология за тестване, сериозността и местоположението на открития проблем.
# 3) Фаза след изпълнение (след тестване):
След като тестването приключи и докладите от тестовете се споделят с всички заинтересовани екипи, следващият списък трябва да бъде обработен от всички -
- Предложете отстраняване - Тестването на химикалки не трябва да завършва само с идентифициране на уязвимости. Съответният екип, включително член на QA, трябва да прегледа констатациите, докладвани от тестерите, и след това да обсъди отстраняването.
- Повторно тестване на уязвимости - След като отстраняването е взето и внедрено, тестерите трябва да проверят отново, за да се уверят, че фиксираните уязвимости не са се появили като част от тяхното повторно тестване.
- Почисти - Като част от Pentest тестерите правят промени в настройките на прокси, така че трябва да се извърши почистване и всички промени да се върнат обратно.
Инструменти за тестване на най-високо проникване
Тъй като вече сте прочели цялата статия, вярвам, че сега имате много по-добра представа за това какво и как можем да тестваме проникване на уеб приложение.
Така че кажете ми, можем ли ръчно да извършим тестване за проникване или това винаги се случва чрез автоматизиране с помощта на инструмент. Без съмнение, мисля, че повечето от вас казват автоматизация. :)
Това е вярно, защото автоматизацията внася скорост, избягва ръчни човешки грешки, отлично покритие и няколко други предимства, но що се отнася до Pen Test, той изисква да извършим някои ръчни тестове.
Ръчното тестване помага за намиране на уязвимости, свързани с бизнес логиката, намалявайки фалшивите положителни резултати.
Инструментите са склонни да дават много фалшиви положителни резултати и следователно се изисква ръчна намеса, за да се определи дали те са реални уязвимости.
Прочетете също - Как да тестваме сигурността на уеб приложенията с помощта на инструмента за скенериране на уеб уязвимости Acunetix (WVS)
Създадени са инструменти за автоматизиране на усилията ни за тестване. По-долу ще намерите списък с някои от инструментите, които могат да се използват за Pentest:
За повече инструменти можете също да се обърнете - 37 Мощни инструменти за тестване на писалки за всеки тестер за проникване
Топ компании за тестване на проникване
Доставчиците на услуги са компании, предоставящи услуги, отговарящи на тестовите нужди на организациите. Те обикновено превъзхождат и притежават опит в различни области на тестване и могат да извършват тестване в тяхната домакинска среда за тестване.
По-долу са споменати някои от водещите компании, които предоставят услуги за тестване на проникване:
- PSC (Спазване на сигурността на плащанията)
- Netragard
- Securestate
- CoalFire
- HIGHBIT Сигурност
- Неттитуд
- 360
- NetSPi
- ControlScan
- Skods Minotti
- 2 | Раздел
- Оценка на сигурността
- Системи за одит на сигурността
- Hacklabs
- CQR
Някои сертификати за изпитване на проникване:
Ако се интересувате да получите сертификат за сертифициране за проникване на уеб приложения, можете да изберете следните сертификати:
- OSWE (Офанзивен уеб експерт по сигурността)
- GWAPT (Тестер за проникване на уеб приложения на GIAC)
- CWAPT (Сертифициран тестер за проникване на уеб приложения)
- eWPT (тестер за проникване на уеб приложения elearnSecurity)
Заключение
В този урок представихме преглед на това как се извършва тестване на проникване за уеб приложения.
С тази информация тестерът за проникване може да започне тестове за уязвимост.
В идеалния случай тестването за проникване може да ни помогне да създадем сигурен софтуер. Това е скъп метод, така че честотата може да се поддържа веднъж годишно.
За да научите повече за изпитването на проникване, моля, прочетете по-долу свързани статии:
- Подход за тестване на сигурността на уеб приложения
- Тестване на проникване - Пълно ръководство с примерни тестови случаи
- Как да тестваме сигурността на приложенията - Техники за тестване на сигурността на уеб и настолни приложения
Моля, споделете вашите виждания или опит за Pentest по-долу.
Препоръчително четене
- Ръководство за тестване на сигурността на уеб приложения
- Тестване на мрежовата сигурност и най-добрите инструменти за мрежова сигурност
- Най-добри инструменти за тестване на софтуер 2021 г. (Инструменти за автоматизация на QA теста)
- Алфа тестване и бета тестване (Пълно ръководство)
- Тестване на сигурността (Пълно ръководство)
- Пълно ръководство за тестване на проникване с примерни тестови случаи
- Инструменти за тестване на проникване на мобилни приложения и доставчици на услуги
- Разлика между тестване на настолни компютри, клиентски сървър и уеб тестване