security - With HTTPS, are the URL and the request headers protected as the request body is? -



security - With HTTPS, are the URL and the request headers protected as the request body is? -

just want verify, when making ssl connection (http post) say:

https://www.example.com/some/path?customer_key=123123123

if don't want know customer_key, approach not work if making https connection correct?

all info want secured has in request body right?

quoting https rfc:

when tls handshake has finished. client may initiate first http request. http info must sent tls "application data".

essentially, secure ssl/tls channel established first. http protocol used. protect http traffic ssl, including http headers (which contain url , cookies).

what may visible in handshake host name itself, since it's contained in server certificate visible in clear in handshake (and it's easy guess host name looking @ destination ip address anyway).

when using server name indication, requested host name should visible in server_name extension in clienthello message. otherwise, there may bit of ambiguity (for eavesdropper) guess host name certificate if certificate valid multiple host names (e.g. multiple subject alt. names or wildcards). in case eavesdropping dns request client might give attacker clue.

reading other people's answers , comments, mention issues referer (lost r in spec) , logs.

referrers shouldn't sent when going https http (but sent when going 1 https site https site). about history: you'll have trust whoever can potentially key legitimately (i.e. users) not spread around. if needed, have strategy alter 1 time in while. about logs: assuming after protection over network. url (including query) in logs indeed, if able attack machine logs, have more worry app keys.

one of remaining potential weak points how give link user. if it's embedded in web-page served on plain http, can read page able see it. should serve such page on https too. if send link e-mail instead, i'd bets off, since mail service servers encrypt connections between , users access e-mail business relationship without encryption.

edit:

in addition, if you're using client-certificate authentication, client certificate visible if negotiated during initial handshake. may leak name of user accessing website (often subject dns contain user name). client certificate not visible if sent during re-negotiated handshake.

security ssl https

Comments

Popular posts from this blog

How do I check if an insert was successful with MySQLdb in Python? -

delphi - blogger via idHTTP : error 400 bad request -

postgresql - ERROR: operator is not unique: unknown + unknown -