SlideShare a Scribd company logo
Ethical Hacking 
CHAPTER 10 – EXPLOITING WEB SERVERS 
ERIC VANDERBURG
Objectives 
 Describe Web applications 
 Explain Web application vulnerabilities 
 Describe the tools used to attack Web servers
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) 
 Active Server Pages (ASP) 
 PHP 
 ColdFusion 
 Scripting languages 
 Database connectors
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
Web Forms (continued) 
 Web form example 
<html> 
<body> 
<form> 
Enter your username: 
<input type="text" name="username"> 
<br> 
Enter your password: 
<input type="text" name="password"> 
</form></body></html>
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 programs can be written in different programming and 
scripting languages
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!";
Active Server Pages (ASP) 
 With ASP, developers can display HTML documents to users on 
the fly 
 Main difference from pure HTML pages 
 When a user requests a Web page, one is created at that time 
 ASP uses scripting languages such as JScript or VBScript 
 Not all Web servers support ASP
Active Server Pages (ASP) 
(continued) 
 ASP example 
<HTML> 
<HEAD><TITLE> My First ASP Web Page </TITLE></HEAD> 
<BODY> 
<H1>Hello, security professionals</H1> 
The time is <% = Time %>. 
</BODY> 
</HTML> 
 Microsoft does not want users to be able to view an ASP Web 
page’s source code 
 This can create serious security problems
Apache Web Server 
 Tomcat Apache is another Web Server program 
 Tomcat Apache hosts anywhere from 50% to 60% of all Web 
sites 
 Advantages 
 Works on just about any *NIX and Windows platform 
 It is free 
 Requires Java 2 Standard Runtime Environment (J2SE, version 
5.0)
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 on their Web browser 
 Used primarily on UNIX systems 
 Also supported on Macintosh and Microsoft platforms
PHP: Hypertext Processor 
(PHP) (continued) 
 PHP example 
<html> 
<head> 
<title>My First PHP Program </title> 
</head> 
<body> 
<?php echo '<h1>Hello, Security Testers!</h1>'; ?> 
</body> 
</html> 
 As a security tester you should look for PHP vulnerabilities
ColdFusion 
 Server-side scripting language used to develop dynamic Web 
pages 
 Created by the Allaire Corporation 
 Uses its own proprietary tags written in ColdFusion Markup 
Language (CFML) 
 CFML Web applications can contain other technologies, such 
as HTML or JavaScript
ColdFusion (continued) 
 CFML example 
<html> 
<head> 
<title>Using CFML</title> 
</head> 
<body> 
<CFLOCATION URL="www.isecom.org/cf/index.htm" 
ADDTOKEN="NO"> 
</body> 
</html> 
 CFML is not exempt of vulnerabilities
VBScript 
 Visual Basic Script is a scripting language developed by 
Microsoft 
 Converts static Web pages into dynamic Web pages 
 Takes advantage of the power of a full programming language 
 VBScript is also prone to security vulnerabilities 
 Check the Microsoft Security Bulletin for information about 
VBScript vulnerabilities
VBScript (continued) 
 VBScript example 
<html> 
<body> 
<script type="text/vbscript"> 
document.write("<h1>Hello Security Testers!</h1>") 
document.write("Date Activated: " & date()) 
</script> 
</body> 
</html>
JavaScript 
 Popular scripting language 
 JavaScript also has the power of a programming language 
 Branching 
 Looping 
 Testing 
 Variety of vulnerabilities exist for JavaScript that have been 
exploited in older Web browsers
JavaScript (continued) 
 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>"If you are a Security Tester, please do not click the command 
button below!"</h3> 
<form> 
<input type="button" value="Don't Click!" name="cmdButton" 
onClick="chastise_user()" /> 
</form> 
</body> 
</html>
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 
 Any system 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
Object Linking and Embedding 
Database (OLE DB) 
 OLE DB is a set of interfaces 
 Enables applications to access data stored in a DBMS 
 Developed by Microsoft 
 Designed to be faster, more efficient, and more stable than ODBC 
 OLE DB relies on connection strings 
 Different providers can be used with OLE DB depending on the 
