SlideShare ist ein Scribd-Unternehmen logo
1 von 75
Downloaden Sie, um offline zu lesen
Hands-On Ethical
Hacking and
Network Defense

3rd Edition
Chapter 10
Hacking Web Servers
Revised 11-8-17
Objectives
• Describe Web applications
• Explain Web application vulnerabilities
• Describe the tools used to attack Web
servers
Client’s Browser
Internet Explorer
or Firefox
Web Server
IIS or Apache
HTTP
HTTPS
Web Servers
• The three main Web servers are nginx and Apache
(Open source) & IIS (Microsoft)
■ Link Ch 10c (image from 11-8-17)
Understanding Web Applications
• It is nearly impossible to write a program
without bugs
• Some bugs create security vulnerabilities
• Web applications also have bugs
• Web applications have a larger user base than
standalone applications
• Bugs are a bigger problem for Web
applications
Web Application Components
• Static Web pages
• Created using HTML
• Dynamic Web pages
• Need special components
• <form> tags
• Common Gateway Interface (CGI) scripts
• Active Server Pages (ASP)
• PHP
• ColdFusion
• Scripting languages like JavaScript
• ODBC (Open Database connector)
Web Forms
• Use the <form> element or tag in an HTML
document
• Allows customer to submit information to the
Web server
• Web servers process information from a
Web form by using a Web application
• Easy way for attackers to intercept data
that users submit to a Web server
8
9
HTML Form
Client’s Browser
HTML Forms
JavaScript
Web Server
CGI Scripts
HTTP
HTTPS
Common Gateway Interface
(CGI)
• Handles moving data from a Web server
to a Web browser
• The majority of dynamic Web pages are
created with CGI and scripting languages
• Describes how a Web server passes data
to a Web browser
• Relies on Perl or another scripting language
to create dynamic Web pages
CGI Languages
• CGI programs can be written in different
programming and scripting languages
• C or C++
• Perl
• Unix shell scripting
• Visual Basic
• FORTRAN
Common Gateway Interface
(CGI) (continued)
• CGI example
■ Written in Perl
■ Hello.pl
■ Should be placed in the cgi-bin directory on the
Web server
#!/usr/bin/perl
print "Content-type: text/htmlnn";
print "Hello Security Testers!";
14
15
Active Server Pages (ASP)
• Microsoft’s server-side script engine
• HTML pages are static—always the same
• ASP creates HTML pages as needed. They are
not static
• ASP uses scripting languages such as
JScript or VBScript
• Not all Web servers support ASP
• IIS supports ASP
• Apache doesn’t support ASP as well
Active Server Pages (ASP)
• You can’t see
the source of
an ASP page
from a browser
• This makes it
harder to hack
into, although not
impossible
• ASP examples at
links 

