Web Application Security
Web Application Security
can be persistent if
similar to reflected XSS
incorporates cookies
3 types
stored XSS
Verbose Failure Messages technique to force web sites to display browser doesn't have to be
malicious code which gets executed in users susceptible to any
web browser vulnerability
Insecure Credential Distribution
user supplied data doesn't only all headers may be spoofed by logging infrastructure must the target is usually the admin,
Predictable Usernames/Initial Passwords
Logical Flaws reach the server via GET and user including cookie, referer and implement proper escaping for which will gain the attacker admin
POST host everything logged rights
Predictable Account Activation
Link/ID
variable width encoding can
make escaping invalid
Bad Passwords
encoding can pose a problem
server can't correctly check and filter the
Fail-Open Login encoding the browser uses to interpret the
page is a different
Java Security
session management
closely related to
authentication mechanism session management needed to browser connects to malicious
identify different users across server with dns timeout of 1
requests second
webapplications becoming like
desktop applications -> need http is stateless
state JS tells browser to connect
back in 2 seconds
client certificates
the browser is re-requesting dns if
the web server isn't reachable
in cookie anymore
encoded session state
being pushed to client
in hidden form fields same as above, but this time the base
DNS Pinning Vulnerabilites it needs to firewall the port in question not the
attacker system firewalls itself to be
attack whole server, so the whole process can be
simple attack huge impact on unreachable for the browser in the second
carried out for different IPs on a single server
web app security request
anti-dns pinning
possible because browser implicitly appends checking the host header if the this would already happen if virtual
perform actions in users targeted system by the browser is hosting is used, but there usually is a
Cookies to every request for the allowed
behalf via users browser really ours default
domain(s)
anti-anti-dns pinning
reproducible algorithm
concealed sequences if web service discloses
enabling brute-forcing
privacy relevant information
attacks over json
the keyspace can be minimized the
better the timeframe of generation is token-generation process predictable tokens weak Session IDs
time dependency
known depends only/mostly on time
SQL databases are usually called indirected by a web
application, which passes a complete query containing
weak (P)RNG parts of user supplied content to the database
subsystem
tokens holds authorization data user doesn't need to log in static tokens
requests to retrieve
information
fallback to http after login
SELECT
injection point usually the
usage of https only cookies http for all static content
WHERE clause
disclosure of tokens on network
tricked by attacker to make http request to
creates new row
server, not matter if successful, token will
be disclosed
INSERT attackers usually have to guess database brute-forcing the number with
schema and therefore doesn't know the 1s (or 2000s for possible
logout doesn't invalidate session order and number of columns dates) or NULLs
too liberal path value again might enable similar to domain path defines to which
other users on the system to obtain cookies subdirectories on the server cookies will be path attacks can be leveraged to gain information
from users of that application passed from different tables than original
query
Path Traversal