SlideShare uma empresa Scribd logo
1 de 58
Baixar para ler offline
- QA gangsta Lead в
- Больше 5 лет тестирую на наличие Web уязвимостей
- Больше 8 лет в тестировании
- Провожу обучение по Security testing в Start-it
- Веду блог по Security testing https://svyat.tech
- Веду телеграмм канал https://t.me/qa_security
Свят Логин
Как можно аутентифицироваться:
- Пароль
- Кука
- Single Sign-On
- Certificate-Based Authentication
- и тд.
SQL injection2FA или Двухфакторная аутентификация
- SMS не надо плиз)))
- QR-code
- Push
- One-time password
SQL injectionOWASP Testing Guide
1. Testing for Credentials Transported over an Encrypted Channel
2. Testing for Default Credentials
3. Testing for Weak Lock Out Mechanism
4. Testing for Bypassing Authentication Schema
5. Testing for Browser Cache Weaknesses
6. Testing for Weak Password Policy
7. Testing for Weak Security Question Answer
8. Testing for Weak Password Change or Reset Functionalities
9. Testing for Weaker Authentication in Alternative Channel
SQL injection1. Testing for Credentials Transported over an Encrypted
Channel
SQL injectionЧто проверить
POST http://www.example.com:443/login.do HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1.14) Gecko/20080404
Accept: text/xml,application/xml,application/xhtml+xml,text/html
Accept-Language: it-it,it;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Referer: https://www.example.com/homepage
Cookie: SERVTIMSESSIONID=s2JyLkvDJ9ZhX3yr5BJ3DFLkdphH0QNSJ3VQB6pLhjkW6F
User=test&Pass=test&portal=ExamplePortal
SQL injection2. Testing for Default Credentials
SQL injectionЧто проверить
- Распространенные дефолтные имена (admin, root, guest, test)
- Названия учетки в честь приложения test.com - test/test
- Все верхние пункты с пустыми паролями
- Пароль у вновь созданного пользователя
- Если есть автогенерация, определить, чтоб не было
последовательных генераций типа user7811
Пароль Кол-во
123456 120511
12345 48452
password 39448
DEFAULT 34275
123456789 26620
qwerty 20778
12345678 14172
abc123 10869
pussy 10683
1234567 9468
Топ паролей
Топ паролей
https://github.com/danielmiessler/SecLists/tree/master/Passwords
Brute force
email or username Password
Authorization
User
Pass
SQL injection3. Testing for Weak Lock Out Mechanism
SQL injection3. Testing for Weak Lock Out Mechanism
Если 1 юзер, то будь
аккуратен)))
SQL injectionРиски, которые стоит учитывать:
1. Каков риск подбора пароля для приложения?
2. Достаточно ли CAPTCHA для снижения этого риска?
3. Используется ли механизм блокировки на стороне клиента?
4. Каков порог срабатывания блокировки?
SQL injection4 Testing for Bypassing Authentication Schema
SQL injectionDirect page request (Прямой запрос страницы)
SQL injectionParameter modification (Модификация параметра)
SQL injectionSQL-инъекция
SQL injection5 Testing for Browser Cache Weaknesses
SQL injectionЧто проверить
- Кнопка назад
-- Cache-Control: must-revalidate
- Что попадает в кеш браузера
-- Cache-Control: no-cache
SQL injectionХранения кеша
- Mozilla Firefox:
-- Unix/Linux: ~/.cache/mozilla/firefox/
-- Windows:
C:Users<user_name>AppDataLocalMozillaFirefoxProfiles<profile-id>Cache2
- Internet Explorer:
-- C:Users<user_name>AppDataLocalMicrosoftWindowsINetCache
- Chrome:
-- Windows: C:Users<user_name>AppDataLocalGoogleChromeUser
DataDefaultCache
-- Unix/Linux: ~/.cache/google-chrome
SQL injection6 Testing for Weak Password Policy
SQL injectionЧто проверить
1. Какие символы разрешено и запрещено использовать в пароле?
2. Как часто пользователь может менять свой пароль?
3. Когда пользователь должен изменить свой пароль?
4. Как часто пользователь может повторно использовать пароль?
5. Насколько следующий пароль должен отличаться от последнего пароля?
6. Какова минимальная и максимальная длина пароля?
7. Запрещается ли пользователю использовать свое имя в качестве пароля?
SQL injection7 Testing for Weak Security Question Answer
SQL injectionЧто проверить
Плохие:
- Ответы могут быть известны близким, например «Какая девичья фамилия?
- Ответы можно легко угадать, например, «Какой твой любимый цвет?»
- Ответы могут быть общедоступными, например "Какой твой любимый фильм?" - ответ
можно легко найти на странице профиля пользователя в социальной сети.
Хороший:
Как называется ваша первая игрушка?
SQL injection8 Testing for Weak Password Change or Reset Functionalities
SQL injectionЧто проверить
1. Есть ли пользователи, кроме администраторов, которые могут изменять
или сбрасывать пароли для учетных записей, кроме своих собственных,
конечно же))
2. Найти, нету ли в смене или сброса паролей уязвимость для CSRF.
3. Понять какая информация требуется для сброса пароля?
4. Как сообщается пользователю про сброс пароля?
5. Сброшенный новый пароль генерируются случайным образом?
6. Требует ли функция подтверждения для сброса пароля перед изменением?
7. Требуется ли старый пароль для завершения изменения?
SQL injection9 Testing for Weaker Authentication in Alternative Channel
SQL injectionЧто проверить
Есть сайт:
http://www.example.com
Есть аутентификация, с использованием Transport Layer Security:
https://www.example.com/myaccount/
А есть аутентификация для мобильного веба, без Transport Layer Security:
http://m.example.com/myaccount/
SQL injectionЧто проверить
Понять первичный механизм
Определить другие каналы
-- файл robots.txt, sitemap.xml и тд.
-- поиск в логах HTTP проксях «mobile», «mobile app»,«auth»,« sso» и тд
-- поиск разных веб-сайтов одной организации или с одинаковым доменном
SQL injectionOWASP Testing Guide
1 Testing Directory Traversal File Include
2 Testing for Bypassing Authorization Schema
3 Testing for Privilege Escalation
4 Testing for Insecure Direct Object References
SQL injection1 Testing Directory Traversal File Include
Обращение к серверу через урл
http://example.com/getUserProfile.jsp?item=../../../../etc/passwd
Обращение к серверу через куки
Cookie: USER=1826cc8f:PSTYLE=../../../../etc/passwd
SQL injection2 Testing for Bypassing Authorization Schema
SQL iВекторы атаки вертикальный
Web App
Admin
User
Manager
web_app.com/ admin/
SQL iВекторы атаки горизонтальный
http://web_app.com/user_info ?user=1
Юзер 1 Юзер 2
http://web_app.com/user_info ?user=2
Аноним
SQL injection3 Testing for Privilege Escalation
SQL injectionМанипулирование группой пользователей
POST /user/viewOrder.jsp HTTP/1.1
Host: www.example.com
...
groupID=grp001&orderID=0001
SQL injectionМанипулирование профилем пользователя
HTTP/1.1 200 OK
Server: Netscape-Enterprise/6.0
Date: Wed, 1 Apr 2006 13:51:20 GMT
Set-Cookie: USER=aW78ryrGrTWs4MnOd32Fs51yDqp; path=/;
domain=www.example.com
Set-Cookie: SESSION=k+KmKeHXTgDi1J5fT7Zz; path=/; domain=
www.example.com
Cache-Control: no-cache
Pragma: No-cache
Content-length: 247
Content-Type: text/html
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Connection: close
<form name="autoriz" method="POST" action = "visual.jsp">
<input type="hidden" name="profile" value="SysAdmin">
<body onload="document.forms.autoriz.submit()">
</td>
SQL injection4 Testing for Insecure Direct Object References
SQL injection
Случай, когда значение параметра используется
непосредственно для выполнения операции в
системе
http://foo.bar/changepassword?user=someuser
SQL injection
Случай, когда значение параметра используется для
получения записи из базы данных
http://foo.bar/somepage?invoice=12345
SQL injectionIAM - Identity Access Management
SQL injectionГде поиграться?
https://sourceforge.net/projects/owaspbwa/
https://portswigger.net/web-security
https://www.keycloak.org/downloads
SQL injectionГде взять сумасшедшие данные
https://github.com/minimaxir/big-list-of-naughty-strings/blob/master/blns.
txt
Спасибо за внимание!
svyat.tech
@qa_security