DBMS to which you want to connect
ActiveX Data Objects (ADO) 
 ActiveX defines a set of technologies that allow desktop 
applications to interact with the Web 
 ADO is a programming interface that allows Web 
applications to access databases 
 Steps for accessing a database from a Web page 
 Create an ADO connection 
 Open the database connection you just created 
 Create an ADO recordset 
 Open the recordset 
 Select the data you need 
 Close the recordset and the connection
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
Application Vulnerabilities 
Countermeasures 
 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 
 Top-10 Web application vulnerabilities 
 Unvalidated parameters 
 HTTP requests are not validated by the Web server 
 Broken access control 
 Developers implement access controls but fail to test them properly
Application Vulnerabilities 
Countermeasures (continued) 
 Top-10 Web application vulnerabilities (continued) 
 Broken account and session management 
 Enables attackers to compromise passwords or session cookies to gain 
access to accounts 
 Cross-site scripting (XSS) flaws 
 Attacker can use a Web application to run a script on the Web browser of 
the system he or she is attacking 
 Buffer overflows 
 It is possible for an attacker to use C or C++ code that includes a buffer 
overflow
Application Vulnerabilities 
Countermeasures (continued) 
 Top-10 Web application vulnerabilities (continued) 
 Command injection flaws 
 An attacker can embed malicious code and run a program on the 
database server 
 Error-handling problems 
 Error information sent to the user might reveal information that an attacker 
can use 
 Insecure use of cryptography 
 Storing keys, certificates, and passwords on a Web server can be dangerous
Application Vulnerabilities 
Countermeasures (continued) 
 Top-10 Web application vulnerabilities (continued) 
 Remote administration flaws 
 Attacker can gain access to the Web server through the remote 
administration interface 
 Web and application server misconfiguration 
 Any Web server software out of the box is usually vulnerable to attack 
 Default accounts and passwords 
 Overly informative error messages
Application Vulnerabilities 
Countermeasures (continued) 
 WebGoat project 
 Helps security testers learn how to perform vulnerabilities testing on Web 
applications 
 Developed by OWASP 
 WebGoat can be used to 
 Reveal HTML or Java code and any cookies or parameters used 
 Hack a logon name and password
Application Vulnerabilities 
Countermeasures (continued) 
 WebGoat can be used to 
 Traverse a file system on a Windows XP computer running Apache 
 WebGoat’s big challenge 
 Defeat an authentication mechanism 
 Steal credit cards from a database 
 Deface a Web site
Assessing Web Applications 
 Security testers should look for answers to some important questions 
 Does the Web application use dynamic Web pages? 
 Does the Web application connect to a backend database server? 
 Does the Web application require authentication of the user? 
 On what platform was the Web application developed?
Does the Web Application Use 
Dynamic Web Pages? 
 Static Web pages do not create a security environment 
 IIS attack example 
 Submitting a specially formatted URL to the attacked Web server 
 IIS does not correctly parse the URL information 
 Attackers could launch a Unicode exploit 
http://www.nopatchiss.com/scripts/..%255c..%255cwinn 
t/system32/cmd.exe?/c+dir+c 
 Attacker can even install a Trojan program
Does the Web Application 
Connect 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 examples 
SELECT * FROM customer 
WHERE tblusername = ' ' OR 1=1 -- ' AND tblpassword = ' ' 
or 
SELECT * FROM customer 
WHERE tblusername = ' OR "=" AND tblpassword = ' OR "="
Does the Web Application 
Connect to a Backend Database 
Server? (continued)  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
Does the Web Application Require 
Authentication of the User? 
 Many Web applications require another server 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
On What Platform Was the Web 
Application Developed? 
 Several different platforms and technologies can be used to 
develop Web applications 
 Attacks differ depending on the platform and technology used to 
develop the application 
 Footprinting is used to find out as much information as possible about a 
target system 
 The more you know about a system the easier it is to gather information 
about its vulnerabilities
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 
 Cgiscan.c: CGI scanning tool 
 Written in C in 1999 by Bronc Buster 
 Tool for searching Web sites for CGI scripts that can be exploited 
 One of the best tools for scanning the Web for systems with CGI 
