Chain
- PREROUTING (路由前)
- INPUT (数据包流入口)
- FORWARD (转发)
- OUTPUT (数据包出口)
- POSTROUTING (路由后)
Chain
术语:
SSL (Secure Socket Layer)安全套接字层协议
TLS (Transport Layer Security)传输层安全协议
第一步,爱丽丝给出协议版本号、一个客户端生成的随机数(Client random),以及客户端支持的加密方法。
第二步,鲍勃确认双方使用的加密方法,并给出数字证书、以及一个服务器生成的随机数(Server random)。
第三步,爱丽丝确认数字证书有效,然后生成一个新的随机数(Premaster secret),并使用数字证书中的公钥,加密这个随机数,发给鲍勃。
第四步,鲍勃使用自己的私钥,获取爱丽丝发来的随机数(即Premaster secret)。
第五步,爱丽丝和鲍勃根据约定的加密方法,使用前面的三个随机数,生成”对话密钥”(session key),用来加密接下来的整个对话过程。
Tip:
1,生成对话密钥一共需要三个随机数,第三个发出的随机数是用服务端公钥加密的,除了客户端知道和服务端能解密出来外其他人不知道。
2,握手之后的对话使用”对话密钥”加密(对称加密),服务器的公钥和私钥只用于加密和解密”premaster secret”(非对称加密),无其他作用。
3,服务器公钥放在服务器的数字证书之中。
Diffie-Hellman
curl -k https://www.baidu.com/img/baidu_jgylogo3.gif
Wireshark
192.168.1.5 180.97.33.107 SSL Client Hello
180.97.33.107 192.168.1.5 TLSv1.2 Server Hello
180.97.33.107 192.168.1.5 TLSv1.2 Certificate, Server Key Exchange(服务端DH参数), Server Hello Done
192.168.1.5 180.97.33.107 TLSv1.2 Client Key Exchange(客户端DH参数), Change Cipher Spec, Encrypted Handshake Message
180.97.33.107 192.168.1.5 TLSv1.2 Change Cipher Spec, Encrypted Handshake Message
Curl -v 显示交互过程
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* TLSv1.2 (IN), TLS handshake, Server hello (2):
* NPN, negotiated HTTP1.1
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Client hello (1):
* TLSv1.2 (OUT), TLS handshake, Unknown (67):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS change cipher, Client hello (1):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256
恶意代码注入
XSS attacks may be conducted without using tags. Other tags will do exactly the same thing, for example:
or other attributes like: onmouseover, onerror.
onmouseover
onerror
使用编码绕过过滤 如:a=A (UTF-8)
We may encode our script in base64 and place it in META tag.
|
|
伪协议
获取用户cookies
|
|