Mais conteúdo relacionado

Mais procurados

διδακτικο σεναριο για τα μαθηματικα
διδακτικο σεναριο για τα μαθηματικαδιδακτικο σεναριο για τα μαθηματικα
διδακτικο σεναριο για τα μαθηματικα
Eleni Tsirimpasi
 
Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...
Lucas Jellema
 
το ρημα ειμαι
το ρημα ειμαιτο ρημα ειμαι
το ρημα ειμαι
Nansy Tzg
 

Mais procurados (20)

Γλώσσα β τάξη
Γλώσσα β τάξηΓλώσσα β τάξη
Γλώσσα β τάξη
 
Συναισθήματα
ΣυναισθήματαΣυναισθήματα
Συναισθήματα
 
τασος το σαλιγκαρι
τασος το σαλιγκαριτασος το σαλιγκαρι
τασος το σαλιγκαρι
 
Navigating Disaster Recovery in Kubernetes and CNCF Crossplane
Navigating Disaster Recovery in Kubernetes and CNCF Crossplane Navigating Disaster Recovery in Kubernetes and CNCF Crossplane
Navigating Disaster Recovery in Kubernetes and CNCF Crossplane
 
για ομαδοποιηση λεξεων κ
για ομαδοποιηση λεξεων κγια ομαδοποιηση λεξεων κ
για ομαδοποιηση λεξεων κ
 