Ch 10d, e, f
Apache Web Server
• Apache is the most popular Web Server
program
• Advantages
• Stable and reliable
• Works on just about any *NIX and Windows
platform
• It is free and open source
• See links Ch 10g, 10h
Using Scripting Languages
• Dynamic Web pages can be developed
using scripting languages
• VBScript
• JavaScript
• PHP
PHP: Hypertext Processor (PHP)
• Enables Web developers to create dynamic Web
pages
• Similar to ASP
• Open-source server-side scripting language
• Can be embedded in an HTML Web page using PHP
tags <?php and ?>
• Users cannot see PHP code in their Web browser
• Used primarily on UNIX systems
• Also supported on Macintosh and Microsoft platforms
PHP Example
<html><head><title>Example</title></head>
<body>
<?php
echo 'Hello, World!';
?>
</body></html>
■ See links Ch 10k, 10l
• PHP has known vulnerabilities
• See links Ch 10m, 10n
• PHP is often used with MySQL Databases
ColdFusion
• Server-side scripting language used to
develop dynamic Web pages
• Created by the Allaire Corporation
• Purchased by Macromedia, now owned by
Adobe -- Expensive
• Uses its own proprietary tags written in
ColdFusion Markup Language (CFML)
• CFML Web applications can contain other
technologies, such as HTML or JavaScript
ColdFusion Example
<html><head><title>Ex</title></head>
<body>
<CFLOCATION URL="www.isecom.org/cf/
index.htm" ADDTOKEN="NO">
</body>
</html>
■ See links Ch 10o
ColdFusion Vulnerabilities
• See links Ch 10p, 10q
VBScript
• Visual Basic Script is a scripting language
developed by Microsoft
• You can insert VBScript commands into a
static HTML page to make it dynamic
• Provides the power of a full programming
language
• Executed by the client’s browser
VBScript Example
<html><body>
<script type="text/vbscript">
document.write("<h1>Hello!</h1>")
document.write("Date Activated: " &
date())
</script>
</body></html>
• See link Ch 10r – works in IE, but not in Firefox
• Firefox does not support VBScript (link Ch 10s)
VBScript vulnerabilities
■ See links Ch 10t, 10u
JavaScript
• Popular scripting language
• JavaScript also has the power of a
programming language
• Branching
• Looping
• Testing
JavaScript Example
<html><head>
<script type="text/javascript">
function chastise_user(){
alert("So, you like breaking rules?")
document.getElementByld("cmdButton").focus(
)}
</script></head>
<body><h3>Don't click the button!</h3>
<form>
<input type="button" value="Don't Click!"
name="cmdButton"
onClick="chastise_user()" />
</form></body></html>
■ See link Ch 10v – works in IE and Firefox
JavaScript Vulnerabilities
See link Ch 10w
31
Popularity of
Programming
Languages
See link Ch 10zs
32
1
Client’s Browser
HTTPorHTTPSWeb Server
Apache or IIS
HTML Forms
CGI Scripts
Database
SQL Server or
Oracle or
MySQL
ODBC or
OLE DB
Or ADO
Connecting to Databases
• Web pages can display information stored
on databases
• There are several technologies used to
connect databases with Web applications
• Technology depends on the OS used
• ODBC
• OLE DB
• ADO
• Theory is the same
Open Database Connectivity (ODBC)
• Standard database access method developed
by the SQL Access Group
• ODBC interface allows an application to
access
• Data stored in a database management system
(DBMS)
• Can use Oracle, SQL, or any DBMS that
understands and can issue ODBC commands
• Interoperability among back-end DBMS is a
key feature of the ODBC interface
Open Database Connectivity (ODBC)
(continued)
• ODBC defines
• Standardized representation of data types
• A library of ODBC functions
• Standard methods of connecting to and logging
on to a DBMS
OLE DB and ADO
• Object Linking and Embedding Database
(OLE DB) and
• ActiveX Data Objects (ADO)
• These two more modern, complex technologies
replace ODBC and make up"Microsoft’s
Universal Data Access“
• See link Ch 10x
Understanding Web Application
Vulnerabilities
• Many platforms and programming
languages can be used to design a Web
site
• Application security is as important as
network security
Attackers controlling a Web server can
■ Deface the Web site
■ Destroy or steal company’s data
■ Gain control of user accounts
■ Perform secondary attacks from the Web site
■ Gain root access to other applications or
servers
Open Web Application Security Project
(OWASP)
■ Open, not-for-profit organization dedicated to
finding and fighting vulnerabilities in Web
applications
■ Publishes the Ten Most Critical Web
Application Security Vulnerabilities
41
42
43
Java Serialization
■ Link Ch 10zt
Cross-Site Scripting (XSS)
● One client posts active content, with <script> tags or
other programming content
● When another client reads the messages, the scripts
are executed in his or her browser
● One user attacks another user, using the vulnerable
Web application as a weapon
49
● <script>alert("XSS vulnerability!")</script>
● <script>alert(document.cookie)</script>
● <script>window.location="http://www.ccsf.edu"</script>
50
XSS Scripting Effects
● Steal another user's authentication cookie
● Hijack session
● Harvest stored passwords from the target's browser
● Take over machine through browser vulnerability
● Redirect Webpage
● Many, many other evil things…
51
Assessing Web Applications
• Issues to consider
• Dynamic Web pages
• Connection to a backend database server
• User authentication
• What platform was used?
Does the Web Application Use
Dynamic Web Pages?
• Static Web pages do not create a secure
environment
• IIS attack example: Directory Traversal
• Adding .. to a URL refers to a directory above
the Web page directory
• Early versions of IIS filtered out , but not
%c1%9c, which is a Unicode version of the
same character
• See link Ch 10 zh
Connection to a Backend Database
Server
• Security testers should check for the
possibility of SQL injection being used to
attack the system
• SQL injection involves the attacker
supplying SQL commands on a Web
application field
SQL Injection Example
HTML form collects name and pw
SQL then uses those fields:
SELECT * FROM customer
WHERE username = 'name' AND password = 'pw'
If a hacker enters a name of
' OR 1=1 --
The SQL becomes:
SELECT * FROM customer
WHERE username ='' OR 1=1 --' AND password =
'pw'
Which is always true, and returns all the records
51
Connection to a Backend Database
Server
• Basic testing should look for
• Whether you can enter text with punctuation
marks
• Whether you can enter a single quotation mark
followed by any SQL keywords
• Whether you can get any sort of database error
when attempting to inject SQL
User Authentication
• Many Web applications require another
server to authenticate users
• Examine how information is passed
between the two servers
• Encrypted channels
• Verify that logon and password information
is stored on secure places
• Authentication servers introduce a second
target
What Platform Was Used?
• Popular platforms include:
• IIS with ASP and SQL Server (Microsoft)
• Linux, Apache, MySQL, and PHP (LAMP)
• Footprinting is used to find out the platform
• The more you know about a system the easier
it is to gather information about its
vulnerabilities
SQLI on Pastebin
56
58
59
Tools of Web Attackers and Security
Testers
• Choose the right tools for the job
• Attackers look for tools that enable them to
attack the system
• They choose their tools based on the
vulnerabilities found on a target system or
application
Web Tools
• Firefox and Chrome Developer Tools
• View parameters and cookies
• Modify and resend requests
• BurpSuite
• Powerful proxy used for Web App
hacking
• Zed Attack Proxy
• Can do simple vulnerability scans
Nikto
• Free, specialized for web apps
70
Nessus
• Commercial, thorough and popular
• Open-source fork is OpenVAS
71
Nessus
72
Nessus
W3af (Free, in Kali)
Skipfish from Google (Free)
75
2

