14_Hacking_Web_Applications.
md                                                                           4/10/2019
 Web Applications are that applications that is running on a remote application server and avaliable for
 clients over the internet.
 Server Administrators are resposible for the web server's safety, speed, functioning and performance.
 Application Administrators are responsible for the management and configuration required for the web
 application.
 Clients are the endpoints which interact with the web application / server.
 How Web Applications work?
 Front-end <-> Back-end
 Users are interacting with the front-end. The processing was controlled and processed by the back-end.
 Server-side languages:
       PHP
       Java
       C#
       Python
       JavaScript
       many more...
 Client-side languages:
       CSS
       JavaScript
       HTML
 Layers of Web Applications
       Presentation Layer is responsible for displaying the information to the user.
       Logical Layer : manipulate information to and from the forms.
       Data Layer : hold the data for the application.
 Web 2.0
 In web 1.0, the users are limited to passive viewing the content.
 In web 2.0, the users can interact and collaborate, it contain rich user experience, dynamic content.
 Web Application Threats
       Cookie poisoning
       Insecure storage
       Information leakage
                                                         1/5
14_Hacking_Web_Applications.md                                                                             4/10/2019
       Directory traversal
       Parameter/Form tampering
       DOS attack
       Buffer overflow
       Log tampering
       SQL injection
       Cross-site Script
       Cross-site Request Forgery
       Security misconfiguration
       Broken session management
       DMZ attacks
       Session hijacking
       Network access attacks
 Unvalidated input
 Process an non-validated input from the client to the back-end. This is a major vulnerability, this is the basics
 of injection attacks (SQL injection, xss, buffer overflow).
 Parameter / Form Tanmpering
 Parameter tempering is an attack, where the attacker manipulate the parameter while client and server are
 communicating with each other. Parameters such as Uniform Resource Locator (URL) or web page form
 fields are modified (cookies, HTTP Header, form fields).
 Injection Flaws
 Works if a web application allows untrusted input to be executed.
       Malicious code injection
       File injection
       SQL injection
       Command injection
       LDAP injection
 SQL Injection
 Injection of malicious SQL queries. Attacker can manipulte the database These vulnerabilities can be detected
 by using an automated scanner.
 Command Injection
       Shell injection
       File injection
       HTML embedding
 LDAP Injection
                                                          2/5
14_Hacking_Web_Applications.md                                                                           4/10/2019
 Attacker can access the database using LDAP filter to search information.
 DoS Attack
       User Registartion DoS : an automated process, the attacker keep registering fake accounts.
       Login DoS : attacker keep sending login requests.
       User Enumeration : attacker brute force login credebtials with a dictionary attacks.
       Account Lock : attacker attempt to lock the user account by attempting invalid passwords.
 Web Application Hacking Methodology
 Analyze Web Application
       Observing functionality
       Identify vulnerabilities, entry points, servers
       HTTP request analyze
       HTTP fingerprinting
       Hidden content discovery
 Attack Authentication
 Exploit the authentication mechanism:
       Username enumerate
       Cookie exploitation
       Session attacks
       Password attacks
 Authorization Attack Schemes
       Accessing the web application with low level privilege account, then escalate privileges to get
       information
       Parameter tampering (URL, POST data, Query string, cookies, HTTP header)
 Session Management Attack
 Impersonate a legitimate user.
 Session hijacking techniques:
       Session token prediction
       Sessionn token tampering
       Man-in-the-Middle attack
       Session replay
 Injection Attacks
 Inject malicious code, commands and files.
                                                         3/5
14_Hacking_Web_Applications.md                                                                             4/10/2019
 Techniques:
           Web Script injection
           OS Command injection
           SMTP injection
           SQL injection
           LDAP injection
           XPath injection
           Buffer Overflow
           Canonicalization
 Data Connectivity Attack
 Exploit the data connectivity between application and its database. Data connection requires a connection
 string.
           Connetcion String Injection
           Connection String Parameters Pollution (CSPP)
           Connection Pool DoS
 Countermeasures
 Percent Encoding
 Percent Encoding or URL Encoding is a technique for secure handling of URL by replaces unsafe and non-ascii
 characters with % followed by two hexadecimal digits.
 Example:
 %20 or + both are used for SPACE
 In URL:, there are some reserved character such as '/' that is used to separate paths in URL. To use this not as
 separator, then it must be encoded.
 %2F used for '/'
 Full list of percent encoded characters here
 HTML Encoding
 HTML Encoding specify how special character will shown.
 SQL Injection Contermeasures
           Input validation
           Customized error messages
           Monitoring database traffic
           Limit length of user input
 XSS Attack Countermeasures
                                                           4/5
14_Hacking_Web_Applications.md              4/10/2019
       Testiong tools
       Filtering meta
       Filtering output
 DOS Attack Countermeasures
       Reverse proxy
       Remove unnecessary functions
       Secure remote administration
       Firewall
       IDS
 Other Countermeasures
       Dynamic testing
       Source Code analysis
       Strong cryptography
       Use SSL
       Hotfixes / patches
       Cookie timeout
                                      5/5