ΠΑΛΙΑ ΠΑΙΧΝΙΔΙΑ ΤΗΣ ΓΕΙΤΟΝΙΑΣ
ΠΑΛΙΑ ΠΑΙΧΝΙΔΙΑ ΤΗΣ ΓΕΙΤΟΝΙΑΣΠΑΛΙΑ ΠΑΙΧΝΙΔΙΑ ΤΗΣ ΓΕΙΤΟΝΙΑΣ
ΠΑΛΙΑ ΠΑΙΧΝΙΔΙΑ ΤΗΣ ΓΕΙΤΟΝΙΑΣ
 
Full Stack Aadhaar eKYC Solution
Full Stack Aadhaar eKYC Solution Full Stack Aadhaar eKYC Solution
Full Stack Aadhaar eKYC Solution
 
διδακτικο σεναριο για τα μαθηματικα
διδακτικο σεναριο για τα μαθηματικαδιδακτικο σεναριο για τα μαθηματικα
διδακτικο σεναριο για τα μαθηματικα
 
EU Code Week: Ελληνική σημαία
EU Code Week: Ελληνική σημαίαEU Code Week: Ελληνική σημαία
EU Code Week: Ελληνική σημαία
 
κρυπτολεξο λεξη νονά
κρυπτολεξο λεξη νονάκρυπτολεξο λεξη νονά
κρυπτολεξο λεξη νονά
 
CKA_1st.pptx
CKA_1st.pptxCKA_1st.pptx
CKA_1st.pptx
 
Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...
 
DevOps核心理念和實踐
DevOps核心理念和實踐DevOps核心理念和實踐
DevOps核心理念和實踐
 
Dockerfile Tutorial with Example | Creating your First Dockerfile | Docker Tr...
Dockerfile Tutorial with Example | Creating your First Dockerfile | Docker Tr...Dockerfile Tutorial with Example | Creating your First Dockerfile | Docker Tr...
Dockerfile Tutorial with Example | Creating your First Dockerfile | Docker Tr...
 
HashiCorp's Vault - The Examples
HashiCorp's Vault - The ExamplesHashiCorp's Vault - The Examples
HashiCorp's Vault - The Examples
 