Weitere ähnliche Inhalte

Was ist angesagt?

Open Source Forensics
Open Source ForensicsOpen Source Forensics
Open Source Forensics
CTIN
 
Network Security Nmap N Nessus
Network Security Nmap N NessusNetwork Security Nmap N Nessus
Network Security Nmap N Nessus
Utkarsh Verma
 

Was ist angesagt? (20)

DDoS Attacks
DDoS AttacksDDoS Attacks
DDoS Attacks
 
Protection in general purpose operating system
Protection in general purpose operating systemProtection in general purpose operating system
Protection in general purpose operating system
 
Linux security
Linux securityLinux security
Linux security
 
Apache web server
Apache web serverApache web server
Apache web server
 
OWASP Top 10 2021 What's New
OWASP Top 10 2021 What's NewOWASP Top 10 2021 What's New
OWASP Top 10 2021 What's New
 
Introduction to penetration testing
Introduction to penetration testingIntroduction to penetration testing
Introduction to penetration testing
 
Open Source Forensics
Open Source ForensicsOpen Source Forensics
Open Source Forensics
 
CISSP Prep: Ch 7. Security Assessment and Testing
CISSP Prep: Ch 7. Security Assessment and TestingCISSP Prep: Ch 7. Security Assessment and Testing
CISSP Prep: Ch 7. Security Assessment and Testing
 
Network Security Nmap N Nessus
Network Security Nmap N NessusNetwork Security Nmap N Nessus
Network Security Nmap N Nessus
 
Security vulnerability
Security vulnerabilitySecurity vulnerability
Security vulnerability
 
Snort ppt
Snort pptSnort ppt
Snort ppt
 
Introduction To Exploitation & Metasploit
Introduction To Exploitation & MetasploitIntroduction To Exploitation & Metasploit
Introduction To Exploitation & Metasploit
 
Understanding NMAP
Understanding NMAPUnderstanding NMAP
Understanding NMAP
 
CNIT 126 2: Malware Analysis in Virtual Machines & 3: Basic Dynamic Analysis
CNIT 126 2: Malware Analysis in Virtual Machines & 3: Basic Dynamic AnalysisCNIT 126 2: Malware Analysis in Virtual Machines & 3: Basic Dynamic Analysis
CNIT 126 2: Malware Analysis in Virtual Machines & 3: Basic Dynamic Analysis
 