vulnerabilities
Web Tools (continued) 
 Phfscan.c 
 Written to scan Web sites looking for hosts that could be exploited by 
the PHF bug 
 The PHF bug enables an attacker to download the victim’s /etc/passwd 
file 
 It also allows attackers to run programs on the victim’s Web server by 
using a particular URL
Web Tools (continued) 
 Wfetch: GUI tool 
 This tool queries the status of a Web server 
 It also attempts authentication using 
 Multiple HTTP methods 
 Configuration of host name and TCP port 
 HTTP 1.0 and HTTP 1.1 support 
 Anonymous, Basic, NTLM, Kerberos, Digest, and Negotiation 
authentication types 
 Multiple connection types 
 Proxy support 
 Client-certificate support
Summary 
 Web applications can be developed on many platforms 
 HTML pages can contain 
 Forms 
 ASP 
 CGI 
 Scripting languages 
 Static pages have been replaced by dynamic pages 
 Dynamic Web pages can be created using CGI, ASP, and JSP
Summary (continued) 
 Web forms allows developers to create Web pages with which 
visitors can interact 
 Web applications use a variety of technologies to connect to 
databases 
 ODBC 
 OLE DB 
 ADO 
 Security tests should check 
 Whether the application connects to a database 
 If the user is authenticated through a different server
Summary (continued) 
 Many tools are available for security testers 
 Cgiscan 
 Wfetch 
 OWASP open-source software 
 Web applications that connect to databases might be 
vulnerable to SQL injection 
 There are many free tools for attacking Web servers available in 
the Internet

More Related Content

PPTX
Website hacking and prevention (All Tools,Topics & Technique )
PPT
Hacking A Web Site And Secure Web Server Techniques Used
PDF
Abusing, Exploiting and Pwning with Firefox Add-ons
PDF
CNIT 128 8. Android Implementation Issues (Part 3)
PPTX
Top security threats to Flash/Flex applications and how to avoid them
PDF
Shellcoding in linux
PDF
CNIT 128 9. Writing Secure Android Applications
PDF
Common Web Application Attacks
Website hacking and prevention (All Tools,Topics & Technique )
Hacking A Web Site And Secure Web Server Techniques Used
Abusing, Exploiting and Pwning with Firefox Add-ons
CNIT 128 8. Android Implementation Issues (Part 3)
Top security threats to Flash/Flex applications and how to avoid them
Shellcoding in linux
CNIT 128 9. Writing Secure Android Applications
Common Web Application Attacks

What's hot (20)

PDF
AbusingExploitingAndPWN-ingWithFirefoxAdd-Ons
PPT
Pentesting web applications
PDF
CNIT 128 7. Attacking Android Applications (Part 3)
PPTX
Rapid Android Application Security Testing
PPTX
Secure Code Warrior - Local file inclusion
PPTX
Hacking Samsung's Tizen: The OS of Everything - Hack In the Box 2015
PPTX
Web Security Attacks
PDF
Don't Drop the SOAP: Real World Web Service Testing for Web Hackers
PDF
Hacking Tizen: The OS of everything - Whitepaper
PDF
CNIT 129S: 10: Attacking Back-End Components
PPTX
Presentation on Web Attacks
PDF
Html5 Application Security
PPTX
Cross interface attack
PDF
CNIT 129S - Ch 6a: Attacking Authentication
PPTX
Vulnerabilities in modern web applications
PPTX
Website Hacking and Preventive Measures
PDF
CNIT 128 7. Attacking Android Applications (Part 2)
PDF
CNIT 128 6. Analyzing Android Applications (Part 2 of 3)
PDF
Api security-testing
PDF
CNIT 128: 3. Attacking iOS Applications (Part 2)
AbusingExploitingAndPWN-ingWithFirefoxAdd-Ons
Pentesting web applications
CNIT 128 7. Attacking Android Applications (Part 3)
Rapid Android Application Security Testing
Secure Code Warrior - Local file inclusion
Hacking Samsung's Tizen: The OS of Everything - Hack In the Box 2015
Web Security Attacks
Don't Drop the SOAP: Real World Web Service Testing for Web Hackers
Hacking Tizen: The OS of everything - Whitepaper
CNIT 129S: 10: Attacking Back-End Components
Presentation on Web Attacks
Html5 Application Security
Cross interface attack
CNIT 129S - Ch 6a: Attacking Authentication
Vulnerabilities in modern web applications
Website Hacking and Preventive Measures
CNIT 128 7. Attacking Android Applications (Part 2)
CNIT 128 6. Analyzing Android Applications (Part 2 of 3)
Api security-testing
CNIT 128: 3. Attacking iOS Applications (Part 2)

