52
Web Application Penetration Testing https://ubcert.ir 2019/11/04

Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open Redirect Create/use Whitelist ... Google Dork –Wordpress Deface 43

  • Upload
    others

  • View
    5

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open Redirect Create/use Whitelist ... Google Dork –Wordpress Deface 43

Web Application

Penetration Testing

https://ubcert.ir 2019/11/04

Page 2: Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open Redirect Create/use Whitelist ... Google Dork –Wordpress Deface 43

Outline

2

▰ Introduction

▰ About Web Penetration Testing

▰ OWASP

▻ ASVS

▻ OWASP Top 10

▰ About HTTP

▰ Common Vulnerability

▰ Information Gathering

▰ Penetration Testing Report & Contract

▰ Attack Scenario

Page 3: Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open Redirect Create/use Whitelist ... Google Dork –Wordpress Deface 43

Introduction

▰ Holding Workshops - UBCERT

▰ Why Web Penetration Testing

3

Page 4: Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open Redirect Create/use Whitelist ... Google Dork –Wordpress Deface 43

Deface

4

1%

99%

IR Deface vs Total Deface – Summer 98

Page 5: Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open Redirect Create/use Whitelist ... Google Dork –Wordpress Deface 43

Methodology

▰ Ethical Hacking

▰ Penetration Testing

▰ Vulnerability Assessment

▰ Security Audit

▰ Standard

5

Page 6: Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open Redirect Create/use Whitelist ... Google Dork –Wordpress Deface 43

Type of Penetration Testing

6

Gray Box

Testing

White Box

Testing

Black Box

Testing

Page 7: Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open Redirect Create/use Whitelist ... Google Dork –Wordpress Deface 43

Penetration Testing Limits

7

▰ Confidentiality of Data

▰ Timing Limitation

▰ Tools Restrictions

▰ Avoid DOS Attack

Page 8: Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open Redirect Create/use Whitelist ... Google Dork –Wordpress Deface 43

Priority of Vulnerability

8

▰ P1: Critical

▰ P2: High

▰ P3: Medium

▰ P4: Low

▰ P5: Information

Vulnerability List

CWE(Common Weakness Enumeration)

https://cwe.mitre.org/index.html

Page 9: Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open Redirect Create/use Whitelist ... Google Dork –Wordpress Deface 43

OWASP

9

▰ OWASP Tools Project:

▻ ZAP: Zed Attacker Project

▻ BWA : Broken Web Application

▻ DIR Buster

▻ SQLiX

▻ Web Scarab

▰ OWASP Code Project:

▻ ModSecurity : Cure Rule Set

▻ OWASP CSRFGuard

▰ OWASP Documentation Project:

▻ ASVS: Application Security

Verification Standard

▻ OWASP Top 10

▻ OWASP Testing Guide

Page 10: Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open Redirect Create/use Whitelist ... Google Dork –Wordpress Deface 43

OWASP ASVS Certificate

10

▰ OWASP ASVS:

▻ Web Application

▻ Server Configuration

▻ Mobile Client

▻ Web Service

▻ Communication

Page 11: Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open Redirect Create/use Whitelist ... Google Dork –Wordpress Deface 43

OWASP ASVS - File Upload

11

V12.1 File Upload Requirements

Although zip bombs are eminently testable using penetration testing techniques, they are considered L2 and above to encourage design and development consideration with careful manual testing, and to avoid automated or unskilled manual penetration testing of a denial of service condition.

# Description L1 L2 L3 CWE

12.1.1 Verify that the application will not accept large files that could fill up storage or cause a denial of service attack.

✓ ✓ ✓ 400

12.1.2 Verify that compressed files are checked for "zip bombs" - small input files that will decompress into huge files thus exhausting file storage limits.

✓ ✓ 409

12.1.3 Verify that a file size quota and maximum number of files per user is enforced to ensure that a single user cannot fill up the storage with too many files, or excessively large files.

✓ ✓ 770

Page 12: Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open Redirect Create/use Whitelist ... Google Dork –Wordpress Deface 43

OWASP Top 10

12

▰ OWASP Project

Page 13: Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open Redirect Create/use Whitelist ... Google Dork –Wordpress Deface 43

OWASP Top 10

13

Page 14: Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open Redirect Create/use Whitelist ... Google Dork –Wordpress Deface 43

OWASP Top 10 vs OWASP ASVS

14

Page 15: Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open Redirect Create/use Whitelist ... Google Dork –Wordpress Deface 43

OWASP BWA

15

Download :

https://sourceforge.net/proj

ects/owaspbwa/files

Page 16: Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open Redirect Create/use Whitelist ... Google Dork –Wordpress Deface 43

