SlideShare a Scribd company logo
1 of 39
WEB applications security testing
Semenov Kirill
COST engineer
• Basic principles of security discredit
• Server side vulnerability
• Client side vulnerability
• SOAP API and JSON API
Agenda
• Security testing essentials
• WEB applications security
• HTTP overview
Basic principles of security discredit
Part I
Security testing essentials
Basic principles of security
discredit
Particle NOT
Security testing essentials
Basic principles of security
discredit
Basic principles of security
discredit
WEB applications security
Network
What can be attacked?
Client Server
Basic principles of security
discredit
WEB applications security Organizations
Basic principles of security
discredit
WEB applications security Instruments
Basic principles of security
discredit
HTTP
WEB Server +
Logics Server
WEB Server +
Logics Server
DBMSDBMS OSOS
SQL • commands
• files
BrowserBrowser
(X)HTTP(S)
Basic principles of security
discredit
HTTP
Basic principles of security
discredit
HTTP
Server side vulnerability
Part II
• A1 – Injection:
– SQL injection
– File injection
– Code injection
• A2 – Broken Session Management
• A4 – Insecure Direct Object Reference
• A8 – Cross-Site Request Forgery (CSRF)
Server side vulnerability
A1 - Injection
What happens on a Server?
Server side vulnerability
A1 - Injection
Main types of Injections
Server side vulnerability
A1 - Injection
SQL Injection Types
Server side vulnerability
A1 - Injection
How it works - UNION injection
Server side vulnerability
A1 - Injection
How it works – Blind injection
Server side vulnerability
A1 - Injection
How to protect?
Server side vulnerability
A1 - Injection
How to attack?
Server side vulnerability
A1 - Injection
File Injection
Server side vulnerability
A1 - Injection
Code & Command Injection
Server side vulnerability
A2 – Authentication and Session Management
Server side vulnerability
A4 – Insecure Direct Object Reference
Client side vulnerability
A8 – Cross Site Request Forgery
XSS
Trap
Victim
CSRF
Site1
Site2
Trap
Victim
Client side vulnerability
A8 – Cross Site Request Forgery
Client side vulnerability
Part III
• A3 – Cross-Site Scripting (XSS)
o stored
o reflected
• A10 – Unvalidated Redirects
Client side vulnerability
What happens on Client (Browser)?
XSS
Client side vulnerability
A3 - XSS
XSS - execute malicious Java Script code
inside authorized user session, who has
higher privileges than attacker
Client side vulnerability
A3 - XSS
WEB Server
+ Logics
Server
WEB Server
+ Logics
Server
DBMSDBMS OSOS
SQL • commands
• files
(X)HTTP(S)
BrowserBrowser
WEB Server +
Logics Server
WEB Server +
Logics Server
DBMSDBMS OSOS
SQL • commands
• files
BrowserBrowser
(X)HTTP(S)
User
data
Stored Reflected
Client side vulnerability
A3 - XSS
A3 - XSS
How to attack?
Client side vulnerability
A3 - XSS
How to protect?
Client side vulnerability
Client side vulnerability
A3 - XSS
Q&A
Client side vulnerability
A10 – Unvalidated redirects
http://gmail.com/redirect.jsp?url=http://gmeil.com
Same interface
TrapVictim
Valid host Invalid host
SOAP API & JSON API
Part IV
SOAP API & JSON API
Architecture
SOAP API & JSON API
SOAP UI
• SoapUI is a free and open source cross-platform Functional Testing solution
• http://www.soapui.org/about-soapui/what-is-soapui-.html
SOAP API & JSON API
Q&A
Thank You!

More Related Content

What's hot

What's hot (8)

Continuous Security Testing in a Devops World #OWASPHelsinki
Continuous Security Testing in a Devops World #OWASPHelsinkiContinuous Security Testing in a Devops World #OWASPHelsinki
Continuous Security Testing in a Devops World #OWASPHelsinki
 
Know Your Security Model
Know Your Security ModelKnow Your Security Model
Know Your Security Model
 
Continuous Security Testing with Devops - OWASP EU 2014
Continuous Security Testing  with Devops - OWASP EU 2014Continuous Security Testing  with Devops - OWASP EU 2014
Continuous Security Testing with Devops - OWASP EU 2014
 
Rest assured
Rest assuredRest assured
Rest assured
 
Injecting Security into Web apps at Runtime Whitepaper
Injecting Security into Web apps at Runtime WhitepaperInjecting Security into Web apps at Runtime Whitepaper
Injecting Security into Web apps at Runtime Whitepaper
 
Workshop : Application Security
Workshop : Application SecurityWorkshop : Application Security
Workshop : Application Security
 
Implementing application security using the .net framework
Implementing application security using the .net frameworkImplementing application security using the .net framework
Implementing application security using the .net framework
 
