LOGBOOK

HELP

1 / 378
time's up — finish this card
Other keys: show • Space: good • 1-4: rate • 0: skip • 5: flag
Topic Intercepting & Proxy Tools

Question

What is an intercepting proxy, and why is it a core tool of web-application security testing?

Answer

A tool that sits between your browser and the server as a proxy you control, so you can see — and pause, edit, or replay — every HTTP(S) request and response instead of only what the page chooses to show.

An intercepting proxy sits between the browser and the web server; the tester inspects, pauses, edits, and replays requests and responses in flight

* All browser traffic routes through the proxy, giving the tester a live, editable view of every request and response. *

A browser normally hides the raw traffic: you see rendered pages, not the exact bytes on the wire. An intercepting proxy is configured as the browser's proxy, so all traffic flows through it and the tester gets a live, editable view:

  • Inspect every request and response — headers, cookies, parameters, bodies.
  • Intercept — hold a request before it reaches the server and change it (a price, a user ID, a hidden field) to see how the server reacts.
  • Replay / fuzz — resend a captured request many times with altered values to hunt for injection, broken access-control, and logic flaws.

Common tools: Burp Suite, OWASP ZAP, mitmproxy, Fiddler.

Tip: The whole value is control of the client side. The server can't tell an edited request from a genuine one, so anything the browser was trusted to enforce (client-side validation, a hidden price) becomes yours to change.

Go deeper:

Many organizations block access to popular websites such as Facebook. Users can use proxy servers to circumvent this security. However, by connecting to proxy servers, they might be opening themselves up to danger by passing sensitive information such as personal photos and passwords through the proxy server. This image illustrates a common example: schools blocking websites for students.
Many organizations block access to popular websites such as Facebook. Users can use proxy servers to circumvent this security. However, by connecting to proxy servers, they might be opening themselves up to danger by passing sensitive information such as personal photos and passwords through the proxy server. This image illustrates a common example: schools blocking websites for students.
Milesjpool, · CC BY-SA 4.0 · Wikimedia Commons
or press any other key
Topic Asymmetric Cryptography

Question

What happens during the TLS handshake (TLS 1.2 view), in four phases?

Answer

Phase A: negotiate security parameters. Phase B: server authentication + key exchange. Phase C: optional client authentication + key exchange completion. Phase D: switch on the cipher suite and finish.

TLS 1.2 handshake sequence in four phases: negotiate parameters (Hello); server auth + key exchange (Certificate, ServerKeyExchange); client key exchange; ChangeCipherSpec and Finished both ways

* The TLS 1.2 handshake in four phases — negotiate parameters, authenticate the server and exchange keys, complete the client key exchange, then switch on the cipher and verify the transcript. *

Phase A — Parameter negotiation:

Client → Server: ClientHello
   { random, session ID, supported cipher suites, supported compression }
Server → Client: ServerHello
   { random, session ID, chosen cipher suite }

Phase B — Server authentication & key exchange:

Server → Client: Certificate           (server's X.509 chain)
Server → Client: ServerKeyExchange     (e.g. DH public param, signed)
Server → Client: CertificateRequest    (optional, only for mTLS)
Server → Client: ServerHelloDone

Phase C — Client key exchange (and optional client cert):

Client → Server: Certificate           (only if requested, mTLS)
Client → Server: ClientKeyExchange     (RSA-encrypted pre-master OR client's DH public)
Client → Server: CertificateVerify     (only if client cert sent)

Both sides now derive the master secret from the pre-master + the two random nonces.

Phase D — Finalisation:

Client → Server: ChangeCipherSpec     (now using the new keys)
Client → Server: Finished              (encrypted MAC of all prior messages)
Server → Client: ChangeCipherSpec
Server → Client: Finished

The Finished messages are integrity-protected MACs over the entire handshake transcript — defeats downgrade attacks.

TLS 1.3 changes: combined Phases A+B into one round trip, removed RSA key exchange entirely (mandatory DHE/ECDHE for Perfect Forward Secrecy), removed CCS messages, removed weak cipher suites. Result: 1-RTT handshake (vs 2-RTT in 1.2), and resumed sessions are 0-RTT.

Tip: Use openssl s_client -connect host:443 -msg to see all handshake messages in hex. It's the most concrete way to understand what's actually happening.

Go deeper:

Simplified illustration of the full TLS 1.2 handshake with timing information
Simplified illustration of the full TLS 1.2 handshake with timing information
Fleshgrinder and The People from The Tango! Desktop Project. · Public domain · Wikimedia Commons
or press any other key