Improving Web Security Education with Virtual Labs and Shared Course Modules
|
|
|
- Bertram Hill
- 9 years ago
- Views:
Transcription
1 Proceedings of Student-Faculty Research Day, CSIS, Pace University, May 7 th, 2010 Improving Web Security Education with Virtual Labs and Shared Course Modules Lixin Tao, Li-Chiou Chen, and Chienting Lin Pace University, [email protected], [email protected], [email protected] Abstract - One challenge in web security education is its interdisciplinary and practical nature. Students need to have the basic knowledge and skills of a web developer to understand many of the web security topics, and some of them are normally covered in multiple advanced courses like Computer Networks and Network Security, or are absent from many existing undergraduate or graduate degree programs. This paper shares our experience of using VMware virtual machines in supporting hands-on web security education, and developing multiple virtual web security lab modules based on the virtual machines. The lab modules are part of our NSF SWEET (Secure WEb development Teaching) project, and each of them contains (1) concepts in a nutshell; (2) lab objectives; (3) software setup; (4) detailed lab instructions; and (5) lab evaluations. Comprehensive lab modules have been developed to guide students to build virtual Ubuntu virtual machines with publicly available tools and install all necessary web servers, application servers and database servers on them so they can function as the foundation and platforms of the other course modules. The other covered course modules include cryptography, HTTP and HTTPS protocols, and introduction to Java web technologies. Index Terms - Network security, Virtual labs, Web technology, Web security. INTRODUCTION One challenge in web security education is its interdisciplinary and practical nature. Students need to have the basic knowledge and skills of a web developer to understand many of the web security topics, and some of them are normally covered in multiple advanced courses like Computer Networks and Network Security, or are absent from many existing undergraduate or graduate degree programs (like Ajax or web services). The students also need to actually practice to learn how to prevent, identify and resolve web security breaches, but limited university resources and few local web security domain experts sometimes limit the scope and scale of projects that students could practice in lab environments. If such labs are not designed properly, students could also cause web security problems when they explore security vulnerabilities of university or company public web sites. This paper shares our experience of using VMware virtual machines in supporting hands-on web security education, and developing multiple virtual web security lab modules based on the virtual machines. The lab modules are part of our NSF SWEET (Secure WEb development Teaching) project, and each of them contains (1) concepts in a nutshell; (2) lab objectives; (3) software setup; (4) detailed lab instructions; and (5) lab evaluations. Comprehensive lab modules have been developed to guide students to build virtual Ubuntu virtual machines with publicly available tools and install all necessary web servers, application servers and database servers on them so they can function as the foundation and platforms of the other course modules. The other covered course modules include cryptography, HTTP and HTTPS protocols, and introduction to Java web technologies. All the lab modules can be installed on portable USB thumbnail disks and run on any computer that installs the free VMware Player. The paper will also present our experience in adopting these course modules in multiple network and web security courses at Pace University. SELECTION OF COMPUTER LAB VIRTUALIZATION TECHNOLOGIES The virtualization of a computer means to run emulator software, like VMware Player [1] or Microsoft Virtual PC [2], on a computer (host computer or physical computer) to emulate another desired computer (virtual computer). A virtual computer is implemented by a folder of 2-8 GB files, and the emulator runs these files to emulate the virtual computer as a computer window or the complete computer desktop. To the users a virtual computer is just the same as the physical one. The virtual and host computers can have different operating systems, and share data and Internet access. The users can work on multiple virtual computers and the host computer at the same time. The users can install new applications on the virtual computer as on a physical one. A virtual computer can run most operating systems including all versions of Windows and Linux. There are two virtualization technologies: (1) serverside virtualization for running the virtual computers on a remote server computer, and (2) client-side virtualization for running the virtual computers on users own computers. While company/university IT infrastructure servers can use the server-side virtualization to improve resource utilization, client-side virtualization greatly reduces the pressure on the C1.1
2 servers and network bandwidth, and take advantage of faculty and student PCs excessive computing power already available today. In the recent years we have studied many PC/lab outsourcing services based on server-side virtualization, including those based on IBM mainframes, and concluded that they all have recurring high costs or very limited flexibility and resources for the users (such remote virtual computers are at least ten times slower than a today s $400 PC in supporting interactive lab sessions, usually with no Internet access and less than one GB of disk space). The main advantages of client-side computer virtualization for university computer labs include There is no need of investment for a university to adopt virtual computing labs, and there are no recurring costs. There is no significant cost for distributing the virtual computers and lab modules to the faculty or students. The virtual computer s implementation folder can be distributed through web downloading, USB flash disks, or DVD disks. Typically a student can keep his/her virtual computers for different courses on a single thumb-size USB flash disk. If a person knows how to use a physical computer, he/she knows how to use a virtual computer. There is minimal learning curve for the users. New software can be installed on a virtual computer. If the user messes up a virtual computer, he/she just gets a fresh copy of the virtual computer s implementation folder. Any computer, no matter whether it runs Windows, Linux, or Mac OS, can install a free (around $70 for Mac OS) computer emulator and run the virtual computers. Therefore the students can work on a course lab anywhere. The course work can be started on one computer, and later resumed and completed on another. Therefore we could support the concepts of coursework can be conducted anywhere on any computer and portable labs. If an online student has difficulties in the hands-on course work, the instructor can easily reproduce the problems and help resolve the problems since they are using the same working environment or virtual computer. The university has less pressure in updating its lab PCs and it needs less staff to maintain them. Any PC that has 1-4 GB memory and 100 GB disk space can support virtual computers in the coming years, and all university PCs of a specific model can share a single configuration image. If a PC has problems, just get it a fresh copy of the virtual computer s implementation folder (assuming important data are on university network disks or owner s disks). For our web security virtual labs we choose VMware virtualization over Microsoft Virtual PC because the former can support virtual machines running any operating system including all flavors of Linux. UBUNTU SECURITY LAB PLATFORM A complete lab module has been developed for students and faculty who have no Linux background to develop a Ubuntu v9.10 (the latest version) virtual machine (VM). Instructions are also included to install and configure most necessary IT servers and tools needed for supporting network/web security and computing technologies. The tutorial module includes (1) a detailed lab manual A Tutorial on Setting up Ubuntu Linux Virtual Machines [3] detailing step-by-step guidance to achieve the above tasks; (2) 7z auto-extracting file for the completed basic Ubuntu v9.10 VM ready for software installation [4]; (3) 7z auto-extracting file for the completed Ubuntu v9.10 VM ready for lab use or distribution to the students [5]; and (4) a video tutorial for those who need further visual help[6]. If users choose to use the preconfigured Ubuntu v9.10 VM, they just need to download the file ubuntu10.exe and run it to extract VM folder ubuntu10 ; download and install the free VMware Player [1] for their operating systems; and double-click on file ubuntu10/ubuntu10.vmx in a file explorer to launch the VM as shown below. After entering user or root as the user name and as the password, the users will see the following Ubuntu user interface: VM ubuntu10 has the installation of the following tools and servers: Gnu C++/C compiler Java JDK v6.6 Tomcat web server v Apache web server v2.2 with support for Perl, PHP and MySQL C1.2
3 MySQL database server v5.1 Eclipse IDE v1.2.1 (Galileo SR1) NetBeans IDE v6.7.1 GlassFish application server v2.1 including Java EE web server) Derby database server v Drupal web contents management system v6.14 Java Tutorial Java EE 5 Tutorial v1.0_05 First Cup tutorial for Java EE v2.1 A dozen of pre-deployed web applications on Tomcat for students to learn and experiment with web technologies. The server installations have been configured for IT server production run. For example, the Tomcat and Apache web servers have been properly integrated so the Tomcat servlet container can run behind the Apache web server to generate HTML responses for Apache with Java technologies. Most of our web security lab modules are built on top of this Ubuntu VM which is available for free distribution to the public. We have also developed a similar Windows XP VM, as shown below, with similar tools and servers plus the IIS web server, MS Office and Microsoft Visual Studio 2008 for students to study web security technologies on the.net platform. SECURITY LAB MODULE ON CRYPTOGRAPHY Security lab module Introduction to Cryptography [7] covers fundamental concepts of symmetric secret key ciphers, public key ciphers, hash functions, digital signatures and digital certificates. The lab has the following objectives: a. Learn and practice how to use MD5 and SHA1 to generate hash codes of strings or large files, and verify whether a downloaded file is valid; b. Learn and practice how to use GPG to encrypt/decrypt files with symmetric algorithms; c. Learn and practice how to use GPG to generate public/private key pairs and certificates, distribute the certificate with public key to a friend, let the friend encrypt a document with the public key, and let the key owner decrypt the document with the private key. The lab starts with the installation of the GnuPG-Agent installation on the Ubuntu VM. The following is sample lab guide for practicing PGP concepts with GPG on the Ubuntu VM. 1. Create Linux Accounts for Alice and Mike Launch your Ubuntu10 VM, and start a terminal window. Run command sudo adduser alice to create a Linux account for Alice. Use as password. Run command sudo adduser mike to create a Linux account for Mike. Use as password. Run command sudo visudo to launch file /etc/sudoers.tmp in a text editor, insert the following two lines at the end of the file, and then use Crtl+O to write out the revised contents, and use Ctrl+X to exit the editor. This step will enable Alice and Mike to use sudo. alice ALL=(ALL) NOPASSWD: ALL mike ALL=(ALL) NOPASSWD: ALL 2. Run as Alice and Mike in two terminal windows In the terminal window, run sudo login, and then login as Alice. Start a new terminal window, run sudo login, and then login as Mike. 3. Generate keys for Alice In Alice s terminal window, run gpg --gen-key to generate her public and private keys. Enter DSA and Elgamal for key kind, 2048 for key size, key does not expire for key expiration date, Alice for real name, [email protected] for address, Alice s keys as comment, and Alice s passphrase for passphrase. You may need to type over 284 random keys to generate enough entropy so the keys could be created. 4. Generate keys for Mike In Mike s terminal window, run gpg --gen-key to generate his public and private keys. Enter DSA and Elgamal for key kind, 2048 for key size, key does not expire for key expiration date, Michael for real name, [email protected] for address, Mike s keys as comment, and Mike s passphrase for passphrase. You may need to type over 284 random keys to generate enough entropy so the keys could be created. 5. Export Alice s public key to Mike In Alice s terminal window, run gpg --armor --output alice-pk --export [email protected] to dump Ali s public key in file alice-pk. You can run more alicepk to review the public key. Run sudo cp alice-pk /home/mike to copy Alice s public key file alice-pk to Mike s home folder. C1.3
4 In Mike s terminal window, verify the existence of file /home/mike/alice-pk by running ls in Mike s home folder ~ (/home/mike). In the same Mike s terminal window, run gpg --import alice-pk to import Alice s public key into Mike s key store. In the same Mike s terminal window, run gpg --editkey [email protected] to enter the editing session for Alice s public key. Type sub-command fpr to review the fingerprint of Alice s public key. Type subcommand sign to sign this key with Mike s key. You will be asked to enter Mike s passphrase, which is Mike s passphrase. Type sub-command check to review who is on the signature list of Alice s public key, and we will see Alice (self-signature) and Mike on the list to confirm the validity of the key. You type subcommand quit to exit the editing session, and confirm to save the changes. 6. Create and encrypt a message In Mike s terminal window, run cat > msg-to-alice followed by the ENTER key, type Alice s secret message, and then type key combination Ctrl+D to close the file. You just created a new text file msg-toalice with contents Alice s secret message. In Mike s terminal window, run gpg --recipient [email protected] --output secret-to-alice --encrypt msg-to-alice to generate a new file secret-to-alice containing the encrypted version file msg-to-alice. In Mike s terminal window, run more secret-to-alice to review the encrypted version of the message. In Mike s terminal window, run sudo cp secret-toalice /home/alice to copy file secret-to-alice to Alice s home folder /home/alice. In Alice s terminal window, run ls in Alice s home folder ~ (/home/alice) to verify the existence of file secret-to-alice. 7. Decrypt the message In Alice s terminal window, run command gpg -- output msg-from-mike --decrypt secret-to-alice to decrypt the contents of file secret-to-alice and save the result in a new file msg-from-mike. In Alice s terminal window, run more msg-frommike to review the decrypted message from Mike. As our other lab modules, this module also has a rich set of evaluation questions to check how well the students have understood the essence of the lab module, and guide them to creatively apply the learned concepts and skills in solving related questions. The following are some sample review questions for this lab module: Question 1: Suggest some secure ways for distributing symmetric or public keys. Question 2: Is a secure way for distributing symmetric or public keys. Question 3: Suppose Tom has the public key of Lisa. What is the best way for Tom to send his public key to Lisa? Question 4: Suppose Tom has the public key of Lisa. What is the best way for Tom to send a secret message to Lisa? Question 5: If a Word file is digitally signed, is the file also normally encrypted so it cannot be eavesdropped? Question 6: Can you totally trust a company if that company has a digital certificate signed by VeriSign? Question 7: Can technologies alone completely solve the network or web security problems? SECURITY LAB MODULE ON WEB TECHNOLOGIES Security lab module for introducing web technologies [8] covers the web architecture, uniform resource locators, HTML basics, the HTTP protocol, web session data management (cookies, hidden fields, query strings and server-side session objects). The lab has the following objectives: a. Compare HTTP GET and HTTP POST requests; b. Observe HTTP communications with proxy server Paros; c. Experiment with cookies through web applications; d. Compare web browser and web server interactions with HTML forms and with hyperlinks; e. Learn how to use JavaScript to validate form data in the web browsers; f. Learn how to create a static web site; g. Learn how to create your first JSP web application on Tomcat; h. Learn how to create your first servlet web application on Tomcat. The clear tiered web architecture, as depicted below, shows the students the full landscape of modern web applications, justifies the separation of web servers and application servers, and puts all kinds of web technologies in perspective. Tier 1 Web HTTP HTTP Internet TCP/IP HTTP Web Extension Tier 2 Web server The lab has the following sub-sessions: App server Tier 3 App Server DBMS Tier 4 Database 1) Comparing HTTP GET and HTTP POST Requests 2) Observing HTTP Communications with Paros 3) Working with Cookies 4) Submitting Data with HTML Form and Hyperlink C1.4
5 5) Validating Form Data with JavaScript 6) Creating Your First JavaServer Page Web Application 7) Creating Your First Servlet Web Application Sample Lab for Creating a Simple Servlet Web Application From the last exercise we know servelts are the cornerstone of Java web technologies. In this exercise you will develop a servlet web application with the same function as the last welcomejsp web application so you can better compare the two technologies. 1. Launch the ubuntu10 VM with username user and password In a file explorer, open /home/user/tomcat/webapps. Right-click on any blank space in the explorer right pane and choose Create Folder to create new folder /home/user/tomcat/webapps/welcomeservlet. 3. In the file explorer, open folder ~/tomcat/webapps/welcomeservlet. Right-click on any blank space in the explorer and choose Create Document Empty File and create a new file with name main.html. 4. Right-click on file main.html and choose menu item Open With gedit to open file main.html in the gedit editor. 5. Type the following text into the file, and save the file. <html> <body> <h2>my First Servlet Application</h2> <form method="post" action="welcome"> Please enter your name: <input type="text" name="name"/> <br/> <input type="submit" value="ok"/> </form> </body> </html> 6. Create in folder ~/tomcat/webapps/welcomeservlet a new folder WEB-INF. All servlet based web applications have this folder for holding those files not directly accessible from web browsers. 7. Create in folder ~/tomcat/webapps/welcomeservlet/web-inf a new folder classes. All Java classes to be run on the web server must be under this folder. 8. Create in folder ~/tomcat/webapps/welcomeservlet/web-inf/classes a new file Welcome.java. Copy the following contents in this file and save the file. If a servlet needs to process HTTP POST requests, it needs to have a dopost(request, response) method. If a servlet needs to process HTTP GET requests, it needs to have a doget(request, response) method. We put all logics in the dopost(request, response) method and call this method inside the doget(request, response) method to avoid redundant code. Both of the two methods have two parameters: request representing all data submitted through the HTTP request, including data in the HTTP request entity body and query string; and response representing the data to be sent back to the remote web browser through an HTTP response. Method request.getparameter("name") is first called to retrieve the value that the user has typed in the name text field. After setting the output data type and retrieving the output object of response, the remainder of the code just prints out an HTML file piece by piece. This section of code must remind you of the similar code we reviewed for the Java code produced from file Welcome.jsp in the last exercise. import javax.servlet.*; import javax.servlet.http.*; import java.io.*; public class Welcome extends HttpServlet { public void dopost(httpservletrequest request, HttpServletResponse response) throws IOException, ServletException { String name = request.getparameter("name"); response.setcontenttype("text/html"); PrintWriter out = response.getwriter(); out.println("<html>"); out.println("<body>"); out.println("<h2>welcome, " + name + "</h2>"); out.println("</body>"); out.println("</html>"); } } public void doget(httpservletrequest request, HttpServletResponse response) throws IOException, ServletException { dopost(request, response); } 9. Create in folder ~/tomcat/webapps/welcomeservlet/ Web-INF a new file web.xml and copy the following contents into it. Each servlet web application needs this configuration file. You first declare that file main.html is the web application s welcome file: if a web browser visits this web application but not specifying which file to retrieve, the welcome file will be sent back by default. You then assign a name welcome to the servlet class Welcome. In the last servlet-mapping element, you declare that if the URL of an HTTP request contains /welcome, the request will be sent to the servlet named welcome for processing, which is Welcome in this case. <web-app> <servlet> <servlet-name>welcome</servlet-name> <servlet-class>welcome</servlet-class> </servlet> <servlet-mapping> <servlet-name>welcome</servlet-name> <url-pattern>/welcome</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>main.html</welcome-file> </welcome-file-list> </web-app> C1.5
6 10. Now you need to compile the servlet into a bytecode file Welcome.class. Use the file browser to open folder ~/tomcat/webapps/welcomeservlet/web-inf/classes. Right-click on any blank space in the right pane, and choose menu item Open in Terminal. A new terminal window will start with ~/tomcat/webapps/welcomeservlet/web-inf/classes as its working folder. Run command javac Welcome.java to compile Java source file Welcome.java into Welcome.class. 11. You have completed your first servlet web application. Use a web browser to visit and you will see a web browser view similar to the following one. [Sometimes Tomcat could get confused when you are developing web applications. Restart the VM may resolve some of these problems.] Overview of Computer Security and graduate courses Web and Internet Security and Concepts and Structures of Internet Computing. We collected students feedback on the SWEET modules adopted in two classes of Overview of Computer Security and Web and Internet Security offered in Fall A web-based survey using 5-point Likert scale was conducted at the end of the semester. The survey included questions to elicit their feedback on the lecture materials, laboratory exercises, the mapping between the lecture and the lab and the overall impact of these modules on their learning. Our results show that the students had invested significant amount of time (2-4 hours per week on average) in completing hands-on exercises. However, they generally agreed that the course materials were planned well (average 4.1 for lecture category), the exercises had drawn their interests (average 4.1 for lab exercise category), the exercises had helped them in learning the course materials (average 4.1 for the mapping between labs and lecture), and they would be interested in pursuing further in the Information Assurance area (average 3.9 for overall category). CONCLUSION 12. JSP and servlet web applications are normally deployed as Web Archive (WAR) files. To make a WAR file welcomeservlet.war for the current web application, start a terminal window in folder ~/tomcat/webapps/welcomeservlet, and run command jar cvf welcomeservlet.war *. To deploy this web application in a different Tomcat web server, you only need to drop file welcomeservlet.war in that Tomcat installation s webapps folder, and this WAR file will be automatically extracted into web application folder welcomeservlet and the web application will start to work right away, assuming that Tomcat is running. 13. By now you have successfully completed your first servlet web application. Congratulations! Question 1: Where should Java servlet files be located in a servlet web application? Question 2: Appletes are Java classes to be downloaded to web browsers and run in web browser sandboxes. Should applet files be put under folder WEB-INF? Question 3: What is the main function of servlet methods doget() and dopost()? Question 4: What is the main function of configuration file WEB-INF/web.xml? Question 5: What is URL pattern of a servlet? Question 6: What is the relationship between a JSP page and a servlet class? WEB SECURITY LABS ADOPTION EXPERIENCE Most of our web security lab modules have been successfully incorporated in the undergraduate course This paper describes selected web security lab modules of our NSF SWEET project. These modules are available for free sharing with our colleagues. The adoption of the virtualization technology by these modules makes them effective in improving hands-on exercises/projects and online delivery of web security/technology courses. ACKNOWLEDGEMENT This work was supported by the NSF CCLI The views and conclusions contained in this document are those of the author and should not be interpreted as representing the official policies, either expressed or implied, of the National Science Foundation or the U.S. government. REFERENCES [1] VMware Inc., VMware Player, products/player [2] Microsoft Inc., Microsoft Virtual PC, [3] Tao, L, A Tutorial on Setting up Ubuntu Linux Virtual machines, [4] Tao, L, ubuntu10basic.exe, [5] Tao, L, ubuntu10.exe, [6] Tao, L, A Video Tutorial on Setting up Ubuntu Linux Virtual machines, [7] Tao, L, Introduction to Cryptography, [8] Tao, L, Introduction to Web Technologies, 20 C1.6
Virtual Open-Source Labs for Web Security Education
, October 20-22, 2010, San Francisco, USA Virtual Open-Source Labs for Web Security Education Lixin Tao, Li-Chiou Chen, and Chienting Lin Abstract Web security education depends heavily on hands-on labs
Introduction to Web Technologies
Secure Web Development Teaching Modules 1 Introduction to Web Technologies Contents 1 Concepts... 1 1.1 Web Architecture... 2 1.2 Uniform Resource Locators (URL)... 3 1.3 HTML Basics... 4 1.4 HTTP Protocol...
INTRODUCTION TO WEB TECHNOLOGY
UNIT-I Introduction to Web Technologies: Introduction to web servers like Apache1.1, IIS, XAMPP (Bundle Server), WAMP Server(Bundle Server), handling HTTP Request and Response, installation of above servers
2. Follow the installation directions and install the server on ccc
Installing a Web Server 1. Install a sample web server, which supports Servlets/JSPs. A light weight web server is Apache Tomcat server. You can get the server from http://tomcat.apache.org/ 2. Follow
Creating Java EE Applications and Servlets with IntelliJ IDEA
Creating Java EE Applications and Servlets with IntelliJ IDEA In this tutorial you will: 1. Create IntelliJ IDEA project for Java EE application 2. Create Servlet 3. Deploy the application to JBoss server
A Tutorial on Setting up Ubuntu Linux Virtual Machines
A Tutorial on Setting up Ubuntu Linux Virtual Machines Copyright 2009 Dr. Lixin Tao http://csis.pace.edu/lixin Pace University PDF Version: http://csis.pace.edu/lixin/ubuntu/linuxsetup.pdf Video Version:
Application Security
2009 Marty Hall Declarative Web Application Security Originals of Slides and Source Code for Examples: http://courses.coreservlets.com/course-materials/msajsp.html Customized Java EE Training: http://courses.coreservlets.com/
Introduction to Web Services
Secure Web Development Teaching Modules 1 Introduction to Web Services Contents 1 Concepts... 1 1.1 Challenges that Web Services Address... 2 1.1.1 Integration of Heterogeneous Information Systems... 2
Supplement IV.E: Tutorial for Tomcat. For Introduction to Java Programming By Y. Daniel Liang
Supplement IV.E: Tutorial for Tomcat For Introduction to Java Programming By Y. Daniel Liang This supplement covers the following topics: Obtaining and Installing Tomcat Starting and Stopping Tomcat Choosing
Secure Web Development Teaching Modules 1. Threat Assessment
Secure Web Development Teaching Modules 1 Threat Assessment Contents 1 Concepts... 1 1.1 Software Assurance Maturity Model... 1 1.2 Security practices for construction... 3 1.3 Web application security
SSC - Web applications and development Introduction and Java Servlet (II)
SSC - Web applications and development Introduction and Java Servlet (II) Shan He School for Computational Science University of Birmingham Module 06-19321: SSC Outline Outline of Topics Servlet Configuration
Secure Web Development Teaching Modules 1. Security Testing. 1.1 Security Practices for Software Verification
Secure Web Development Teaching Modules 1 Security Testing Contents 1 Concepts... 1 1.1 Security Practices for Software Verification... 1 1.2 Software Security Testing... 2 2 Labs Objectives... 2 3 Lab
Integration Guide. SafeNet Authentication Service. Oracle Secure Desktop Using SAS RADIUS OTP Authentication
SafeNet Authentication Service Integration Guide Oracle Secure Desktop Using SAS RADIUS OTP Authentication Technical Manual Template Release 1.0, PN: 000-000000-000, Rev. A, March 2013, Copyright 2013
Web Container Components Servlet JSP Tag Libraries
Web Application Development, Best Practices by Jeff Zhuk, JavaSchool.com ITS, Inc. [email protected] Web Container Components Servlet JSP Tag Libraries Servlet Standard Java class to handle an HTTP request
ACM Crossroads Student Magazine The ACM's First Electronic Publication
Page 1 of 8 ACM Crossroads Student Magazine The ACM's First Electronic Publication Crossroads Home Join the ACM! Search Crossroads [email protected] ACM / Crossroads / Columns / Connector / An Introduction
Web Applications. For live Java training, please see training courses at
2009 Marty Hall Using and Deploying Web Applications Originals of Slides and Source Code for Examples: http://courses.coreservlets.com/course-materials/msajsp.html Customized Java EE Training: http://courses.coreservlets.com/
How To Encrypt A Traveltrax Report On Gpg On A Pc Or Mac Or Mac (For A Free Download) On A Thumbdrive Or Ipad Or Ipa (For Free) On Pc Or Ipo (For An Ipo)
EMAIL ENCRYPTION Guide June 3, 2013 TABLE OF CONTENTS Steps to Create Encryption Public Key... 3 Installing GPG... 3 Key Generation Process... 4 Update User Settings... 6 Decrypting an encrypted file...
VMware Horizon FLEX User Guide
Horizon FLEX 1.5 This document supports the version of each product listed and supports all subsequent versions until the document is replaced by a new edition. To check for more recent editions of this
CatDV Pro Workgroup Serve r
Architectural Overview CatDV Pro Workgroup Server Square Box Systems Ltd May 2003 The CatDV Pro client application is a standalone desktop application, providing video logging and media cataloging capability
How To Test Your Web Site On Wapt On A Pc Or Mac Or Mac (Or Mac) On A Mac Or Ipad Or Ipa (Or Ipa) On Pc Or Ipam (Or Pc Or Pc) On An Ip
Load testing with WAPT: Quick Start Guide This document describes step by step how to create a simple typical test for a web application, execute it and interpret the results. A brief insight is provided
Introduction...3 Terms in this Document...3 Conditions for Secure Operation...3 Requirements...3 Key Generation Requirements...
Hush Encryption Engine White Paper Introduction...3 Terms in this Document...3 Conditions for Secure Operation...3 Requirements...3 Key Generation Requirements...4 Passphrase Requirements...4 Data Requirements...4
Canto Integration Platform (CIP)
Canto Integration Platform (CIP) Getting Started Guide Copyright 2013, Canto GmbH. All rights reserved. Canto, the Canto logo, the Cumulus logo, and Cumulus are registered trademarks of Canto, registered
In this chapter, we lay the foundation for all our further discussions. We start
01 Struts.qxd 7/30/02 10:23 PM Page 1 CHAPTER 1 Introducing the Jakarta Struts Project and Its Supporting Components In this chapter, we lay the foundation for all our further discussions. We start by
15-415 Database Applications Recitation 10. Project 3: CMUQFlix CMUQ s Movies Recommendation System
15-415 Database Applications Recitation 10 Project 3: CMUQFlix CMUQ s Movies Recommendation System Project Objective 1. Set up a front-end website with PostgreSQL back-end 2. Allow users to login, like
LICENSE4J AUTO LICENSE GENERATION AND ACTIVATION SERVER USER GUIDE
LICENSE4J AUTO LICENSE GENERATION AND ACTIVATION SERVER USER GUIDE VERSION 1.6.0 LICENSE4J www.license4j.com Table of Contents Getting Started... 2 Server Roles... 4 Installation... 9 Server WAR Deployment...
NetBeans IDE Field Guide
NetBeans IDE Field Guide Copyright 2005 Sun Microsystems, Inc. All rights reserved. Table of Contents Introduction to J2EE Development in NetBeans IDE...1 Configuring the IDE for J2EE Development...2 Getting
An introduction to web programming with Java
Chapter 1 An introduction to web programming with Java Objectives Knowledge Objectives (continued) The first page of a shopping cart application The second page of a shopping cart application Components
QUANTIFY INSTALLATION GUIDE
QUANTIFY INSTALLATION GUIDE Thank you for putting your trust in Avontus! This guide reviews the process of installing Quantify software. For Quantify system requirement information, please refer to the
Web Development on the SOEN 6011 Server
Web Development on the SOEN 6011 Server Stephen Barret October 30, 2007 Introduction Systems structured around Fowler s patterns of Enterprise Application Architecture (EAA) require a multi-tiered environment
WIRIS quizzes web services Getting started with PHP and Java
WIRIS quizzes web services Getting started with PHP and Java Document Release: 1.3 2011 march, Maths for More www.wiris.com Summary This document provides client examples for PHP and Java. Contents WIRIS
Webmail Using the Hush Encryption Engine
Webmail Using the Hush Encryption Engine Introduction...2 Terms in this Document...2 Requirements...3 Architecture...3 Authentication...4 The Role of the Session...4 Steps...5 Private Key Retrieval...5
SQL Injection Attack Lab Using Collabtive
Laboratory for Computer Security Education 1 SQL Injection Attack Lab Using Collabtive (Web Application: Collabtive) Copyright c 2006-2011 Wenliang Du, Syracuse University. The development of this document
BAPI. Business Application Programming Interface. Compiled by Y R Nagesh 1
BAPI Business Application Programming Interface Compiled by Y R Nagesh 1 What is BAPI A Business Application Programming Interface is a precisely defined interface providing access process and data in
Glassfish, JAVA EE, Servlets, JSP, EJB
Glassfish, JAVA EE, Servlets, JSP, EJB Java platform A Java platform comprises the JVM together with supporting class libraries. Java 2 Standard Edition (J2SE) (1999) provides core libraries for data structures,
User Manual - Help Utility Download MMPCT. (Mission Mode Project Commercial Taxes) User Manual Help-Utility
Excise and Taxation, Haryana Plot I-3, Sector 5, Panchkula, Haryana MMPCT (Mission Mode Project Commercial Taxes) User Manual Help-Utility Wipro Limited HETD For any queries call at the helpdesk numbers:
WA2192 Introduction to Big Data and NoSQL. Classroom Setup Guide. Web Age Solutions Inc. Copyright Web Age Solutions Inc. 1
WA2192 Introduction to Big Data and NoSQL Classroom Setup Guide Web Age Solutions Inc. Copyright Web Age Solutions Inc. 1 Table of Contents Part 1 - Minimum Hardware Requirements...3 Part 2 - Minimum Software
ARIS Education Package Process Design & Analysis Installation Guide. Version 7.2. Installation Guide
ARIS Education Package Process Design & Analysis Installation Guide Version 7.2 Installation Guide March 2012 This publication is protected by international copyright law. All rights reserved. No part
How to use the VMware Workstation / Player to create an ISaGRAF (Ver. 3.55) development environment?
Author Janice Hong Version 1.0.0 Date Mar. 2014 Page 1/56 How to use the VMware Workstation / Player to create an ISaGRAF (Ver. 3.55) development environment? Application Note The 32-bit operating system
Sharp Remote Device Manager (SRDM) Server Software Setup Guide
Sharp Remote Device Manager (SRDM) Server Software Setup Guide This Guide explains how to install the software which is required in order to use Sharp Remote Device Manager (SRDM). SRDM is a web-based
Eclipse installation, configuration and operation
Eclipse installation, configuration and operation This document aims to walk through the procedures to setup eclipse on different platforms for java programming and to load in the course libraries for
VMware vcenter Support Assistant 5.1.1
VMware vcenter.ga September 25, 2013 GA Last updated: September 24, 2013 Check for additions and updates to these release notes. RELEASE NOTES What s in the Release Notes The release notes cover the following
The KGpg Handbook. Jean-Baptiste Mardelle Rolf Eike Beer
Jean-Baptiste Mardelle Rolf Eike Beer 2 Contents 1 Introduction 5 2 Getting Started 6 3 Using KGpg 8 3.1 Generating a key...................................... 8 3.2 Revoking a key.......................................
Personal Virtual Server (PVS) Quick Start Guide
Personal Virtual Server (PVS) Quick Start Guide Copyright 2015 Pegasystems Inc., Cambridge, MA All rights reserved. This document describes products and services of Pegasystems Inc. It may contain trade
1 Download & Installation... 4. 1 Usernames and... Passwords
Contents I Table of Contents Part I Document Overview 2 Part II Document Details 3 Part III EventSentry Setup 4 1 Download & Installation... 4 Part IV Configuration 4 1 Usernames and... Passwords 5 2 Network...
ThinPoint Quick Start Guide
ThinPoint Quick Start Guide 2 ThinPoint Quick Start Guide Table of Contents Part 1 Introduction 3 Part 2 ThinPoint Windows Host Installation 3 1 Compatibility... list 3 2 Pre-requisites... 3 3 Installation...
WA1826 Designing Cloud Computing Solutions. Classroom Setup Guide. Web Age Solutions Inc. Copyright Web Age Solutions Inc. 1
WA1826 Designing Cloud Computing Solutions Classroom Setup Guide Web Age Solutions Inc. Copyright Web Age Solutions Inc. 1 Table of Contents Part 1 - Minimum Hardware Requirements...3 Part 2 - Minimum
Implementing the Shop with EJB
Exercise 2 Implementing the Shop with EJB 2.1 Overview This exercise is a hands-on exercise in Enterprise JavaBeans (EJB). The exercise is as similar as possible to the other exercises (in other technologies).
E-Commerce: Designing And Creating An Online Store
E-Commerce: Designing And Creating An Online Store Introduction About Steve Green Ministries Solo Performance Artist for 19 Years. Released over 26 Records, Several Kids Movies, and Books. My History With
HOW TO BUILD A VMWARE APPLIANCE: A CASE STUDY
HOW TO BUILD A VMWARE APPLIANCE: A CASE STUDY INTRODUCTION Virtual machines are becoming more prevalent. A virtual machine is just a container that describes various resources such as memory, disk space,
WebService Security. A guide to set up highly secured client-server communications using WS-Security extensions to the SOAP protocol
WebService Security A guide to set up highly secured client-server communications using WS-Security extensions to the SOAP protocol Jam Hamidi Senior Technical Analyst BCcampus, Victoria, British Columbia,
PowerPanel Business Edition Installation Guide
PowerPanel Business Edition Installation Guide For Automatic Transfer Switch Rev. 5 2015/12/2 Table of Contents Introduction... 3 Hardware Installation... 3 Install PowerPanel Business Edition Software...
Short notes on webpage programming languages
Short notes on webpage programming languages What is HTML? HTML is a language for describing web pages. HTML stands for Hyper Text Markup Language HTML is a markup language A markup language is a set of
BlackBerry Enterprise Service 10. Secure Work Space for ios and Android Version: 10.1.1. Security Note
BlackBerry Enterprise Service 10 Secure Work Space for ios and Android Version: 10.1.1 Security Note Published: 2013-06-21 SWD-20130621110651069 Contents 1 About this guide...4 2 What is BlackBerry Enterprise
Architecture and Data Flow Overview. BlackBerry Enterprise Service 10 721-08877-123 Version: 10.2. Quick Reference
Architecture and Data Flow Overview BlackBerry Enterprise Service 10 721-08877-123 Version: Quick Reference Published: 2013-11-28 SWD-20131128130321045 Contents Key components of BlackBerry Enterprise
Apache Server Implementation Guide
Apache Server Implementation Guide 340 March Road Suite 600 Kanata, Ontario, Canada K2K 2E4 Tel: +1-613-599-2441 Fax: +1-613-599-2442 International Voice: +1-613-599-2441 North America Toll Free: 1-800-307-7042
Installation of PHP, MariaDB, and Apache
Installation of PHP, MariaDB, and Apache A few years ago, one would have had to walk over to the closest pizza store to order a pizza, go over to the bank to transfer money from one account to another
Verax Service Desk Installation Guide for UNIX and Windows
Verax Service Desk Installation Guide for UNIX and Windows March 2015 Version 1.8.7 and higher Verax Service Desk Installation Guide 2 Contact Information: E-mail: [email protected] Internet: http://www.veraxsystems.com/
1. Introduction. 2. Web Application. 3. Components. 4. Common Vulnerabilities. 5. Improving security in Web applications
1. Introduction 2. Web Application 3. Components 4. Common Vulnerabilities 5. Improving security in Web applications 2 What does World Wide Web security mean? Webmasters=> confidence that their site won
CORISECIO. Quick Installation Guide Open XML Gateway
Quick Installation Guide Open XML Gateway Content 1 FIRST STEPS... 3 2 INSTALLATION... 3 3 ADMINCONSOLE... 4 3.1 Initial Login... 4 3.1.1 Derby Configuration... 5 3.1.2 Password Change... 6 3.2 Logout...
13.1 Backup virtual machines running on VMware ESXi / ESX Server
13 Backup / Restore VMware Virtual Machines Tomahawk Pro This chapter describes how to backup and restore virtual machines running on VMware ESX, ESXi Server or VMware Server 2.0. 13.1 Backup virtual machines
Requirements & Install. Module 2 Single Engine Installation
Requirements & Install Module 2 Single Engine Installation Requirements Requirement Minimum Optimum Processor Intel Core 2 @ 2GHz Dual Processor Xeon 3.0 GHz Memory 2 GB RAM 8 GB RAM Disk Space 2 GB 5GB
Ulteo Open Virtual Desktop Installation
Ulteo Open Virtual Desktop Installation Copyright 2008 Ulteo SAS - CONTENTS CONTENTS Contents 1 Prerequisites 2 1.1 Installation of MySQL....................................... 2 2 Session Manager (sm.ulteo.com)
Enterprise Manager. Version 6.2. Installation Guide
Enterprise Manager Version 6.2 Installation Guide Enterprise Manager 6.2 Installation Guide Document Number 680-028-014 Revision Date Description A August 2012 Initial release to support version 6.2.1
User Manual of the Pre-built Ubuntu 9 Virutal Machine
SEED Document 1 User Manual of the Pre-built Ubuntu 9 Virutal Machine Copyright c 2006-2011 Wenliang Du, Syracuse University. The development of this document is funded by the National Science Foundation
ERserver. iseries. Secure Sockets Layer (SSL)
ERserver iseries Secure Sockets Layer (SSL) ERserver iseries Secure Sockets Layer (SSL) Copyright International Business Machines Corporation 2000, 2002. All rights reserved. US Government Users Restricted
Secret Server Installation Windows Server 2008 R2
Table of Contents Introduction... 2 ASP.NET Website... 2 SQL Server Database... 2 Administrative Access... 2 Prerequisites... 2 System Requirements Overview... 2 Additional Recommendations... 3 Beginning
What is Aconex Local Copy? Controlling Access to a Datastore Hardware Requirements Software Requirements Installing Aconex Local Copy Troubleshooting
Version 1.6 1 1 1 2 2 8 8 9 9 9 What is Aconex Local Copy? Controlling Access to a Datastore Hardware Requirements Software Requirements Installing Aconex Local Copy Troubleshooting your Installation Managing
Forcepoint Sidewinder, Virtual Appliance Evaluation for Desktop. Installation Guide 8.x. Revision A
Forcepoint Sidewinder, Virtual Appliance Evaluation for Desktop Installation Guide 8.x Revision A Table of contents 1 Overview...3 2 Verify system requirements...4 Virtualization requirements...4 Admin
FileMaker Server 7. Administrator s Guide. For Windows and Mac OS
FileMaker Server 7 Administrator s Guide For Windows and Mac OS 1994-2004, FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker is a trademark
Getting Started with VMware Fusion
Getting Started with VMware Fusion VMware Fusion for Mac OS X 2008 2012 EN-000933-00 2 Getting Started with VMware Fusion You can find the most up-to-date technical documentation on the VMware Web site
Oracle Solaris Remote Lab User Guide for Release 1.01
Oracle Solaris Remote Lab User Guide for Release 1.01 Table of Contents 1. INTRODUCTION... 1 PURPOSE OF THE OSRL... 1 GAINING ACCESS TO THE OSRL... 2 Request access to the Oracle Solaris Remote Lab...
Xerox DocuShare Security Features. Security White Paper
Xerox DocuShare Security Features Security White Paper Xerox DocuShare Security Features Businesses are increasingly concerned with protecting the security of their networks. Any application added to a
Installation Guide for contineo
Installation Guide for contineo Sebastian Stein Michael Scholz 2007-02-07, contineo version 2.5 Contents 1 Overview 2 2 Installation 2 2.1 Server and Database....................... 2 2.2 Deployment............................
Outline. CS 112 Introduction to Programming. Recap: HTML/CSS/Javascript. Admin. Outline
Outline CS 112 Introduction to Programming Web Programming: Backend (server side) Programming with Servlet, JSP q Admin and recap q Server-side web programming overview q Servlet programming q Java servlet
VMware Horizon FLEX User Guide
Horizon FLEX 1.1 This document supports the version of each product listed and supports all subsequent versions until the document is replaced by a new edition. To check for more recent editions of this
Hands-On Lab: WSUS. Lab Manual Expediting WSUS Service for XP Embedded OS
Lab Manual Expediting WSUS Service for XP Embedded OS Summary In this lab, you will learn how to deploy the security update to your XP Pro or XP embedded images. You will also learn how to prepare the
Servlets. Based on Notes by Dave Hollinger & Ethan Cerami Also, the Online Java Tutorial by Sun
Servlets Based on Notes by Dave Hollinger & Ethan Cerami Also, the Online Java Tutorial by Sun 1 What is a Servlet? A Servlet is a Java program that extends the capabilities of servers. Inherently multi-threaded.
2.8. Session management
2.8. Session management Juan M. Gimeno, Josep M. Ribó January, 2008 Session management. Contents Motivation Hidden fields URL rewriting Cookies Session management with the Servlet/JSP API Examples Scopes
DeskNow. Ventia Pty. Ltd. Advanced setup. Version : 3.2 Date : 4 January 2007
Ventia Pty. Ltd. DeskNow Advanced setup Version : 3.2 Date : 4 January 2007 Ventia Pty Limited A.C.N. 090 873 662 Web : http://www.desknow.com Email : [email protected] Overview DeskNow is a computing platform
Eclectic Computing. Time Tracking Tool Software Architecture Document. Version <1.3>
Eclectic Computing Time Tracking Tool Version Revision History Date Version Description Author 7/Mar/05 1.0 Documentation of high-level architecture. David Janzen 7/Apr/05 1.1 Architecture at end
Sample HP OO Web Application
HP OO 10 OnBoarding Kit Community Assitstance Team Sample HP OO Web Application HP OO 10.x Central s rich API enables easy integration of the different parts of HP OO Central into custom web applications.
Upgrading from Call Center Reporting to Reporting for Contact Center. BCM Contact Center
Upgrading from Call Center Reporting to Reporting for Contact Center BCM Contact Center Document Number: NN40010-400 Document Status: Standard Document Version: 02.00 Date: June 2006 Copyright Nortel Networks
Secret Server Installation Windows Server 2012
Table of Contents Introduction... 2 ASP.NET Website... 2 SQL Server Database... 2 Administrative Access... 2 Prerequisites... 2 System Requirements Overview... 2 Additional Recommendations... 3 Beginning
RemoteTM Web Server User Guide. Copyright 2008-2014 Maxprograms
RemoteTM Web Server User Guide Copyright 2008-2014 Maxprograms Contents 3 Contents Introduction...5 Requirements...5 Installation...7 Email Server Configuration...7 Users Management...8 Create User...8
Extending Remote Desktop for Large Installations. Distributed Package Installs
Extending Remote Desktop for Large Installations This article describes four ways Remote Desktop can be extended for large installations. The four ways are: Distributed Package Installs, List Sharing,
SQL Injection Attack Lab
Laboratory for Computer Security Education 1 SQL Injection Attack Lab Copyright c 2006-2010 Wenliang Du, Syracuse University. The development of this document is funded by the National Science Foundation
Xerox EX Print Server, Powered by Fiery, for the Xerox 700 Digital Color Press. Printing from Windows
Xerox EX Print Server, Powered by Fiery, for the Xerox 700 Digital Color Press Printing from Windows 2008 Electronics for Imaging, Inc. The information in this publication is covered under Legal Notices
Case Studies of Running the Platform. NetBeans UML Servlet JSP GlassFish EJB
September Case Studies of Running the Platform NetBeans UML Servlet JSP GlassFish EJB In this project we display in the browser the Hello World, Everyone! message created in the session bean with servlets
Tutorial: setting up a web application
Elective in Software and Services (Complementi di software e servizi per la società dell'informazione) Section Information Visualization Number of credits : 3 Tutor: Marco Angelini e- mail: [email protected]
Java with Eclipse: Setup & Getting Started
Java with Eclipse: Setup & Getting Started Originals of slides and source code for examples: http://courses.coreservlets.com/course-materials/java.html Also see Java 8 tutorial: http://www.coreservlets.com/java-8-tutorial/
Entrust Managed Services PKI. Getting started with digital certificates and Entrust Managed Services PKI. Document issue: 1.0
Entrust Managed Services PKI Getting started with digital certificates and Entrust Managed Services PKI Document issue: 1.0 Date of issue: May 2009 Copyright 2009 Entrust. All rights reserved. Entrust
VERSION 9.02 INSTALLATION GUIDE. www.pacifictimesheet.com
VERSION 9.02 INSTALLATION GUIDE www.pacifictimesheet.com PACIFIC TIMESHEET INSTALLATION GUIDE INTRODUCTION... 4 BUNDLED SOFTWARE... 4 LICENSE KEY... 4 SYSTEM REQUIREMENTS... 5 INSTALLING PACIFIC TIMESHEET
3. Installation and Configuration. 3.1 Java Development Kit (JDK)
3. Installation and Configuration 3.1 Java Development Kit (JDK) The Java Development Kit (JDK) which includes the Java Run-time Environment (JRE) is necessary in order for Apache Tomcat to operate properly
CTIS 256 Web Technologies II. Week # 1 Serkan GENÇ
CTIS 256 Web Technologies II Week # 1 Serkan GENÇ Introduction Aim: to be able to develop web-based applications using PHP (programming language) and mysql(dbms). Internet is a huge network structure connecting
Symantec LiveUpdate Administrator. Getting Started Guide
Symantec LiveUpdate Administrator Getting Started Guide Symantec LiveUpdate Administrator Getting Started Guide The software described in this book is furnished under a license agreement and may be used
An Overview of Servlet & JSP Technology
2007 Marty Hall An Overview of Servlet & JSP Technology 2 Customized J2EE Training: http://courses.coreservlets.com/ Servlets, JSP, Struts, JSF, EJB3, Ajax, Java 5, Java 6, etc. Ruby/Rails coming soon.