Viewers also liked (8)

PPT
Ch10 Hacking Web Servers http://ouo.io/2Bt7X
PPTX
Top 10 Web Hacking Techniques of 2014
PPTX
Ethical hacking Chapter 1 - Overview - Eric Vanderburg
PPTX
Ethical hacking Chapter 6 - Port Scanning - Eric Vanderburg
PDF
Cehv8 - Module 12: Hacking Webservers
PDF
Ch 10: Hacking Web Servers
PPTX
Ethical hacking ppt
PPTX
Ethical hacking presentation
Ch10 Hacking Web Servers http://ouo.io/2Bt7X
Top 10 Web Hacking Techniques of 2014
Ethical hacking Chapter 1 - Overview - Eric Vanderburg
Ethical hacking Chapter 6 - Port Scanning - Eric Vanderburg
Cehv8 - Module 12: Hacking Webservers
Ch 10: Hacking Web Servers
Ethical hacking ppt
Ethical hacking presentation

Similar to Ethical hacking Chapter 10 - Exploiting Web Servers - Eric Vanderburg (20)

PDF
cyber security-ethical hacking web servers.pdf
PDF
CNIT 123 Ch 10: Hacking Web Servers
PDF
Attques web
PPT
PPT
gofortution
PPT
Intro to Web Application Security
PPTX
Application and Website Security -- Fundamental Edition
PPTX
Burp Suite is a powerful and widely-used tool
PPT
Application Security
PDF
The top 10 security issues in web applications
PPT
Web Application Security
PPTX
Web application vulnerability assessment
PDF
Web vulnerabilities
PPTX
Security testing for web developers
PPTX
Web application security
PPTX
Hackers versus Developers and Secure Web Programming
PDF
Web Application Scanning 101
PDF
Ch 10: Attacking Back-End Components
PDF
Ch 13: Attacking Other Users: Other Techniques (Part 1)
PDF
Web Security
cyber security-ethical hacking web servers.pdf
CNIT 123 Ch 10: Hacking Web Servers
Attques web
gofortution
Intro to Web Application Security
Application and Website Security -- Fundamental Edition
Burp Suite is a powerful and widely-used tool
Application Security
The top 10 security issues in web applications
Web Application Security
Web application vulnerability assessment
Web vulnerabilities
Security testing for web developers
Web application security
Hackers versus Developers and Secure Web Programming
Web Application Scanning 101
Ch 10: Attacking Back-End Components
Ch 13: Attacking Other Users: Other Techniques (Part 1)
Web Security

More from Eric Vanderburg (20)