Module 19 (evading ids, firewalls and honeypots)
Module 19 (evading ids, firewalls and honeypots)Module 19 (evading ids, firewalls and honeypots)
Module 19 (evading ids, firewalls and honeypots)
 
Ch 1: Web Application (In)security & Ch 2: Core Defense Mechanisms
Ch 1: Web Application (In)security & Ch 2: Core Defense Mechanisms Ch 1: Web Application (In)security & Ch 2: Core Defense Mechanisms
Ch 1: Web Application (In)security & Ch 2: Core Defense Mechanisms
 
Linux booting process - Linux System Administration
Linux booting process - Linux System AdministrationLinux booting process - Linux System Administration
Linux booting process - Linux System Administration
 
Metasploit framework in Network Security
Metasploit framework in Network SecurityMetasploit framework in Network Security
Metasploit framework in Network Security
 
Ch 5: Port Scanning
Ch 5: Port ScanningCh 5: Port Scanning
Ch 5: Port Scanning
 
Wireshark
WiresharkWireshark
Wireshark
 

Andere mochten auch

TCPdump-Wireshark
TCPdump-WiresharkTCPdump-Wireshark
TCPdump-Wireshark
Harsh Singh
 

Andere mochten auch (13)

TCPdump-Wireshark
TCPdump-WiresharkTCPdump-Wireshark
TCPdump-Wireshark
 
CNIT 141: 9. Elliptic Curve Cryptosystems
CNIT 141: 9. Elliptic Curve CryptosystemsCNIT 141: 9. Elliptic Curve Cryptosystems
CNIT 141: 9. Elliptic Curve Cryptosystems
 
CNIT 124 Ch 13: Post Exploitation (Part 1)
CNIT 124 Ch 13: Post Exploitation (Part 1)CNIT 124 Ch 13: Post Exploitation (Part 1)
CNIT 124 Ch 13: Post Exploitation (Part 1)
 
Wireshark, Tcpdump and Network Performance tools
Wireshark, Tcpdump and Network Performance toolsWireshark, Tcpdump and Network Performance tools
Wireshark, Tcpdump and Network Performance tools
 
Tcpdump
TcpdumpTcpdump
Tcpdump
 
Wireshark - presentation
Wireshark - presentationWireshark - presentation
Wireshark - presentation
 
Cloud Foundry Monitoring How-To: Collecting Metrics and Logs
Cloud Foundry Monitoring How-To: Collecting Metrics and LogsCloud Foundry Monitoring How-To: Collecting Metrics and Logs
Cloud Foundry Monitoring How-To: Collecting Metrics and Logs
 
CNIT 50: 6. Command Line Packet Analysis Tools
CNIT 50: 6. Command Line Packet Analysis ToolsCNIT 50: 6. Command Line Packet Analysis Tools
CNIT 50: 6. Command Line Packet Analysis Tools
 
CNIT 141 8. Public-Key Cryptosystems Based on the DLP
CNIT 141 8. Public-Key Cryptosystems Based on the DLPCNIT 141 8. Public-Key Cryptosystems Based on the DLP
CNIT 141 8. Public-Key Cryptosystems Based on the DLP
 
Tcpdump hunter
Tcpdump hunterTcpdump hunter
Tcpdump hunter
 
CNIT 125 Ch 5 Communication & Network Security (part 2 of 2)
CNIT 125 Ch 5 Communication & Network Security (part 2 of 2)CNIT 125 Ch 5 Communication & Network Security (part 2 of 2)
CNIT 125 Ch 5 Communication & Network Security (part 2 of 2)
 
CNIT 141: 10. Digital Signatures
CNIT 141: 10. Digital SignaturesCNIT 141: 10. Digital Signatures
CNIT 141: 10. Digital Signatures
 
Navigating the Ecosystem of Pivotal Cloud Foundry Tiles
Navigating the Ecosystem of Pivotal Cloud Foundry TilesNavigating the Ecosystem of Pivotal Cloud Foundry Tiles
Navigating the Ecosystem of Pivotal Cloud Foundry Tiles
 

Ähnlich wie CNIT 123 Ch 10: Hacking Web Servers