Application Security Workshop
Application Security Workshop Application Security Workshop
Application Security Workshop
 

Similar to "WEB applications security testing" by Kirill Semenov for Lohika Odessa QA TechTalks

Wakanda and the top 5 security risks - JS.everyrwhere(2012) Europe
Wakanda and the top 5 security risks - JS.everyrwhere(2012) EuropeWakanda and the top 5 security risks - JS.everyrwhere(2012) Europe
Wakanda and the top 5 security risks - JS.everyrwhere(2012) Europe
Alexandre Morgaut
 

Similar to "WEB applications security testing" by Kirill Semenov for Lohika Odessa QA TechTalks (20)

Web hackingtools 2015
Web hackingtools 2015Web hackingtools 2015
Web hackingtools 2015
 
Web hackingtools 2015
Web hackingtools 2015Web hackingtools 2015
Web hackingtools 2015
 
Web hackingtools cf-summit2014
Web hackingtools cf-summit2014Web hackingtools cf-summit2014
Web hackingtools cf-summit2014
 
The path of secure software by Katy Anton
The path of secure software by Katy AntonThe path of secure software by Katy Anton
The path of secure software by Katy Anton
 
SEC304 Advanced Techniques for DDoS Mitigation and Web Application Defense
SEC304 Advanced Techniques for DDoS Mitigation and Web Application DefenseSEC304 Advanced Techniques for DDoS Mitigation and Web Application Defense
SEC304 Advanced Techniques for DDoS Mitigation and Web Application Defense
 
OWASP top 10-2013
OWASP top 10-2013OWASP top 10-2013
OWASP top 10-2013
 
Using & Abusing APIs: An Examination of the API Attack Surface
Using & Abusing APIs: An Examination of the API Attack SurfaceUsing & Abusing APIs: An Examination of the API Attack Surface
Using & Abusing APIs: An Examination of the API Attack Surface
 
SEC304 Advanced Techniques for DDoS Mitigation and Web Application Defense
SEC304 Advanced Techniques for DDoS Mitigation and Web Application DefenseSEC304 Advanced Techniques for DDoS Mitigation and Web Application Defense
SEC304 Advanced Techniques for DDoS Mitigation and Web Application Defense
 
Wakanda and the top 5 security risks - JS.everyrwhere(2012) Europe
Wakanda and the top 5 security risks - JS.everyrwhere(2012) EuropeWakanda and the top 5 security risks - JS.everyrwhere(2012) Europe
Wakanda and the top 5 security risks - JS.everyrwhere(2012) Europe
 
Altitude SF 2017: Security at the edge
Altitude SF 2017: Security at the edgeAltitude SF 2017: Security at the edge
Altitude SF 2017: Security at the edge
 
How to Harden the Security of Your .NET Website
How to Harden the Security of Your .NET WebsiteHow to Harden the Security of Your .NET Website
How to Harden the Security of Your .NET Website
 
Secure SDLC for Software
Secure SDLC for Software Secure SDLC for Software
Secure SDLC for Software
 
Realities of Security in the Cloud
Realities of Security in the CloudRealities of Security in the Cloud
Realities of Security in the Cloud
 
Web Application Penetration Test
Web Application Penetration TestWeb Application Penetration Test
Web Application Penetration Test
 
Best Practices for Security at Scale
Best Practices for Security at Scale Best Practices for Security at Scale
Best Practices for Security at Scale
 
Owasp top-ten-mapping-2015-05-lwc
Owasp top-ten-mapping-2015-05-lwcOwasp top-ten-mapping-2015-05-lwc
Owasp top-ten-mapping-2015-05-lwc
 
Vulnerabilities in modern web applications
Vulnerabilities in modern web applicationsVulnerabilities in modern web applications
Vulnerabilities in modern web applications
 
Css sf azure_8-9-17-protecting_web_apps_stephen coty_al
Css sf azure_8-9-17-protecting_web_apps_stephen coty_alCss sf azure_8-9-17-protecting_web_apps_stephen coty_al
Css sf azure_8-9-17-protecting_web_apps_stephen coty_al
 
CSS17: Houston - Protecting Web Apps
CSS17: Houston - Protecting Web AppsCSS17: Houston - Protecting Web Apps
CSS17: Houston - Protecting Web Apps
 
Web Server Technologies II: Web Applications & Server Maintenance
Web Server Technologies II: Web Applications & Server MaintenanceWeb Server Technologies II: Web Applications & Server Maintenance
Web Server Technologies II: Web Applications & Server Maintenance
 

More from Lohika_Odessa_TechTalks

Design and Evolution of APIs in Microservice Architecture
Design and Evolution of APIs in Microservice ArchitectureDesign and Evolution of APIs in Microservice Architecture
Design and Evolution of APIs in Microservice Architecture
Lohika_Odessa_TechTalks
 