Τα συναισθήματα στην τέχνη/ Πίνακες και συναισθήματα
Τα συναισθήματα στην τέχνη/ Πίνακες και συναισθήματαΤα συναισθήματα στην τέχνη/ Πίνακες και συναισθήματα
Τα συναισθήματα στην τέχνη/ Πίνακες και συναισθήματα
 
Building and Deploying Application to Apache Mesos
Building and Deploying Application to Apache MesosBuilding and Deploying Application to Apache Mesos
Building and Deploying Application to Apache Mesos
 
καταλήξεις ουσιαστικών
καταλήξεις ουσιαστικώνκαταλήξεις ουσιαστικών
καταλήξεις ουσιαστικών
 
το ρημα ειμαι
το ρημα ειμαιτο ρημα ειμαι
το ρημα ειμαι
 
Custom PrimeFaces components
Custom PrimeFaces componentsCustom PrimeFaces components
Custom PrimeFaces components
 

Semelhante a Svyatoslav Login "How to test authentication and authorization for security"

Тестирование мобильных приложений
Тестирование мобильных приложенийТестирование мобильных приложений
Тестирование мобильных приложений
Alexander Khozya
 
безопасность веб проектов сергей рыжиков
безопасность веб проектов   сергей рыжиковбезопасность веб проектов   сергей рыжиков
безопасность веб проектов сергей рыжиков
Media Gorod
 
Web осень 2012 лекция 11
Web осень 2012 лекция 11Web осень 2012 лекция 11
Web осень 2012 лекция 11
Technopark
 

Semelhante a Svyatoslav Login "How to test authentication and authorization for security" (20)

Информационная безопасность и web-приложения
Информационная безопасность и web-приложенияИнформационная безопасность и web-приложения
Информационная безопасность и web-приложения
 
WebAuthn в реальной жизни, Анатолий Остапенко
WebAuthn в реальной жизни, Анатолий ОстапенкоWebAuthn в реальной жизни, Анатолий Остапенко
WebAuthn в реальной жизни, Анатолий Остапенко
 
Анализ защищенности Web-приложений, выявление уязвимостей в реальных условиях
Анализ защищенности Web-приложений, выявление уязвимостей в реальных условияхАнализ защищенности Web-приложений, выявление уязвимостей в реальных условиях
Анализ защищенности Web-приложений, выявление уязвимостей в реальных условиях
 
Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...
Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...
Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...
 
Тестирование мобильных приложений
Тестирование мобильных приложенийТестирование мобильных приложений
Тестирование мобильных приложений
 
Как защитить сеть от web-угроз с помощью Cisco WSA (ex IronPort)
Как защитить сеть от web-угроз с помощью Cisco WSA (ex IronPort)Как защитить сеть от web-угроз с помощью Cisco WSA (ex IronPort)
Как защитить сеть от web-угроз с помощью Cisco WSA (ex IronPort)
 
Концепция QaAPI: взгляд на тестирование с другой стороны баррикад
Концепция QaAPI: взгляд на тестирование с другой стороны баррикадКонцепция QaAPI: взгляд на тестирование с другой стороны баррикад
Концепция QaAPI: взгляд на тестирование с другой стороны баррикад
 
Контроль доступа к Интернет
Контроль доступа к ИнтернетКонтроль доступа к Интернет
Контроль доступа к Интернет
 
Безопасность веб-приложений: starter edition
Безопасность веб-приложений: starter editionБезопасность веб-приложений: starter edition
Безопасность веб-приложений: starter edition
 
Доклад Станислава Еремина на конференции LoveQA. "Системы обнаружения уязвимо...
Доклад Станислава Еремина на конференции LoveQA. "Системы обнаружения уязвимо...Доклад Станислава Еремина на конференции LoveQA. "Системы обнаружения уязвимо...
Доклад Станислава Еремина на конференции LoveQA. "Системы обнаружения уязвимо...
 
(Seleniumcamp) Selenium RC for QA Engineer
(Seleniumcamp) Selenium RC for QA Engineer(Seleniumcamp) Selenium RC for QA Engineer
(Seleniumcamp) Selenium RC for QA Engineer
 