OWASP Check List

▰ https://www.owasp.org/index.php/OWASP_Testing_Guide_v4_Table_of_Contents

▰ https://github.com/0xRadi/OWASP-Web-Checklist

16

Page 17: Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open Redirect Create/use Whitelist ... Google Dork –Wordpress Deface 43

About HTTP

17

Page 18: Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open Redirect Create/use Whitelist ... Google Dork –Wordpress Deface 43

HTTP

18

Page 19: Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open Redirect Create/use Whitelist ... Google Dork –Wordpress Deface 43

HTTP Request (Header)

▰ Host

▰ User Agent

▰ Cookie

▰ Refer

▰ Accept-Encoding

▰ Tools: HTTP Proxy , Live HTTP Header

19

Page 20: Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open Redirect Create/use Whitelist ... Google Dork –Wordpress Deface 43

HTTP Response

▰ Status Code (1xx , 2xx , 3xx , 4xx , 5xx)

▻ https://developer.mozilla.org/en-US/docs/Web/HTTP/Status

▰ Set-cookie

▰ Server

▰ Content-Length

▰ X-Power

20

telnet ubcert.ir:80GET / HTTP/1.1Host: ubcert.ir

Page 21: Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open Redirect Create/use Whitelist ... Google Dork –Wordpress Deface 43

21

HTTP Request/Response

Page 22: Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open Redirect Create/use Whitelist ... Google Dork –Wordpress Deface 43

HTTP Response – Status Code

▰ Status Code (1xx , 2xx , 3xx , 4xx , 5xx)

▻ https://developer.mozilla.org/en-US/docs/Web/HTTP/Status

▰ Informational responses (100–199),

▰ Successful responses (200–299),

▰ Redirects (300–399),

▰ Client errors (400–499),

▰ and Server errors (500–599). 22

Page 23: Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open Redirect Create/use Whitelist ... Google Dork –Wordpress Deface 43

HTTP Method

▰ GET: url,255

▰ Post

▰ Head

▰ Trace

▰ Put , Delete

▰ Option

▻ nmap --script http-methods ubcert.ir23

Request:DELETE /mysql/database.sql HTTP/1.1

Response:HTTP/1.1 200 OK

Date: Wed, 21 Oct 2019 07:28:00 GMT

<html>

<body>

<h1>File deleted.</h1>

</body>

</html>

Page 24: Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open Redirect Create/use Whitelist ... Google Dork –Wordpress Deface 43

HTTP Method

24

--script http-methods

Page 25: Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open Redirect Create/use Whitelist ... Google Dork –Wordpress Deface 43

HTTP/S Proxy

25

Page 26: Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open Redirect Create/use Whitelist ... Google Dork –Wordpress Deface 43

Cookie

▰ HTTP Stateless

▰ session id

▻ PHPID

▻ .ASPXAUTH

▰ Set-cookie

26

Page 27: Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open Redirect Create/use Whitelist ... Google Dork –Wordpress Deface 43

Cookie - continue

▰ Persistent

▻ IE: C:\Users\User\AppData\Local\Microsoft

\Windows\INetCache

▻ Chrome: sqlite3

▰ Non-persistent

▰ Cookie parameter

Domain Path

http only Secure

Expire 27

Page 28: Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open Redirect Create/use Whitelist ... Google Dork –Wordpress Deface 43

Cookie - continue

28

Page 29: Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open Redirect Create/use Whitelist ... Google Dork –Wordpress Deface 43

HTTP/1.1 vs HTTP/2

▰ HTTP/1.1▰ HTTP Header Field:▰ https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html

▰ HTTP/2

▰ Binary Data

▰ Asynchronous

▰ Compressed

▰ and…

▰ HTTPS 29

Page 30: Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open Redirect Create/use Whitelist ... Google Dork –Wordpress Deface 43

Common Vulnerability

30

Page 31: Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open Redirect Create/use Whitelist ... Google Dork –Wordpress Deface 43

Injection

▰ Critical / High Vulnerability

▰ SQL Injection

▰ Command Injection

▰ LDAP Injection

▰ OS Injection/shell

▰ Xpath

▰ …

31

Page 32: Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open Redirect Create/use Whitelist ... Google Dork –Wordpress Deface 43

Injection

32

Select * from employee where userid=‘112’ and password=‘aaa’

Select * from employee where userid=‘112’ and password=‘aaa’ OR ‘1’=‘1‘

Page 33: Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open Redirect Create/use Whitelist ... Google Dork –Wordpress Deface 43

Injection

▰ Critical / High Vulnerability

33

Page 34: Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open Redirect Create/use Whitelist ... Google Dork –Wordpress Deface 43