Micro-frontends – is it a new normal?
Micro-frontends – is it a new normal?Micro-frontends – is it a new normal?
Micro-frontends – is it a new normal?
Lohika_Odessa_TechTalks
 
Selenium with py test by Alexandr Vasyliev for Lohika Odessa Python TechTalks
Selenium with py test by Alexandr Vasyliev for Lohika Odessa Python TechTalksSelenium with py test by Alexandr Vasyliev for Lohika Odessa Python TechTalks
Selenium with py test by Alexandr Vasyliev for Lohika Odessa Python TechTalks
Lohika_Odessa_TechTalks
 

More from Lohika_Odessa_TechTalks (20)

OAuth2 Authorization Server Under the Hood
OAuth2 Authorization Server Under the HoodOAuth2 Authorization Server Under the Hood
OAuth2 Authorization Server Under the Hood
 
Debugging Microservices - key challenges and techniques - Microservices Odesa...
Debugging Microservices - key challenges and techniques - Microservices Odesa...Debugging Microservices - key challenges and techniques - Microservices Odesa...
Debugging Microservices - key challenges and techniques - Microservices Odesa...
 
Design and Evolution of APIs in Microservice Architecture
Design and Evolution of APIs in Microservice ArchitectureDesign and Evolution of APIs in Microservice Architecture
Design and Evolution of APIs in Microservice Architecture
 
Micro-frontends – is it a new normal?
Micro-frontends – is it a new normal?Micro-frontends – is it a new normal?
Micro-frontends – is it a new normal?
 
Multithreading in go
Multithreading in goMultithreading in go
Multithreading in go
 
Druid - Interactive Analytics At Scale
Druid - Interactive Analytics At ScaleDruid - Interactive Analytics At Scale
Druid - Interactive Analytics At Scale
 
DevOps Odessa #TechTalks 21.01.2020
DevOps Odessa #TechTalks 21.01.2020DevOps Odessa #TechTalks 21.01.2020
DevOps Odessa #TechTalks 21.01.2020
 
Jenkins' shared libraries in action
Jenkins' shared libraries in actionJenkins' shared libraries in action
Jenkins' shared libraries in action
 
Prometheus: infrastructure and application monitoring in kubernetes cluster
Prometheus: infrastructure and application monitoring in kubernetes clusterPrometheus: infrastructure and application monitoring in kubernetes cluster
Prometheus: infrastructure and application monitoring in kubernetes cluster
 
Architectural peripherals of react by Vadym Zhiltsov
Architectural peripherals of react by Vadym ZhiltsovArchitectural peripherals of react by Vadym Zhiltsov
Architectural peripherals of react by Vadym Zhiltsov
 
React native by example by Vadim Ruban
React native by example by Vadim RubanReact native by example by Vadim Ruban
React native by example by Vadim Ruban
 
Aws lambda by Leonid Amigud
Aws lambda by Leonid AmigudAws lambda by Leonid Amigud
Aws lambda by Leonid Amigud
 
Congratulations, you have been promoted to a manager role. You`ve got new pro...
Congratulations, you have been promoted to a manager role. You`ve got new pro...Congratulations, you have been promoted to a manager role. You`ve got new pro...
Congratulations, you have been promoted to a manager role. You`ve got new pro...
 
"Don't touch me and give me my money" or how motivate people who can but don...
"Don't touch me and give me my money" or  how motivate people who can but don..."Don't touch me and give me my money" or  how motivate people who can but don...
"Don't touch me and give me my money" or how motivate people who can but don...
 
Docker based Architecture by Denys Serdiuk
Docker based Architecture by Denys SerdiukDocker based Architecture by Denys Serdiuk
Docker based Architecture by Denys Serdiuk
 
SparkSpark in the Big Data dark by Sergey Levandovskiy
SparkSpark in the Big Data dark by Sergey Levandovskiy  SparkSpark in the Big Data dark by Sergey Levandovskiy
SparkSpark in the Big Data dark by Sergey Levandovskiy
 
Burnout and how to avoid it in your team. Responsible person's issue by Andre...
Burnout and how to avoid it in your team. Responsible person's issue by Andre...Burnout and how to avoid it in your team. Responsible person's issue by Andre...
Burnout and how to avoid it in your team. Responsible person's issue by Andre...
 
Performance evaluation process as a way to empower your employees and help th...
Performance evaluation process as a way to empower your employees and help th...Performance evaluation process as a way to empower your employees and help th...
Performance evaluation process as a way to empower your employees and help th...
 
Selenium with py test by Alexandr Vasyliev for Lohika Odessa Python TechTalks
Selenium with py test by Alexandr Vasyliev for Lohika Odessa Python TechTalksSelenium with py test by Alexandr Vasyliev for Lohika Odessa Python TechTalks
Selenium with py test by Alexandr Vasyliev for Lohika Odessa Python TechTalks
 