Автоматизированное тестирование - от сложного к простому, или Запускаем автот...
Автоматизированное тестирование - от сложного к простому, или Запускаем автот...Автоматизированное тестирование - от сложного к простому, или Запускаем автот...
Автоматизированное тестирование - от сложного к простому, или Запускаем автот...
 
QaApi: взгляд на тестирование с другой стороны баррикад
QaApi: взгляд на тестирование с другой стороны баррикадQaApi: взгляд на тестирование с другой стороны баррикад
QaApi: взгляд на тестирование с другой стороны баррикад
 
Svyatoslav Login
Svyatoslav LoginSvyatoslav Login
Svyatoslav Login
 
ВІТАЛІЙ ГОНЧАРУК «За допомогою чого пишуться серйозні веб додатки на .NET» O...
ВІТАЛІЙ ГОНЧАРУК «За допомогою чого пишуться серйозні веб додатки на .NET»  O...ВІТАЛІЙ ГОНЧАРУК «За допомогою чого пишуться серйозні веб додатки на .NET»  O...
ВІТАЛІЙ ГОНЧАРУК «За допомогою чого пишуться серйозні веб додатки на .NET» O...
 
Automation Compliance Checks
Automation Compliance ChecksAutomation Compliance Checks
Automation Compliance Checks
 
безопасность веб проектов сергей рыжиков
безопасность веб проектов   сергей рыжиковбезопасность веб проектов   сергей рыжиков
безопасность веб проектов сергей рыжиков
 
Владимир Кочетков "OWASP TOP 10 для.NET"
Владимир Кочетков  "OWASP TOP 10 для.NET"Владимир Кочетков  "OWASP TOP 10 для.NET"
Владимир Кочетков "OWASP TOP 10 для.NET"
 
Обнаружение уязвимостей в механизме авторизации веб-приложении
Обнаружение уязвимостей в механизме авторизации веб-приложенииОбнаружение уязвимостей в механизме авторизации веб-приложении
Обнаружение уязвимостей в механизме авторизации веб-приложении
 
Web осень 2012 лекция 11
Web осень 2012 лекция 11Web осень 2012 лекция 11
Web осень 2012 лекция 11
 

Mais de Fwdays

Mais de Fwdays (20)

"How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y...
"How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y..."How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y...
"How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y...
 
"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil Topchii
"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil Topchii"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil Topchii
"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil Topchii
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
"What is a RAG system and how to build it",Dmytro Spodarets
"What is a RAG system and how to build it",Dmytro Spodarets"What is a RAG system and how to build it",Dmytro Spodarets
"What is a RAG system and how to build it",Dmytro Spodarets
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
"Distributed graphs and microservices in Prom.ua", Maksym Kindritskyi
"Distributed graphs and microservices in Prom.ua",  Maksym Kindritskyi"Distributed graphs and microservices in Prom.ua",  Maksym Kindritskyi
"Distributed graphs and microservices in Prom.ua", Maksym Kindritskyi
 
"Rethinking the existing data loading and processing process as an ETL exampl...
"Rethinking the existing data loading and processing process as an ETL exampl..."Rethinking the existing data loading and processing process as an ETL exampl...
"Rethinking the existing data loading and processing process as an ETL exampl...
 
"How Ukrainian IT specialist can go on vacation abroad without crossing the T...
"How Ukrainian IT specialist can go on vacation abroad without crossing the T..."How Ukrainian IT specialist can go on vacation abroad without crossing the T...
"How Ukrainian IT specialist can go on vacation abroad without crossing the T...
 
"The Strength of Being Vulnerable: the experience from CIA, Tesla and Uber", ...
"The Strength of Being Vulnerable: the experience from CIA, Tesla and Uber", ..."The Strength of Being Vulnerable: the experience from CIA, Tesla and Uber", ...
"The Strength of Being Vulnerable: the experience from CIA, Tesla and Uber", ...
 