PPTX
GDPR, Data Privacy and Cybersecurity - MIT Symposium
PPTX
Modern Security the way Equifax Should Have
PPTX
Cybercrime and Cyber Threats - CBLA - Eric Vanderburg
PPTX
Cybersecurity Incident Response Strategies and Tactics - RIMS 2017 - Eric Van...
PPTX
Mobile Forensics and Cybersecurity
PPTX
2017 March ISACA Security Challenges with the Internet of Things - Eric Vande...
PPTX
Ransomware: 2016's Greatest Malware Threat
PPT
Emerging Technologies: Japan’s Position
PPT
Principles of technology management
PPT
Japanese railway technology
PPT
Evaluating japanese technological competitiveness
PPT
Japanese current and future technology management challenges
PPT
Technology management in Japan: Robotics
PPT
Incident response table top exercises
PPTX
The Prescription for Protection - Avoid Treatment Errors To The Malware Problem
PPTX
Cloud Storage and Security: Solving Compliance Challenges
PPTX
Hacktivism: Motivations, Tactics and Threats
PPTX
Correct the most common web development security mistakes - Eric Vanderburg
PPTX
Deconstructing website attacks - Eric Vanderburg
PPTX
Countering malware threats - Eric Vanderburg
GDPR, Data Privacy and Cybersecurity - MIT Symposium
Modern Security the way Equifax Should Have
Cybercrime and Cyber Threats - CBLA - Eric Vanderburg
Cybersecurity Incident Response Strategies and Tactics - RIMS 2017 - Eric Van...
Mobile Forensics and Cybersecurity
2017 March ISACA Security Challenges with the Internet of Things - Eric Vande...
Ransomware: 2016's Greatest Malware Threat
Emerging Technologies: Japan’s Position
Principles of technology management
Japanese railway technology
Evaluating japanese technological competitiveness
Japanese current and future technology management challenges
Technology management in Japan: Robotics
Incident response table top exercises
The Prescription for Protection - Avoid Treatment Errors To The Malware Problem
Cloud Storage and Security: Solving Compliance Challenges
Hacktivism: Motivations, Tactics and Threats
Correct the most common web development security mistakes - Eric Vanderburg
Deconstructing website attacks - Eric Vanderburg
Countering malware threats - Eric Vanderburg

Recently uploaded (20)

PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
Cloud computing and distributed systems.
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPTX
MYSQL Presentation for SQL database connectivity
PPT
Teaching material agriculture food technology
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Machine learning based COVID-19 study performance prediction
PDF
Chapter 3 Spatial Domain Image Processing.pdf
Programs and apps: productivity, graphics, security and other tools
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Review of recent advances in non-invasive hemoglobin estimation
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Dropbox Q2 2025 Financial Results & Investor Presentation
Encapsulation_ Review paper, used for researhc scholars
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
The AUB Centre for AI in Media Proposal.docx
Cloud computing and distributed systems.
Network Security Unit 5.pdf for BCA BBA.
Digital-Transformation-Roadmap-for-Companies.pptx
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Advanced methodologies resolving dimensionality complications for autism neur...
Understanding_Digital_Forensics_Presentation.pptx
MYSQL Presentation for SQL database connectivity
Teaching material agriculture food technology
NewMind AI Weekly Chronicles - August'25 Week I
Mobile App Security Testing_ A Comprehensive Guide.pdf
Machine learning based COVID-19 study performance prediction
Chapter 3 Spatial Domain Image Processing.pdf