Prevent Injection Attack

▰ Input Validation

▰ Escape Special Characters

▰ White List

▰ Black List

34

Page 35: Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open Redirect Create/use Whitelist ... Google Dork –Wordpress Deface 43

Broken Authentication

▰ High Vulnerability

▰ State:

▰ Cookie in Client Side

▰ Session in Server Side

▰ Session Hijacking:

▻ Packet Sniffing

▻ Proxy / Http Referrer Log

35

Page 36: Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open Redirect Create/use Whitelist ... Google Dork –Wordpress Deface 43

Broken Authentication

▰ Vulnerable:

▰ User credential not protected with hash & encryption

▰ Ex: user id, user name ,… >>> ali13980730

▰ Session id guessed

▰ Session id exposed in URL

▰ Session id send over http (unencrypt connection)

▰ Session are not expired (time out)

36

Page 37: Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open Redirect Create/use Whitelist ... Google Dork –Wordpress Deface 43

Prevent Broken Authentication

▰ Multi factor Auth

▰ Password checking

▰ Limit failed login

▰ Session timeout

37

Page 38: Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open Redirect Create/use Whitelist ... Google Dork –Wordpress Deface 43

XSS

▰ High Vulnerability

▰ Type XSS

▰ Reflected

▰ Stored XSS

▰ DOM-Based

38

Page 39: Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open Redirect Create/use Whitelist ... Google Dork –Wordpress Deface 43

Prevent XSS Attack

▰ Input Validation

▰ Escape Special Characters

▰ White list

39

Page 40: Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open Redirect Create/use Whitelist ... Google Dork –Wordpress Deface 43

Open Redirect

▰ Medium Vulnerability

▰ http://shaprak.ir?url=shaaprak.com

▰ Using for phishing

▰ Run malicious script

▰ Session hijacking

40

Page 41: Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open Redirect Create/use Whitelist ... Google Dork –Wordpress Deface 43

Prevent Open Redirect

▰ Create/use Whitelist▻ http://example.com/?url=http://[email protected]

▻ http://example.com/?url=ubcert.ir&url=attacker.com

▻ http://www.ubcert.ir/http://www.attacker.com/

▰ ASP.Net:

➢ url.IsLocalUrl()

▰ PHP:

➢ Prevent http: or https:41

Page 42: Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open Redirect Create/use Whitelist ... Google Dork –Wordpress Deface 43

Using Components with known vulnerabilities

▰ Medium/High Vulnerability

▰ Component with vulnerability

▻ Wordpress plugin

▻ CMS such as drupal, joomla,…

▻ .Net component

▻ Php frameworks

▻ And …42

Page 43: Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open Redirect Create/use Whitelist ... Google Dork –Wordpress Deface 43

Google Dork – Wordpress Deface

43

▰ GHDB

▻ https://www.exploit-db.com/google-hacking-database

▰ Wordpress Deface:

▻ Formcraft Plugin

Page 44: Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open Redirect Create/use Whitelist ... Google Dork –Wordpress Deface 43

Prevent Components Vulnerabilities

▰ Identify component version

▰ Upgrade cms

▰ Update plugins

▰ Update jquery plugin

44

Page 45: Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open Redirect Create/use Whitelist ... Google Dork –Wordpress Deface 43

CSRF

▰ Medium Vulnerability

▰ User must be logged in

▰ Attacker forges request as

trusted user/admin

45

Page 46: Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open Redirect Create/use Whitelist ... Google Dork –Wordpress Deface 43

Prevent CSRF

▰ Use Post Method

▰ Use token in session

▰ Get Confirm

46

Page 47: Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open Redirect Create/use Whitelist ... Google Dork –Wordpress Deface 43

Sensitive Data Exposure

▰ Low/Medium Vulnerability

▰ Information in Database

▰ Personal data

▰ Weak cipher

▰ Encrypt sensitive data

▰ Strong cipher

47

Page 48: Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open Redirect Create/use Whitelist ... Google Dork –Wordpress Deface 43

Information Gathering

48

Page 49: Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open Redirect Create/use Whitelist ... Google Dork –Wordpress Deface 43

Subdomains

49

▰ Sublist3r

▻ https://github.com/aboul3la/Sublist3r

Page 50: Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open Redirect Create/use Whitelist ... Google Dork –Wordpress Deface 43

whatweb

50

>Whatweb –v ubcert.ir

Page 51: Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open Redirect Create/use Whitelist ... Google Dork –Wordpress Deface 43

Robots.txt

51

▰ robots.txt

▻ http://example.com/robots.txt

Page 52: Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open Redirect Create/use Whitelist ... Google Dork –Wordpress Deface 43

52

THANKS!Any questions?