Chapter 13: Web Servers & Web Apps Flashcards
Web application
an application that runs on a remote server and is access through a client (i.e. Netflix, where the application is presented through a client interface such as a browser or other piece of SW)
web apps are designed to run across platforms, whereas native apps are targeted for specific platforms
Most processing done on server!! Client is used for user input, server used for storage
***HTTPS //encrypts data in transit
Server Administrators
concerned w/ safety, security, and functioning of web server from operational standpoint
NW Administrators
concerned w/ infrastructure and functioning of NW as a whole
End Users
they interact w/ the web server and application as a consumer & user of info
The client & server
A server application is hosted on a web server and is designed to be accessed remotely via a web browser or web-enabled application; Information is stored on the server
Typically multiple clients can access the server simultaneously to retrieve, view, or modify data
Why choose a web app over client-server models
Client app doesn’t have to be developed for each platform; since most web apps are run within a web browser, the underlying architecture becomes unimportant
Web applications are dependent on the use of what technologies?
Server-side technologies such as ASP (active server pages) or PHP (Personal Home page or Hypertext Preprocessor)
Client-side technologies include Dynamic HTML (DHTML), Javascript, etc
You can visualize a web app not only as consisting of a client and server, but as layers (3):
1) PRESENTATION LAYER //display of info to user on client side
2) LOGIC LAYER //manipulation of info (transformed or edited into the form into needs to be stored or presented in)
3) DATA LAYER //holding data for application as a whole
define Stateless
Stateless HTTP refers to the fact that the protocol does not keep track of session information from one connection to the next; each communication in HTTP is treated as a separate connection
define cookies
a file stored on a client system that is used as a token by applications to store information of some type
Pieces of a web app (9)
1) LOGIN
2) WEB SERVER //foundation for whole system
3) SESSION TRACKING //storage of info
4) PERMISSIONS //determine what level of access user has to resources on server
5) APPLICATION CONTENT //info user is interacting with
6) DATA ACCESS //web pages in a web app to provide data access
7) DATA STORE //valuable info is contained here
8) LOGIC //responsible for interacting w/ user & providing correct info to be extracted from DB
9) LOGOUT //used by users to shut down their connection
Vulnerabilities of Web Servers & Applications (7)
1) FLAWED WEB DESIGN //comments and hidden tags embedded into a web page can yield information;
2) BUFFER OVERFLOW //when application puts more data in a buffer than it was designed to hold; programmer could have malpractice & create a buffer w/ not restrictions; Overflow of data results in corruption or overwritten data; as a result data could lose its integrity, loss of data, disclosure of info
3) DoS
4) DDoS
5) BANNER INFORMATION //reveals information about server or web application//use telnet or PuTTY to extract banner info (would look like HTTP/1.1 ….Server: [name] etc) //telnet www..com 80
6) ERROR MESSAGES //can reveal info about a server or web application
7) VANDALIZING WEB SERVERS //defacing a website
Common attack methods on Web Applications
1) INPUT VALIDATION //mechanism used to verify info as it is entered; sites w/ little restrictions placed on what data can be entered gives way for problems such as: DB manipulation, DB corruption, Buffer Overflow, Inconsistent data, SQL injections
2) XSS //input validation attack relies on user instead of application or data; can inject malicious code to gain info from session
3) INSECURE LOGON SYSTEMS //when invalid user ID, PW, or both is entered, the website might return that “an entry of an invalid user ID with a valid password”, sites should return generic info
4) SCRIPTING ERRORS //depending on the code used (ASP, CGI, JSP); vulnerabilities are presented
5) SESSION MGMT ISSUES
6) ENCRYPTION WEAKNESSES //data should be encrypted when stored and transmitted
7) DIRECTORY TRAVERSAL ATTACK //allows server to move outside of the web server directory & into other parts of host system
Performing a PW crack
Tool used: Brutus
Page 576
Scripting Error Attacks (5)
1) UPLOAD BOMBING //uploading mass files to fill up storage on the server making server crash or stop
2) POISON NULL BYTE ATTACK //passes special characters the scripts may not be designed to handle properly, the script may grant access where it shouldn’t
3) DEFAULT SCRIPTS //use of default scripts can allow attackers to exploit configuration issues & gain unauthorized access
4) SAMPLE SCRIPTS //web apps can include sample content that is left in place by servers; attackers can use that to carry out attack
5) POORLY WRITTEN OR QUESTIONABLE SCRIPTS //some include usernames, passwords