"[QUICK TALK] Radical candor: how to achieve results faster thanks to a cultu...
"[QUICK TALK] Radical candor: how to achieve results faster thanks to a cultu..."[QUICK TALK] Radical candor: how to achieve results faster thanks to a cultu...
"[QUICK TALK] Radical candor: how to achieve results faster thanks to a cultu...
 
"[QUICK TALK] PDP Plan, the only one door to raise your salary and boost care...
"[QUICK TALK] PDP Plan, the only one door to raise your salary and boost care..."[QUICK TALK] PDP Plan, the only one door to raise your salary and boost care...
"[QUICK TALK] PDP Plan, the only one door to raise your salary and boost care...
 
"4 horsemen of the apocalypse of working relationships (+ antidotes to them)"...
"4 horsemen of the apocalypse of working relationships (+ antidotes to them)"..."4 horsemen of the apocalypse of working relationships (+ antidotes to them)"...
"4 horsemen of the apocalypse of working relationships (+ antidotes to them)"...
 
"Reconnecting with Purpose: Rediscovering Job Interest after Burnout", Anast...
"Reconnecting with Purpose: Rediscovering Job Interest after Burnout",  Anast..."Reconnecting with Purpose: Rediscovering Job Interest after Burnout",  Anast...
"Reconnecting with Purpose: Rediscovering Job Interest after Burnout", Anast...
 
"Mentoring 101: How to effectively invest experience in the success of others...
"Mentoring 101: How to effectively invest experience in the success of others..."Mentoring 101: How to effectively invest experience in the success of others...
"Mentoring 101: How to effectively invest experience in the success of others...
 
"Mission (im) possible: How to get an offer in 2024?", Oleksandra Myronova
"Mission (im) possible: How to get an offer in 2024?",  Oleksandra Myronova"Mission (im) possible: How to get an offer in 2024?",  Oleksandra Myronova
"Mission (im) possible: How to get an offer in 2024?", Oleksandra Myronova
 
"Why have we learned how to package products, but not how to 'package ourselv...
"Why have we learned how to package products, but not how to 'package ourselv..."Why have we learned how to package products, but not how to 'package ourselv...
"Why have we learned how to package products, but not how to 'package ourselv...
 
"How to tame the dragon, or leadership with imposter syndrome", Oleksandr Zin...
"How to tame the dragon, or leadership with imposter syndrome", Oleksandr Zin..."How to tame the dragon, or leadership with imposter syndrome", Oleksandr Zin...
"How to tame the dragon, or leadership with imposter syndrome", Oleksandr Zin...
 

Último

2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf
Хроники кибер-безопасника
 
CVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdfCVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdf
Хроники кибер-безопасника
 
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Ирония безопасности
 
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
Ирония безопасности
 
Cyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdfCyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdf
Хроники кибер-безопасника
 
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdfСИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
Хроники кибер-безопасника
 

Último (9)

MS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdfMS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdf
 
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdfMalware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
 
2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf
 
CVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdfCVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdf
 
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
 
Ransomware_Q3 2023. The report [RU].pdf
Ransomware_Q3 2023.  The report [RU].pdfRansomware_Q3 2023.  The report [RU].pdf
Ransomware_Q3 2023. The report [RU].pdf
 
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
 
Cyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdfCyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdf
 
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdfСИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
 