DevNext - Web Programming Concepts Using Asp Net
DevNext - Web Programming Concepts Using Asp NetDevNext - Web Programming Concepts Using Asp Net
DevNext - Web Programming Concepts Using Asp Net
Adil Mughal
 
introaspnetkjadbfksdjkfaskjdbfkajsbfkjfjkswa.ppt
introaspnetkjadbfksdjkfaskjdbfkajsbfkjfjkswa.pptintroaspnetkjadbfksdjkfaskjdbfkajsbfkjfjkswa.ppt
introaspnetkjadbfksdjkfaskjdbfkajsbfkjfjkswa.ppt
AvijitChaudhuri3
 

Ähnlich wie CNIT 123 Ch 10: Hacking Web Servers (20)

Ch10 Hacking Web Servers http://ouo.io/2Bt7X
Ch10 Hacking Web Servers http://ouo.io/2Bt7XCh10 Hacking Web Servers http://ouo.io/2Bt7X
Ch10 Hacking Web Servers http://ouo.io/2Bt7X
 
Ethical hacking Chapter 10 - Exploiting Web Servers - Eric Vanderburg
Ethical hacking   Chapter 10 - Exploiting Web Servers - Eric VanderburgEthical hacking   Chapter 10 - Exploiting Web Servers - Eric Vanderburg
Ethical hacking Chapter 10 - Exploiting Web Servers - Eric Vanderburg
 
Introduction to ASP.NET
Introduction to ASP.NETIntroduction to ASP.NET
Introduction to ASP.NET
 
Introduction to asp
Introduction to aspIntroduction to asp
Introduction to asp
 
Web programming
Web programmingWeb programming
Web programming
 
Php reports sumit
Php reports sumitPhp reports sumit
Php reports sumit
 
Html5 Application Security
Html5 Application SecurityHtml5 Application Security
Html5 Application Security
 
DevNext - Web Programming Concepts Using Asp Net
DevNext - Web Programming Concepts Using Asp NetDevNext - Web Programming Concepts Using Asp Net
DevNext - Web Programming Concepts Using Asp Net
 
Intro to .NET for Government Developers
Intro to .NET for Government DevelopersIntro to .NET for Government Developers
Intro to .NET for Government Developers
 
Chapter 1
Chapter 1Chapter 1
Chapter 1
 
introduction to web application development
introduction to web application developmentintroduction to web application development
introduction to web application development
 
Introaspnet
IntroaspnetIntroaspnet
Introaspnet
 
Aspintro
AspintroAspintro
Aspintro
 
Workshop HTML5+PhoneGap by Ivano Malavolta
Workshop HTML5+PhoneGap by Ivano Malavolta Workshop HTML5+PhoneGap by Ivano Malavolta
Workshop HTML5+PhoneGap by Ivano Malavolta
 
introaspnet.ppt
introaspnet.pptintroaspnet.ppt
introaspnet.ppt
 
introaspnetkjadbfksdjkfaskjdbfkajsbfkjfjkswa.ppt
introaspnetkjadbfksdjkfaskjdbfkajsbfkjfjkswa.pptintroaspnetkjadbfksdjkfaskjdbfkajsbfkjfjkswa.ppt
introaspnetkjadbfksdjkfaskjdbfkajsbfkjfjkswa.ppt
 
introaspnet.ppt
introaspnet.pptintroaspnet.ppt
introaspnet.ppt
 
Web Development Presentation
Web Development PresentationWeb Development Presentation
Web Development Presentation
 
A comprehensive software infrastructure of .Net
A comprehensive software infrastructure of .Net  A comprehensive software infrastructure of .Net
A comprehensive software infrastructure of .Net
 
AIR - Framework ( Cairngorm and Parsley )
AIR - Framework ( Cairngorm and Parsley )AIR - Framework ( Cairngorm and Parsley )
AIR - Framework ( Cairngorm and Parsley )
 

Mehr von Sam Bowne

Mehr von Sam Bowne (20)

Cyberwar
CyberwarCyberwar
Cyberwar
 
3: DNS vulnerabilities
3: DNS vulnerabilities 3: DNS vulnerabilities
3: DNS vulnerabilities
 
8. Software Development Security
8. Software Development Security8. Software Development Security
8. Software Development Security
 