" Performance testing for Automation QA - why and how " by Andrey Kovalenko f...
" Performance testing for Automation QA - why and how " by Andrey Kovalenko f..." Performance testing for Automation QA - why and how " by Andrey Kovalenko f...
" Performance testing for Automation QA - why and how " by Andrey Kovalenko f...
 

Recently uploaded

Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
ciinovamais
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
QucHHunhnh
 

Recently uploaded (20)

General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
Role Of Transgenic Animal In Target Validation-1.pptx
Role Of Transgenic Animal In Target Validation-1.pptxRole Of Transgenic Animal In Target Validation-1.pptx
Role Of Transgenic Animal In Target Validation-1.pptx
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-IIFood Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 

"WEB applications security testing" by Kirill Semenov for Lohika Odessa QA TechTalks

Editor's Notes

  1. Иными словами: Нарушение функциональности: НЕвозможность получения санкционированного доступа к функциям и данным системы Нарушение защищенности: возможность получения НЕсанкционированного доступа к данным и функциям
  2. 1) Fuzzing-proxy, f.e. Fiddler (intercepting proxy). Fuzzing - перебор всех возможных векторов атаки Manual security code review (debugger) 2) White box-code scanners (HP Fortify) 3) Комбинейшн-ввод вредоносных данных извне (i,.e. блек бокс)+отслеживание обработки приложением этих данных (вайт бокс) 4) Black box-fuzzers (HP Web inspect)
  3. XHTTP-Extended HTTP – все запросы и ответы отправляются исключительно в headers. Остальные данные передаются через XML. Все функции HTTP типа TLS, аутентификации и др. oстаются неизменными
  4. Методы защиты-одни из многих. Простые для проверки. Говорим о них так как время ограничено, соответственно рассматриваем только какие-то конкретные ПОСТ в ГЕТ-уязвимость работает только для простых параметров, не работает для XML JSON и любой другой формы данных Происходит в силу SOAP/REST-работают с XML JSON а не просто с HTML Валидаторы должны быть на обеих сторонах-клиента и сервера. Например, может показывать клиенту что что-то делать нельзя, но по факту это делать можно. Если обошли ограничения на клиенте, сервер не должен пропускать этот обход. (отправили с клиента вредоносное, но сервер ее все равно не принял)
  5. Clear request Headers – Slow POST - http://habrahabr.ru/post/116056/
  6. Код иньекция– компилируемые языки . По сути ломает машину , которая хостит веб-серер(ис) Xpath-говорит иксемелю откуда брать данные. Контролируя икспас можно указывать серверу какие данные выбирать, например для сравнения.
  7. Special symbols-Можно создать White list-список только разрешенных символов, которые можно использовать. Validators + Parametrized query=defense in depth-несколько уровней защиты Parametrized query example: $request = sql_prepare('insert into table(name) values(:1)'); sql_execute($request, Array('Вася')); Так мы отдельно задаем запрос, вместо данных подставляя в него номера связываемых переменных (:1, :2,...)
  8. К удобству пользования фиддлером-можно посмотреть время отклика страницы до тысячной секунды.
  9. Code injection-слишком круто для создания просто файлика на машине которая хостит веб-серис. Так как код иньекция тотально деструктивна в целом.
  10. Пример-доступ к важному файлу осуществляется по ссылке.допустим видит ее только админ, но если ее получит не админ, он так же само может пройти по ней
  11. crossdomain.xml-A cross-domain policy file is an XML document that grants a web client permission to handle data across domains clientaccesspolicy.xml-то же самое
  12. А10-доверительбный сайт-внутри ссылки редирект на левый сайт-кража логин\пароль-редирект на доверительный сайт. Юзер ниче не заметил, креды украли. Запрещать редиректы на сторонние сайты На клиента существует множество атак, но мы рассматриваем ОВАСП топ 10, где на КС всего несколько атак
  13. Special symbols-html encoding кодировка всех символов, с помощью которых можно сделать теги. Можно создать white list-список только разрешенных тегов, которые можно использовать.
  14. Хтмл инсайд-во все формы, которые рефлектяться пользователю.все что контролируется пользователем и выводится на страничке.
  15. Юзер проходит по ссылке, содержащей невалидный редирект, попадает на вредоносный сайт с тем же интерфейсом и вводит личные данные. Затем редиректиться обратно на доверительный сайт.пользователь ничего не заметил, данные украдены
  16. SOAP — Simple Object Access Protocol REST-Representational State Transfer SOAP-может использовать другие протоколы, например SMTP. На практике это реализуется достаточно сложно http://habrahabr.ru/post/75248/ - SOAP vs REST
  17. OWASP SS vulnerabilities Programming language helps to automate routine tasks