Пентест на уеб приложения: Какво трябва да знаете, преди да изберете доставчик
Alexander Sverdlov
Анализатор по сигурността

Защо уеб приложенията са риск №1 за компаниите и потребителите
Уеб приложенията са най-добрата цел за хакерите. Независимо дали използвате SaaS платформа, магазин за електронна търговия или вътрешен уеб портал, вашето приложение е отворено за света и за хакерите.
📈 Проблемът в цифри
-
86% от тестваните уеб приложения имат поне една уязвимост, която може да бъде използвана (Positive Technologies).
-
70% от успешните кибератаки през 2025 г. ще бъдат свързани с уеб приложения (доклад на IBM за разходите при нарушаване на сигурността на данните).
Ако бизнесът ви разчита на уеб приложение, тестовете за проникване вече са задължителни. Те са основно изискване - за сигурността, съответствието с регулации и доверието на клиентите.
🔍 Какво представлява пентеста на уеб приложения?
Тестването за проникване в уеб приложения симулира реални атаки срещу вашето приложение, за да идентифицира и безопасно да експлоатира уязвимостите, преди това да бъде направено от злонамерени хакери.
За разлика от автоматичното сканиране, това включва:
-
Ръчно тестване
-
Усъвършенствани логически-базирани атаки
-
Експлоатация с отчитане на контекста
-
Злоупотреба с бизнес логиката
Не става въпрос само за намиране на слаби пароли, а и за откриване на начина, по който нападателят може да свърже няколко недостатъка, за да компрометира системите и данните ви.
🛠️ Част 2: Дълбокият технически процес
Един сериозен тест за проникване следва структурирана методология. Ето как го правят професионалистите:
✅ 1. Събиране на информация (разузнаване)
Инструменти и методи:
-
Google Доркинг
-
Изброяване на DNS:
dnsenum -
Откриване на поддомейни:
Sublist3r,Amass -
Дневници за прозрачност на WHOIS, Shodan, сертификат
✅ 2. Картографиране на приложението
-
Идентифициране на крайни точки, технологии (напр. PHP, React, Node.js)
-
Използвайте инструменти като
WappalyzerиBurp Suite
✅ 3. Автоматизирано сканиране
Идентифициране на често срещани CVE:
Но не забравяйте, че скенерите пропускат логически грешки.
✅ 4. Ръчно тестване
Тук опитните тестери са най-добри:
-
Заобикаляне на механизмите за удостоверяване
-
Тестване за манипулиране на параметри
-
Злоупотреба със забравени крайни точки
-
Верижни сценарии за атака
Области на фокус:
| Област | Примери |
|---|---|
| Утвърждаване на входните данни | XSS, SQLi, Command Injection |
| Удостоверяване | Счупена автентификация, заобикаляне на 2FA |
| Оторизация | IDOR (несигурни преки препратки към обекти) |
| Управление на сесиите | Фиксиране на сесии, кражба на токени |
| Бизнес логика | Злоупотреба с работните потоци за получаване на достъп, отстъпки или повишаване на разрешенията |
✅ 5. Експлоатация
Внимателно, контролирано изпълнение на:
-
SQL Injection (с инструменти като
sqlmap) -
Заобикаляне на качването на файлове
-
XSS за отвличане на сесии
-
RCE (Remote Code Execution)
Цел: Да симулирате това, което би получил истинският нападател, без да навреди на системите ви.
✅ 6. След експлоатацията (по избор)
-
Проверка за странично движение
-
Увеличаване на правата
-
Завъртане в мрежата, ако е позволено от обхвата
✅ 7. Докладване на
Не просто списък на CVE. Добрият доклад включва:
-
Уязвимости с оценка на риска (CVSS + бизнес въздействие)
-
Снимки на екрани на експлоатацията
-
Доказателство за концепцията (PoCs)
-
Насоки за възстановяване на разработчика
🧠 Защо ръчното тестване все още има значение
Дори най-добрият скенер няма да го направи:
-
Разбиране на бизнес логиката
-
Превръщане на множество дребни грешки в критичен експлойт
-
Откриване на умело скрито повишаване на привилегиите
Ръчното тестване е това, което отличава сканиране за 500 долара от професионален тест за 10 000 долара - и си струва всяка стотинка, ако ви интересува реалната защита.
📜 Част 3: Регулаторни изисквания и изисквания за съответствие
Много индустрии и стандарти изискват редовни тестове за проникване. Ето една разбивка:
| Стандартен | Изискване за тест за проникване | Връзка |
|---|---|---|
| PCI-DSS | Годишен тест и след големи промени | PCI DSS v4.0 |
| SOC 2 | Изисква се за принципа на сигурност | AICPA SOC 2 |
| HIPAA | Изисква се за анализ на риска (ако ePHI е изложена на риск) | Насоки на HHS за HIPAA |
| ISO 27001 | Изисква се за приложение A.12 (Сигурност на операциите) | ISO |
| NIST SP 800-53 | Изисква редовно тестване на множество контроли | Контроли на NIST |
| GDPR | "Подходящите технически мерки" включват тестване | Член 32 от GDPR |
Ако клиентите ви изискват SOC 2, PCI или HIPAA - ще ви трябват доказателства за скорошно и надеждно тестване с перо.
Избор на правилния доставчик на тестване за проникване
Не всички тестове за проверка са еднакви.
Някои компании използват евтин скенер, нанасят логото ви върху PDF файл и приключват работа. Други се задълбочават, симулират реални атакуващи и действително помагат на екипа ви да поправи намереното.
Разликата? Често 500 долара срещу 15 000 долара - и планина от рискове между тях.
🧠 Какво прави един партньор за тестване за проникване отличен
Ето какво трябва да търсите в един сериозен доставчик за пентатестване на уеб приложения:
| Критерии | Защо това е от значение |
|---|---|
| Ръчно тестване | Скенерите пропускат логически грешки и верижни експлойти. |
| Експертиза за определяне на обхвата | Трябва да ви помогне да определите границите на тестовете и да приоритизирате активите. |
| Ясни резултати | Нуждаете се от доклад с PoCs, оценки на риска и стъпки за отстраняване. |
| Подкрепа за отстраняване на нередности | Ще работят ли с вашия екип по разработката след доклада? Това е истинската стойност. |
| Сертификати (OSCP, CREST и др.) | Показва, че знаят какво правят, а не просто натискат бутони. |
| Репутация + референции | Попитайте за препоръки, казуси или резултати на предишни клиенти. |
| Разбиране на бизнес риска | Могат ли те да говорят на вашия език - не само "CVE-2023-XXXX"? |
❌ Червени знамена, за които да внимавате
-
Автоматизирано сканиране + фантастичен отчет = "Pentest"
Ако не споменават ръчно тестване или бизнес логика, откажете се. -
Без покана за определяне на обхвата
Истинският тест се нуждае от истински разговор. Никой формуляр не може да улови всичко. -
Няма поддръжка след теста
Отстраняването на уязвимостите отнема време. Ако след доставката те ви напуснат, това е лош знак. -
Само приказки, без доказателства
Всеки може да каже "предприятията ни се доверяват". Поискайте реални, редактирани доклади или примерни констатации.
💸 Част 5: Разходи за тестване за проникване - за какво наистина плащате
📦 Разбивка на цените по видове тестове
| Тип на теста | Описание | Очаквана цена |
|---|---|---|
| Автоматично сканиране | Обикновено сканиране + основен отчет | $500 - $1,000 |
| Ръчен тест за светлина | 1-2 тестера за 2-5 дни | $3,000 - $6,000 |
| Пълен ръчен тест на уеб приложение | Задълбочено тестване с верижни опити за експлойт | $7,000 - $20,000 |
| Всеобхватно ангажиране | Включва повторно тестване, подкрепа за отстраняване на нередности, картографиране на съответствието | $15,000 - $30,000+ |
Фактори, които влияят на цената:
-
Брой уникални страници или крайни точки
-
Сложност (автентификация, роли, работни процеси)
-
Обхват (prod + staging? множество приложения?)
-
Регулирана индустрия? (HIPAA, PCI и др.)
-
Включено ли е повторно тестване?
💡 Съвет: Винаги питайте: "Включено ли е повторното тестване във вашата оферта?"
Отстраняването на проблеми и получаването на чист доклад често струва допълнително, ако това не е посочено предварително.
💰 Трябва ли да изберете евтин доставчик?
Ако целта ви е:
-
Проверка на поле за съответствие
-
Бързо тестване на нискобюджетен MVP
-
Тестване на демо версия без реални потребители
...тогава по-евтино сканиране може да има смисъл.
Но ако вашето приложение:
-
Съхранява чувствителни данни за клиентите
-
Увеличава приходите ви (SaaS, електронна търговия, CRM)
-
Изправени пред реални заплахи
-
Необходимо е да премине през одити (SOC 2, ISO, PCI)
...тогава се нуждаете от истинско тестване.
Съкращаването на разходите тук е все едно да купите евтини спирачки за Ferrari.
🧾 Какво трябва да включва едно добро предложение за Pen Test
Преди да подпишете каквото и да било, уверете се, че офертата включва:
| Артикул | Описание |
|---|---|
| Обхват на изпитването | Страници, функции, среди, потребителски роли |
| Техники за тестване | Ръчно срещу автоматизирано, използвани инструменти |
| Продължителност | Начални и крайни дати, дни на действителното изпитване |
| Размер на екипа и експертиза | Кой върши работата? Какви са техните пълномощия? |
| Докладване | Обобщение + техническо задълбочаване |
| Подкрепа за отстраняване на нередности | Време, отделено за отговаряне на въпроси след доставката |
| Повторно тестване | Включен е един кръг? График за него? |
| Конфиденциалност | NDA или правни споразумения за обработка на данни |
| Методология | OWASP Top 10, NIST 800-115 или персонализирана методология |
Ако те не могат да ви покажат тези подробности, значи не работите с професионалисти.
Какво се случва, ако пропуснете тестовете за проникване
Много малки и средни предприятия изчакват да мине инцидент със сигурността, за да се заемат сериозно с тестването.
Ето колко обикновено струва това забавяне:
🧨 1. Пропуснатите уязвимости се превръщат в нарушения
Непоправени уязвимости (като CVE-2023-34362) бяха използвани в реални атаки месеци преди повечето компании да реагират.
"Не знаехме, че сме изложени на риск"
...не е защита при изтичане на данни за клиентите ви.
⚖️ 2. Правни и регулаторни санкции
Ако се справяте:
-
Кредитни карти → PCI-DSS
-
Данни за здравеопазването → HIPAA
-
Финансови документи → GLBA, SOX
-
Данни за граждани на ЕС → GDPR
...тогава от вас се изисква да докажете "подходящи технически контроли".
Неизвършването на тестове може да предизвика одити, глоби и съдебни дела.
🧾 Пример: През 2022 г. средна по големина здравна SaaS компания плаща 1,4 млн. долара глоби по HIPAA след нарушение, което е можело да бъде предотвратено с рутинно пентатестване.
🚪 3. Изгубени сделки и пропуснати RFP
Корпоративните клиенти и правителствените договори често изискват в своите въпросници за сигурност скорошни доклади за тестове с перо.
Няма доклад = няма сделка.
💣 4. Увреждане на обществената репутация
Пресата няма да спомене, че сте пропуснали тестовете - просто ще съобщи за това:
-
Хакнали са ви.
-
Изтичане на данни за клиенти.
-
Приложението ви е било несигурно.
И месеци наред ще бъдете в режим на контрол на щетите.
🧠 Често задавани въпроси за ръководители: Какво може да попита изпълнителният директор, CISO или CTO
💬 "Защо не можем просто да използваме скенер за уязвимости?"
Скенерите са полезни, но ограничени. Те не могат да откриват:
-
Недостатъци на бизнес логиката
-
Злоупотреба с роли
-
Нарушен контрол на достъпа
-
Неправилно управление на сесията
-
Верижни експлойти
Добрият тест с писалка прави всичко това - и дори повече.
💬 "Можем ли да си го позволим?"
По-добрият въпрос: Можете ли да си позволите да не го направите?
💥 Средна цена на пробив в уеб приложение = 4,35 млн. долара (IBM 2023 г.)
✅ Разходите за добър пентатест = 7 хил. долара - 20 хил. долара
Това е 0,5%–1% застрахователна премия, за да се избегне загуба на ниво фалит.
💬 "Това ще наруши ли производствените ни системи?"
Не - ако е с подходящ обхват.
Професионални тестери:
-
Работете в часовете със слаб трафик
-
Избягване на разрушителни полезни товари
-
Тестване в етапна фаза, когато е възможно
-
Спазвайте строги правила за ангажираност
💬 "Какво ще правим след теста?"
-
Преглед на доклада с екипа ви за разработване
-
Отстраняване на проблемите, класифицирани като критични и високи
-
Планирайте повторен тест (ако не е включен, предвидете средства за него)
-
Споделяне на окончателния доклад (редактиран) с клиенти или одитори, ако е необходимо.
🧾 Окончателен контролен списък: Избор на доставчик на Pentest за уеб приложения
| Въпрос | Критерии, които трябва да имате |
|---|---|
| Предлагат ли те ръчно тестване? | Да |
| Разбират ли нашия технологичен стек? | Да |
| Могат ли да обяснят констатациите си в бизнес план? | Да |
| Включват ли те помощ за възстановяване? | В идеалния случай |
| Включено ли е повторното тестване в офертата? | За предпочитане |
| Имат ли реални пълномощия (OSCP, CREST)? | Силно да |
| Дали отчетите са приложими и удобни за разработчици? | Трябва да бъде |
| Дали са агностични по отношение на доставчика (без инструменти за продажба)? | Да |
| Имат ли референции, казуси или реални резултати? | Винаги |
| Следват ли призната методология (OWASP/NIST)? | Да |
Дълбоко навлизане в техническия процес - какво всъщност правят истинските Pentesters
Повечето собственици на фирми или дори главни технически директори никога не виждат какво се случва по време на ръчен тест за проникване. Получавате доклад, може би няколко скрийншота, но какво се случва по средата?
Този раздел открехва завесата. Ще ви запознаем с реални технически техники, използвани по време на професионален ръчен тест за проникване в уеб приложения - далеч отвъд това, което скенерите могат да уловят.
🔍 1. Fuzzing и откриване на входни данни
Fuzzing е процес на изпращане на деформирани, неочаквани или умишлено невалидни данни към входовете, за да се наблюдава поведението на приложението.
Професионалните тестери използват:
-
ffuf- За грубо форсиране на директория/файл -
Burp Suite Intruder- Инжектиране на полезен товар в параметрите -
wfuzz- За фъзинг на URL и параметри
Примери:
-
Заблуждаване на крайна точка за качване с различни типове файлове, за да се заобиколят MIME филтрите
-
Изследване на GET и POST параметри за сляп XSS или изтичане на грешки
-
Откриване на недокументирани маршрути на API (напр.
/api/v1/exportAllUsers)
🔑 2. Атаки за удостоверяване на автентичността и сесии
Механизмите за удостоверяване на автентичността се тестват за:
-
Слаби токени на сесията (които могат да бъдат отгатнати или предсказани)
-
Липса на защита с груба сила
-
2FA заобикаля
-
Превземане на акаунт чрез грешки при нулиране на паролата
Инструменти и техники:
-
jwt_tool- Подправяне на JWT, заобикаляне на подписа -
Ръчно отравяне на бисквитки
-
Пръскане на пароли с помощта на
hydraилиburpsuite -
Атаки за преиграване и фиксиране на бисквитки
Тестерите разглеждат:
-
Мога ли да вляза като някой друг, без да знам паролата му?
-
Мога ли да използвам повторно токени с изтекъл срок на валидност или подправени токени?
-
Мога ли да предположа валидни идентификатори на сесии?
Пример:
Приложение за SaaS използва JSON, кодиран по base64, за сесиите. Тестер модифицира своя потребителски идентификатор и получава достъп до акаунта на изпълнителния директор.
🔐 3. Тестване на оторизацията (грешки при контрола на достъпа)
След като влязат в системата, тестващите търсят грешки, свързани с увеличаване на привилегиите и хоризонтален достъп.
Ръчните методи включват:
-
Промяна на цифровите идентификатори в URL адресите:
/invoice/1001 → /invoice/1002 -
Обръщане на ролята: модифициране на JWT претенции от
role=viewerкъмrole=admin -
Модифициране на заявките на GraphQL за извличане на несвързани данни
Тези недостатъци често заобикалят дори най-добрите защитни механизми за защита на данните и не се откриват от скенерите.
Примери:
-
Достъп до файловете на друг потребител чрез манипулиране на пътя до кофата S3
-
Промяна на
user_idв POST данни за извличане на историята на фактуриране на друг потребител -
Извършване на действия на администратора чрез скрити маршрути на API
💣 4. Усъвършенствани техники за експлоатиране
Сега излизаме извън рамките на обикновените XSS и SQLi. Квалифицираните тестери симулират сценарии на атаки от цялата верига, включително:
a. SSRF (подправяне на заявки от страна на сървъра)
Използва се за:
-
Достъп до крайни точки, които са само вътрешни
-
Изброяване на метаданни на AWS в
http://169.254.169.254 -
Използване на вътрешни административни панели
Инструменти: Burp Collaborator, Interactsh, ssrfmap
b. Инжектиране на шаблони
Използва неправилно конфигурирани двигатели за визуализация като Jinja2 или Freemarker:
-
Полезен товар:
{{7*7}}→ Трябва да върне49, ако е уязвим -
Може да доведе до RCE (Remote Code Execution)
c. XSS на базата на DOM
Използване на логически грешки в JavaScript от страна на клиента. Инструменти: XSStrike, браузърни DevTools, ръчен анализ
d. Верижни атаки
Пример:
-
Откриване на обхождане на път
-
Използвайте го, за да прочетете файла
.env -
Извлечение от DB creds
-
Изхвърляне на базата данни
-
Нулиране на паролата на администратора
-
Влезте в административния панел
🌐 5. Тестване на API: REST, GraphQL и други.
Приложните програмни интерфейси (API) често са по-уязвими от интерфейсите на предния край, но рядко се тестват правилно.
Основни рискове:
-
Липса на ограничаване на скоростта
-
Прекомерна експозиция на данни
-
Недостатъци на BOLA/IDOR
-
Неправилно валидиране на токени
Ръчните тестери използват:
-
GraphQL Voyagerза картографиране на схема -
[
Burp Suite Repeater] за модифициране и възпроизвеждане на GraphQL заявки
Контролен списък:
| Фокус върху тестването на API | Подробности |
|---|---|
| Валидиране на входните данни | SQLi, XSS, инжектиране на CRLF |
| Удостоверяване | Изтичане на срока на валидност на токена, логика на обновяване |
| Ограничаване на скоростта | Блокиране на акаунт, груба сила |
| Заобикаляне на филтрирането | Могат ли потребителите да правят справки в неоторизирани полета? |
| Swagger/OpenAPI | Разкрива ли спецификацията недокументирани крайни точки? |
☁️ 6. Тестване на сигурността на облачни приложения и безсървърни системи
Базираните в облака приложения и микроуслугите са свързани с нови повърхности за атаки:
-
Публични кофи S3
-
Неправилни конфигурации на IAM
-
Тайните в хранилищата на Git или тръбопроводите CI/CD
Тестери оценяват:
-
Неправилно конфигурирани разрешения (
*:*в IAM) -
API Gateway заобикаля
-
Изтекли ключове в JavaScript от страна на клиента
-
Несигурни ламбда функции (напр. Node.js с
eval())
Инструменти:
-
ScoutSuite- Одити за сигурност на AWS/Azure/GCP -
Pacu- Рамка за експлоатация на AWS -
TruffleHog- Открива тайни в кода
Примерен сценарий:
Фронтенд излага API ключ в JS. Ключът имаше достъп за запис до производствена кофа S3. Тестер качил злонамерен JavaScript файл, което довело до XSS за всички посетители.
🧪 7. Повторно тестване и проверка
След поправките тестерите извършват целенасочено повторно тестване:
-
Повторно изпълнение на оригиналните полезни товари
-
Потвърждаване на изпълнението (не само на версията на кръпката)
-
Търсене на регресии или нови проблеми, въведени по време на поправките
Добрите пентатестери не казват просто "поправено". Те го доказват.
Резултати:
-
Актуализиран доклад за състоянието
-
Потвърдено решение за всяка констатация
-
Незадължително видео доказателство или нов PoC, ако проблемите продължават
🔁 8. Сравнение на методологии и инструментариуми
| Рамка/инструмент | Случай на употреба | Връзка |
|---|---|---|
| Ръководство за тестване на OWASP | Индустриална стандартна базова линия | OWASP |
| NIST 800-115 | Федерална методология | NIST |
| Burp Suite Pro | Прихващане, fuzz, преиграване, сканиране | Burp Suite |
| ZAP (OWASP) | Безплатно сканиране + автоматизация | ZAP |
| sqlmap | Използване на SQL инжекция | sqlmap |
| Amass/Sublist3r | Откриване на поддомейни | Amass |
| Ядра | Сканиране на уязвимости на базата на шаблони | Nuclei |
🧠 Финални изводи от техническата област
-
Само със скенери няма да се справим.
-
Ръчното пентатестиране е свързано с логика, вериги и креативност, а не само с подписи.
-
Заплахите, свързани с облака и API, се увеличават по-бързо от тези, свързани с традиционните приложения.
-
Повторното тестване не е задължително - много "поправки" просто преместват проблема.
-
Истинският тестер мисли като нападател, но докладва като партньор.
🎯 Приложението ви е входната врата - заключете я правилно
Инвестирали сте в изграждането на платформата, продукта, доверието на клиентите си.
Но ако уеб приложението ви е уязвимо, всичко е изложено на риск.
-
Съответствието изисква тестване.
-
Клиентите изискват доказателства.
-
Хакерите се нуждаят само от една грешка.
Професионалният тест за проникване в уеб приложения не е просто отметка в квадратчето.
Това е най-практичната стъпка, която можете да предприемете, за да защитите бизнеса си от загуба на данни, увреждане на марката, правни проблеми и пропуснати ползи.
🔐 Готови ли сте да направите първата стъпка?
Ние предлагаме:
✅ Ръчно тестване на уеб приложения
✅ Проверки на бизнес логиката + злоупотреба с привилегии
✅ Доклади, подготвени за спазване на изискванията
✅ Подкрепа за отстраняване на нередности
✅ Тих, дискретен ангажимент на експертно ниво
👉 Насрочете безплатна консултация
Или изтеглете нашия контролен списък за готовност за Pentest, за да проверите дали приложението ви е готово за тестване.

Александър Свердлов
Основател на Atlant Security. Автор на 2 книги за информационна сигурност, лектор по киберсигурност на най-големите конференции по киберсигурност в Азия и панелист на конференция на ООН. Бивш член на екипа за консултации по сигурността на Microsoft, външен консултант по киберсигурност в Емиратската корпорация за ядрена енергия.