4 Mapping the Application
4 Mapping the Application4 Mapping the Application
4 Mapping the Application
 
3. Attacking iOS Applications (Part 2)
 3. Attacking iOS Applications (Part 2) 3. Attacking iOS Applications (Part 2)
3. Attacking iOS Applications (Part 2)
 
12 Elliptic Curves
12 Elliptic Curves12 Elliptic Curves
12 Elliptic Curves
 
11. Diffie-Hellman
11. Diffie-Hellman11. Diffie-Hellman
11. Diffie-Hellman
 
2a Analyzing iOS Apps Part 1
2a Analyzing iOS Apps Part 12a Analyzing iOS Apps Part 1
2a Analyzing iOS Apps Part 1
 
9 Writing Secure Android Applications
9 Writing Secure Android Applications9 Writing Secure Android Applications
9 Writing Secure Android Applications
 
12 Investigating Windows Systems (Part 2 of 3)
12 Investigating Windows Systems (Part 2 of 3)12 Investigating Windows Systems (Part 2 of 3)
12 Investigating Windows Systems (Part 2 of 3)
 
10 RSA
10 RSA10 RSA
10 RSA
 
12 Investigating Windows Systems (Part 1 of 3
12 Investigating Windows Systems (Part 1 of 312 Investigating Windows Systems (Part 1 of 3
12 Investigating Windows Systems (Part 1 of 3
 
9. Hard Problems
9. Hard Problems9. Hard Problems
9. Hard Problems
 
8 Android Implementation Issues (Part 1)
8 Android Implementation Issues (Part 1)8 Android Implementation Issues (Part 1)
8 Android Implementation Issues (Part 1)
 
11 Analysis Methodology
11 Analysis Methodology11 Analysis Methodology
11 Analysis Methodology
 
8. Authenticated Encryption
8. Authenticated Encryption8. Authenticated Encryption
8. Authenticated Encryption
 
7. Attacking Android Applications (Part 2)
7. Attacking Android Applications (Part 2)7. Attacking Android Applications (Part 2)
7. Attacking Android Applications (Part 2)
 
7. Attacking Android Applications (Part 1)
7. Attacking Android Applications (Part 1)7. Attacking Android Applications (Part 1)
7. Attacking Android Applications (Part 1)
 
5. Stream Ciphers
5. Stream Ciphers5. Stream Ciphers
5. Stream Ciphers
 
6 Scope & 7 Live Data Collection
6 Scope & 7 Live Data Collection6 Scope & 7 Live Data Collection
6 Scope & 7 Live Data Collection
 

Kürzlich hochgeladen

The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
KarakKing
 

Kürzlich hochgeladen (20)

Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
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.
 
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.
 
REMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxREMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptx
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
Plant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptxPlant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptx
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 
Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)
 
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Ữ Â...
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
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
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptxExploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
 

CNIT 123 Ch 10: Hacking Web Servers

  • 1. Hands-On Ethical Hacking and Network Defense
 3rd Edition Chapter 10 Hacking Web Servers Revised 11-8-17
  • 2. Objectives • Describe Web applications • Explain Web application vulnerabilities • Describe the tools used to attack Web servers
  • 3. Client’s Browser Internet Explorer or Firefox Web Server IIS or Apache HTTP HTTPS
  • 4. Web Servers • The three main Web servers are nginx and Apache (Open source) & IIS (Microsoft) ■ Link Ch 10c (image from 11-8-17)
  • 5. Understanding Web Applications • It is nearly impossible to write a program without bugs • Some bugs create security vulnerabilities • Web applications also have bugs • Web applications have a larger user base than standalone applications • Bugs are a bigger problem for Web applications
  • 6. Web Application Components • Static Web pages • Created using HTML • Dynamic Web pages • Need special components • <form> tags • Common Gateway Interface (CGI) scripts • Active Server Pages (ASP) • PHP • ColdFusion • Scripting languages like JavaScript • ODBC (Open Database connector)
  • 7. Web Forms • Use the <form> element or tag in an HTML document • Allows customer to submit information to the Web server • Web servers process information from a Web form by using a Web application • Easy way for attackers to intercept data that users submit to a Web server
  • 8. 8
  • 10. Client’s Browser HTML Forms JavaScript Web Server CGI Scripts HTTP HTTPS
  • 11. Common Gateway Interface (CGI) • Handles moving data from a Web server to a Web browser • The majority of dynamic Web pages are created with CGI and scripting languages • Describes how a Web server passes data to a Web browser • Relies on Perl or another scripting language to create dynamic Web pages
  • 12. CGI Languages • CGI programs can be written in different programming and scripting languages • C or C++ • Perl • Unix shell scripting • Visual Basic • FORTRAN
  • 13. Common Gateway Interface (CGI) (continued) • CGI example ■ Written in Perl ■ Hello.pl ■ Should be placed in the cgi-bin directory on the Web server #!/usr/bin/perl print "Content-type: text/htmlnn"; print "Hello Security Testers!";
  • 14. 14
  • 15. 15
  • 16. Active Server Pages (ASP) • Microsoft’s server-side script engine • HTML pages are static—always the same • ASP creates HTML pages as needed. They are not static • ASP uses scripting languages such as JScript or VBScript • Not all Web servers support ASP • IIS supports ASP • Apache doesn’t support ASP as well
  • 17. Active Server Pages (ASP) • You can’t see the source of an ASP page from a browser • This makes it harder to hack into, although not impossible • ASP examples at links 
 Ch 10d, e, f
  • 18. Apache Web Server • Apache is the most popular Web Server program • Advantages • Stable and reliable • Works on just about any *NIX and Windows platform • It is free and open source • See links Ch 10g, 10h
  • 19. Using Scripting Languages • Dynamic Web pages can be developed using scripting languages • VBScript • JavaScript • PHP
  • 20. PHP: Hypertext Processor (PHP) • Enables Web developers to create dynamic Web pages • Similar to ASP • Open-source server-side scripting language • Can be embedded in an HTML Web page using PHP tags <?php and ?> • Users cannot see PHP code in their Web browser • Used primarily on UNIX systems • Also supported on Macintosh and Microsoft platforms
  • 21. PHP Example <html><head><title>Example</title></head> <body> <?php echo 'Hello, World!'; ?> </body></html> ■ See links Ch 10k, 10l • PHP has known vulnerabilities • See links Ch 10m, 10n • PHP is often used with MySQL Databases
  • 22. ColdFusion • Server-side scripting language used to develop dynamic Web pages • Created by the Allaire Corporation • Purchased by Macromedia, now owned by Adobe -- Expensive • Uses its own proprietary tags written in ColdFusion Markup Language (CFML) • CFML Web applications can contain other technologies, such as HTML or JavaScript
  • 25. VBScript • Visual Basic Script is a scripting language developed by Microsoft • You can insert VBScript commands into a static HTML page to make it dynamic • Provides the power of a full programming language • Executed by the client’s browser
  • 26. VBScript Example <html><body> <script type="text/vbscript"> document.write("<h1>Hello!</h1>") document.write("Date Activated: " & date()) </script> </body></html> • See link Ch 10r – works in IE, but not in Firefox • Firefox does not support VBScript (link Ch 10s)
  • 27. VBScript vulnerabilities ■ See links Ch 10t, 10u
  • 28. JavaScript • Popular scripting language • JavaScript also has the power of a programming language • Branching • Looping • Testing
  • 29. JavaScript Example <html><head> <script type="text/javascript"> function chastise_user(){ alert("So, you like breaking rules?") document.getElementByld("cmdButton").focus( )} </script></head> <body><h3>Don't click the button!</h3> <form> <input type="button" value="Don't Click!" name="cmdButton" onClick="chastise_user()" /> </form></body></html> ■ See link Ch 10v – works in IE and Firefox
  • 32. 32 1
  • 33. Client’s Browser HTTPorHTTPSWeb Server Apache or IIS HTML Forms CGI Scripts Database SQL Server or Oracle or MySQL ODBC or OLE DB Or ADO
  • 34. Connecting to Databases • Web pages can display information stored on databases • There are several technologies used to connect databases with Web applications • Technology depends on the OS used • ODBC • OLE DB • ADO • Theory is the same
  • 35. Open Database Connectivity (ODBC) • Standard database access method developed by the SQL Access Group • ODBC interface allows an application to access • Data stored in a database management system (DBMS) • Can use Oracle, SQL, or any DBMS that understands and can issue ODBC commands • Interoperability among back-end DBMS is a key feature of the ODBC interface
  • 36. Open Database Connectivity (ODBC) (continued) • ODBC defines • Standardized representation of data types • A library of ODBC functions • Standard methods of connecting to and logging on to a DBMS
  • 37. OLE DB and ADO • Object Linking and Embedding Database (OLE DB) and • ActiveX Data Objects (ADO) • These two more modern, complex technologies replace ODBC and make up"Microsoft’s Universal Data Access“ • See link Ch 10x
  • 38. Understanding Web Application Vulnerabilities • Many platforms and programming languages can be used to design a Web site • Application security is as important as network security
  • 39. Attackers controlling a Web server can ■ Deface the Web site ■ Destroy or steal company’s data ■ Gain control of user accounts ■ Perform secondary attacks from the Web site ■ Gain root access to other applications or servers
  • 40. Open Web Application Security Project (OWASP) ■ Open, not-for-profit organization dedicated to finding and fighting vulnerabilities in Web applications ■ Publishes the Ten Most Critical Web Application Security Vulnerabilities
  • 41. 41
  • 42. 42
  • 44. Cross-Site Scripting (XSS) ● One client posts active content, with <script> tags or other programming content ● When another client reads the messages, the scripts are executed in his or her browser ● One user attacks another user, using the vulnerable Web application as a weapon 49
  • 45. ● <script>alert("XSS vulnerability!")</script> ● <script>alert(document.cookie)</script> ● <script>window.location="http://www.ccsf.edu"</script> 50
  • 46. XSS Scripting Effects ● Steal another user's authentication cookie ● Hijack session ● Harvest stored passwords from the target's browser ● Take over machine through browser vulnerability ● Redirect Webpage ● Many, many other evil things… 51
  • 47. Assessing Web Applications • Issues to consider • Dynamic Web pages • Connection to a backend database server • User authentication • What platform was used?
  • 48. Does the Web Application Use Dynamic Web Pages? • Static Web pages do not create a secure environment • IIS attack example: Directory Traversal • Adding .. to a URL refers to a directory above the Web page directory • Early versions of IIS filtered out , but not %c1%9c, which is a Unicode version of the same character • See link Ch 10 zh
  • 49. Connection to a Backend Database Server • Security testers should check for the possibility of SQL injection being used to attack the system • SQL injection involves the attacker supplying SQL commands on a Web application field
  • 50. SQL Injection Example HTML form collects name and pw SQL then uses those fields: SELECT * FROM customer WHERE username = 'name' AND password = 'pw' If a hacker enters a name of ' OR 1=1 -- The SQL becomes: SELECT * FROM customer WHERE username ='' OR 1=1 --' AND password = 'pw' Which is always true, and returns all the records
  • 51. 51
  • 52. Connection to a Backend Database Server • Basic testing should look for • Whether you can enter text with punctuation marks • Whether you can enter a single quotation mark followed by any SQL keywords • Whether you can get any sort of database error when attempting to inject SQL
  • 53. User Authentication • Many Web applications require another server to authenticate users • Examine how information is passed between the two servers • Encrypted channels • Verify that logon and password information is stored on secure places • Authentication servers introduce a second target
  • 54. What Platform Was Used? • Popular platforms include: • IIS with ASP and SQL Server (Microsoft) • Linux, Apache, MySQL, and PHP (LAMP) • Footprinting is used to find out the platform • The more you know about a system the easier it is to gather information about its vulnerabilities
  • 56. 56
  • 57.
  • 58. 58
  • 59. 59
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67. Tools of Web Attackers and Security Testers • Choose the right tools for the job • Attackers look for tools that enable them to attack the system • They choose their tools based on the vulnerabilities found on a target system or application
  • 68. Web Tools • Firefox and Chrome Developer Tools • View parameters and cookies • Modify and resend requests • BurpSuite • Powerful proxy used for Web App hacking • Zed Attack Proxy • Can do simple vulnerability scans
  • 70. 70 Nessus • Commercial, thorough and popular • Open-source fork is OpenVAS
  • 73. W3af (Free, in Kali)
  • 75. 75 2