Svyatoslav Login "How to test authentication and authorization for security"

  • 1.
  • 2. - QA gangsta Lead в - Больше 5 лет тестирую на наличие Web уязвимостей - Больше 8 лет в тестировании - Провожу обучение по Security testing в Start-it - Веду блог по Security testing https://svyat.tech - Веду телеграмм канал https://t.me/qa_security Свят Логин
  • 3.
  • 4.
  • 5. Как можно аутентифицироваться: - Пароль - Кука - Single Sign-On - Certificate-Based Authentication - и тд.
  • 6. SQL injection2FA или Двухфакторная аутентификация - SMS не надо плиз))) - QR-code - Push - One-time password
  • 7. SQL injectionOWASP Testing Guide 1. Testing for Credentials Transported over an Encrypted Channel 2. Testing for Default Credentials 3. Testing for Weak Lock Out Mechanism 4. Testing for Bypassing Authentication Schema 5. Testing for Browser Cache Weaknesses 6. Testing for Weak Password Policy 7. Testing for Weak Security Question Answer 8. Testing for Weak Password Change or Reset Functionalities 9. Testing for Weaker Authentication in Alternative Channel
  • 8. SQL injection1. Testing for Credentials Transported over an Encrypted Channel
  • 9. SQL injectionЧто проверить POST http://www.example.com:443/login.do HTTP/1.1 Host: www.example.com User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1.14) Gecko/20080404 Accept: text/xml,application/xml,application/xhtml+xml,text/html Accept-Language: it-it,it;q=0.8,en-us;q=0.5,en;q=0.3 Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Referer: https://www.example.com/homepage Cookie: SERVTIMSESSIONID=s2JyLkvDJ9ZhX3yr5BJ3DFLkdphH0QNSJ3VQB6pLhjkW6F User=test&Pass=test&portal=ExamplePortal
  • 10. SQL injection2. Testing for Default Credentials
  • 11. SQL injectionЧто проверить - Распространенные дефолтные имена (admin, root, guest, test) - Названия учетки в честь приложения test.com - test/test - Все верхние пункты с пустыми паролями - Пароль у вновь созданного пользователя - Если есть автогенерация, определить, чтоб не было последовательных генераций типа user7811
  • 12. Пароль Кол-во 123456 120511 12345 48452 password 39448 DEFAULT 34275 123456789 26620 qwerty 20778 12345678 14172 abc123 10869 pussy 10683 1234567 9468 Топ паролей
  • 14.
  • 15. Brute force email or username Password Authorization User Pass
  • 16.
  • 17. SQL injection3. Testing for Weak Lock Out Mechanism
  • 18. SQL injection3. Testing for Weak Lock Out Mechanism Если 1 юзер, то будь аккуратен)))
  • 19. SQL injectionРиски, которые стоит учитывать: 1. Каков риск подбора пароля для приложения? 2. Достаточно ли CAPTCHA для снижения этого риска? 3. Используется ли механизм блокировки на стороне клиента? 4. Каков порог срабатывания блокировки?
  • 20. SQL injection4 Testing for Bypassing Authentication Schema
  • 21. SQL injectionDirect page request (Прямой запрос страницы)
  • 22. SQL injectionParameter modification (Модификация параметра)
  • 23.
  • 25. SQL injection5 Testing for Browser Cache Weaknesses
  • 26. SQL injectionЧто проверить - Кнопка назад -- Cache-Control: must-revalidate - Что попадает в кеш браузера -- Cache-Control: no-cache
  • 27. SQL injectionХранения кеша - Mozilla Firefox: -- Unix/Linux: ~/.cache/mozilla/firefox/ -- Windows: C:Users<user_name>AppDataLocalMozillaFirefoxProfiles<profile-id>Cache2 - Internet Explorer: -- C:Users<user_name>AppDataLocalMicrosoftWindowsINetCache - Chrome: -- Windows: C:Users<user_name>AppDataLocalGoogleChromeUser DataDefaultCache -- Unix/Linux: ~/.cache/google-chrome
  • 28. SQL injection6 Testing for Weak Password Policy
  • 29. SQL injectionЧто проверить 1. Какие символы разрешено и запрещено использовать в пароле? 2. Как часто пользователь может менять свой пароль? 3. Когда пользователь должен изменить свой пароль? 4. Как часто пользователь может повторно использовать пароль? 5. Насколько следующий пароль должен отличаться от последнего пароля? 6. Какова минимальная и максимальная длина пароля? 7. Запрещается ли пользователю использовать свое имя в качестве пароля?
  • 30. SQL injection7 Testing for Weak Security Question Answer
  • 31. SQL injectionЧто проверить Плохие: - Ответы могут быть известны близким, например «Какая девичья фамилия? - Ответы можно легко угадать, например, «Какой твой любимый цвет?» - Ответы могут быть общедоступными, например "Какой твой любимый фильм?" - ответ можно легко найти на странице профиля пользователя в социальной сети. Хороший: Как называется ваша первая игрушка?
  • 32. SQL injection8 Testing for Weak Password Change or Reset Functionalities
  • 33. SQL injectionЧто проверить 1. Есть ли пользователи, кроме администраторов, которые могут изменять или сбрасывать пароли для учетных записей, кроме своих собственных, конечно же)) 2. Найти, нету ли в смене или сброса паролей уязвимость для CSRF. 3. Понять какая информация требуется для сброса пароля? 4. Как сообщается пользователю про сброс пароля? 5. Сброшенный новый пароль генерируются случайным образом? 6. Требует ли функция подтверждения для сброса пароля перед изменением? 7. Требуется ли старый пароль для завершения изменения?
  • 34. SQL injection9 Testing for Weaker Authentication in Alternative Channel
  • 35. SQL injectionЧто проверить Есть сайт: http://www.example.com Есть аутентификация, с использованием Transport Layer Security: https://www.example.com/myaccount/ А есть аутентификация для мобильного веба, без Transport Layer Security: http://m.example.com/myaccount/
  • 36. SQL injectionЧто проверить Понять первичный механизм Определить другие каналы -- файл robots.txt, sitemap.xml и тд. -- поиск в логах HTTP проксях «mobile», «mobile app»,«auth»,« sso» и тд -- поиск разных веб-сайтов одной организации или с одинаковым доменном
  • 37.
  • 38.
  • 39. SQL injectionOWASP Testing Guide 1 Testing Directory Traversal File Include 2 Testing for Bypassing Authorization Schema 3 Testing for Privilege Escalation 4 Testing for Insecure Direct Object References
  • 40. SQL injection1 Testing Directory Traversal File Include
  • 41. Обращение к серверу через урл http://example.com/getUserProfile.jsp?item=../../../../etc/passwd
  • 42. Обращение к серверу через куки Cookie: USER=1826cc8f:PSTYLE=../../../../etc/passwd
  • 43.
  • 44. SQL injection2 Testing for Bypassing Authorization Schema
  • 45. SQL iВекторы атаки вертикальный Web App Admin User Manager web_app.com/ admin/
  • 46. SQL iВекторы атаки горизонтальный http://web_app.com/user_info ?user=1 Юзер 1 Юзер 2 http://web_app.com/user_info ?user=2 Аноним
  • 47.
  • 48. SQL injection3 Testing for Privilege Escalation
  • 49. SQL injectionМанипулирование группой пользователей POST /user/viewOrder.jsp HTTP/1.1 Host: www.example.com ... groupID=grp001&orderID=0001
  • 50. SQL injectionМанипулирование профилем пользователя HTTP/1.1 200 OK Server: Netscape-Enterprise/6.0 Date: Wed, 1 Apr 2006 13:51:20 GMT Set-Cookie: USER=aW78ryrGrTWs4MnOd32Fs51yDqp; path=/; domain=www.example.com Set-Cookie: SESSION=k+KmKeHXTgDi1J5fT7Zz; path=/; domain= www.example.com Cache-Control: no-cache Pragma: No-cache Content-length: 247 Content-Type: text/html Expires: Thu, 01 Jan 1970 00:00:00 GMT Connection: close <form name="autoriz" method="POST" action = "visual.jsp"> <input type="hidden" name="profile" value="SysAdmin"> <body onload="document.forms.autoriz.submit()"> </td>
  • 51. SQL injection4 Testing for Insecure Direct Object References
  • 52. SQL injection Случай, когда значение параметра используется непосредственно для выполнения операции в системе http://foo.bar/changepassword?user=someuser
  • 53. SQL injection Случай, когда значение параметра используется для получения записи из базы данных http://foo.bar/somepage?invoice=12345
  • 54. SQL injectionIAM - Identity Access Management
  • 56. SQL injectionГде взять сумасшедшие данные https://github.com/minimaxir/big-list-of-naughty-strings/blob/master/blns. txt
  • 57.