Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open...

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

Transcript of Web Application Penetration Testing · Run malicious script Session hijacking 40. Prevent Open...

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?