Ethical hacking Chapter 10 - Exploiting Web Servers - Eric Vanderburg

  • 1. Ethical Hacking CHAPTER 10 – EXPLOITING WEB SERVERS ERIC VANDERBURG
  • 2. Objectives  Describe Web applications  Explain Web application vulnerabilities  Describe the tools used to attack Web servers
  • 3. 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
  • 4. Web Application Components  Static Web pages  Created using HTML  Dynamic Web pages  Need special components  <form> tags  Common Gateway Interface (CGI)  Active Server Pages (ASP)  PHP  ColdFusion  Scripting languages  Database connectors
  • 5. 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
  • 6. Web Forms (continued)  Web form example <html> <body> <form> Enter your username: <input type="text" name="username"> <br> Enter your password: <input type="text" name="password"> </form></body></html>
  • 7. 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 programs can be written in different programming and scripting languages
  • 8. 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!";
  • 9. Active Server Pages (ASP)  With ASP, developers can display HTML documents to users on the fly  Main difference from pure HTML pages  When a user requests a Web page, one is created at that time  ASP uses scripting languages such as JScript or VBScript  Not all Web servers support ASP
  • 10. Active Server Pages (ASP) (continued)  ASP example <HTML> <HEAD><TITLE> My First ASP Web Page </TITLE></HEAD> <BODY> <H1>Hello, security professionals</H1> The time is <% = Time %>. </BODY> </HTML>  Microsoft does not want users to be able to view an ASP Web page’s source code  This can create serious security problems
  • 11. Apache Web Server  Tomcat Apache is another Web Server program  Tomcat Apache hosts anywhere from 50% to 60% of all Web sites  Advantages  Works on just about any *NIX and Windows platform  It is free  Requires Java 2 Standard Runtime Environment (J2SE, version 5.0)
  • 12. Using Scripting Languages  Dynamic Web pages can be developed using scripting languages  VBScript  JavaScript  PHP
  • 13. 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 on their Web browser  Used primarily on UNIX systems  Also supported on Macintosh and Microsoft platforms
  • 14. PHP: Hypertext Processor (PHP) (continued)  PHP example <html> <head> <title>My First PHP Program </title> </head> <body> <?php echo '<h1>Hello, Security Testers!</h1>'; ?> </body> </html>  As a security tester you should look for PHP vulnerabilities
  • 15. ColdFusion  Server-side scripting language used to develop dynamic Web pages  Created by the Allaire Corporation  Uses its own proprietary tags written in ColdFusion Markup Language (CFML)  CFML Web applications can contain other technologies, such as HTML or JavaScript
  • 16. ColdFusion (continued)  CFML example <html> <head> <title>Using CFML</title> </head> <body> <CFLOCATION URL="www.isecom.org/cf/index.htm" ADDTOKEN="NO"> </body> </html>  CFML is not exempt of vulnerabilities
  • 17. VBScript  Visual Basic Script is a scripting language developed by Microsoft  Converts static Web pages into dynamic Web pages  Takes advantage of the power of a full programming language  VBScript is also prone to security vulnerabilities  Check the Microsoft Security Bulletin for information about VBScript vulnerabilities
  • 18. VBScript (continued)  VBScript example <html> <body> <script type="text/vbscript"> document.write("<h1>Hello Security Testers!</h1>") document.write("Date Activated: " & date()) </script> </body> </html>
  • 19. JavaScript  Popular scripting language  JavaScript also has the power of a programming language  Branching  Looping  Testing  Variety of vulnerabilities exist for JavaScript that have been exploited in older Web browsers
  • 20. JavaScript (continued)  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>"If you are a Security Tester, please do not click the command button below!"</h3> <form> <input type="button" value="Don't Click!" name="cmdButton" onClick="chastise_user()" /> </form> </body> </html>
  • 21. 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
  • 22. 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  Any system that understands and can issue ODBC commands  Interoperability among back-end DBMS is a key feature of the ODBC interface
  • 23. 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
  • 24. Object Linking and Embedding Database (OLE DB)  OLE DB is a set of interfaces  Enables applications to access data stored in a DBMS  Developed by Microsoft  Designed to be faster, more efficient, and more stable than ODBC  OLE DB relies on connection strings  Different providers can be used with OLE DB depending on the DBMS to which you want to connect
  • 25. ActiveX Data Objects (ADO)  ActiveX defines a set of technologies that allow desktop applications to interact with the Web  ADO is a programming interface that allows Web applications to access databases  Steps for accessing a database from a Web page  Create an ADO connection  Open the database connection you just created  Create an ADO recordset  Open the recordset  Select the data you need  Close the recordset and the connection
  • 26. 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
  • 27. Application Vulnerabilities Countermeasures  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  Top-10 Web application vulnerabilities  Unvalidated parameters  HTTP requests are not validated by the Web server  Broken access control  Developers implement access controls but fail to test them properly
  • 28. Application Vulnerabilities Countermeasures (continued)  Top-10 Web application vulnerabilities (continued)  Broken account and session management  Enables attackers to compromise passwords or session cookies to gain access to accounts  Cross-site scripting (XSS) flaws  Attacker can use a Web application to run a script on the Web browser of the system he or she is attacking  Buffer overflows  It is possible for an attacker to use C or C++ code that includes a buffer overflow
  • 29. Application Vulnerabilities Countermeasures (continued)  Top-10 Web application vulnerabilities (continued)  Command injection flaws  An attacker can embed malicious code and run a program on the database server  Error-handling problems  Error information sent to the user might reveal information that an attacker can use  Insecure use of cryptography  Storing keys, certificates, and passwords on a Web server can be dangerous
  • 30. Application Vulnerabilities Countermeasures (continued)  Top-10 Web application vulnerabilities (continued)  Remote administration flaws  Attacker can gain access to the Web server through the remote administration interface  Web and application server misconfiguration  Any Web server software out of the box is usually vulnerable to attack  Default accounts and passwords  Overly informative error messages
  • 31. Application Vulnerabilities Countermeasures (continued)  WebGoat project  Helps security testers learn how to perform vulnerabilities testing on Web applications  Developed by OWASP  WebGoat can be used to  Reveal HTML or Java code and any cookies or parameters used  Hack a logon name and password
  • 32. Application Vulnerabilities Countermeasures (continued)  WebGoat can be used to  Traverse a file system on a Windows XP computer running Apache  WebGoat’s big challenge  Defeat an authentication mechanism  Steal credit cards from a database  Deface a Web site
  • 33. Assessing Web Applications  Security testers should look for answers to some important questions  Does the Web application use dynamic Web pages?  Does the Web application connect to a backend database server?  Does the Web application require authentication of the user?  On what platform was the Web application developed?
  • 34. Does the Web Application Use Dynamic Web Pages?  Static Web pages do not create a security environment  IIS attack example  Submitting a specially formatted URL to the attacked Web server  IIS does not correctly parse the URL information  Attackers could launch a Unicode exploit http://www.nopatchiss.com/scripts/..%255c..%255cwinn t/system32/cmd.exe?/c+dir+c  Attacker can even install a Trojan program
  • 35. Does the Web Application Connect 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 examples SELECT * FROM customer WHERE tblusername = ' ' OR 1=1 -- ' AND tblpassword = ' ' or SELECT * FROM customer WHERE tblusername = ' OR "=" AND tblpassword = ' OR "="
  • 36. Does the Web Application Connect to a Backend Database Server? (continued)  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
  • 37. Does the Web Application Require Authentication of the User?  Many Web applications require another server 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
  • 38. On What Platform Was the Web Application Developed?  Several different platforms and technologies can be used to develop Web applications  Attacks differ depending on the platform and technology used to develop the application  Footprinting is used to find out as much information as possible about a target system  The more you know about a system the easier it is to gather information about its vulnerabilities
  • 39. 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
  • 40. Web Tools  Cgiscan.c: CGI scanning tool  Written in C in 1999 by Bronc Buster  Tool for searching Web sites for CGI scripts that can be exploited  One of the best tools for scanning the Web for systems with CGI vulnerabilities
  • 41. Web Tools (continued)  Phfscan.c  Written to scan Web sites looking for hosts that could be exploited by the PHF bug  The PHF bug enables an attacker to download the victim’s /etc/passwd file  It also allows attackers to run programs on the victim’s Web server by using a particular URL
  • 42. Web Tools (continued)  Wfetch: GUI tool  This tool queries the status of a Web server  It also attempts authentication using  Multiple HTTP methods  Configuration of host name and TCP port  HTTP 1.0 and HTTP 1.1 support  Anonymous, Basic, NTLM, Kerberos, Digest, and Negotiation authentication types  Multiple connection types  Proxy support  Client-certificate support
  • 43. Summary  Web applications can be developed on many platforms  HTML pages can contain  Forms  ASP  CGI  Scripting languages  Static pages have been replaced by dynamic pages  Dynamic Web pages can be created using CGI, ASP, and JSP
  • 44. Summary (continued)  Web forms allows developers to create Web pages with which visitors can interact  Web applications use a variety of technologies to connect to databases  ODBC  OLE DB  ADO  Security tests should check  Whether the application connects to a database  If the user is authenticated through a different server
  • 45. Summary (continued)  Many tools are available for security testers  Cgiscan  Wfetch  OWASP open-source software  Web applications that connect to databases might be vulnerable to SQL injection  There are many free tools for attacking Web servers available in the Internet