看得杂;《Web之困》中文翻译真的不行,不知道在讲啥
0x00 https建立过程
https很好的解决了http的三个缺点(被监听、被篡改、被伪装)
请求链接到数据传输过程中用到了
- 对称加密
- 公钥加密
- 信息摘要
- 数字证书
过程如下
- 客户端发送自己支持的加密协议及版本,SSL、TLS
- 服务端从中筛选选择合适的加密协议
- 服务端返回证书,证书中有公钥
- 客户端使用根证书验证证书合法性
- 客户端生成对称密钥,通过证书中的公钥进行加密,发送到服务端
- 服务端使用私钥解密,获取对称密钥,使用对称密钥加密数据
- 客户端解密数据,SSL通信
0x01 同一进程中线程
共享的内容包括
- 进程代码段(data section)
- 进程的共有数据(利用共享数据,容易实现线程间通信)
- 进程打开的文件描述符(file fd)
- 信号的处理器
- 进程的当前目录
- 进程用户ID和进程组ID
每个线程独有的
- 线程ID
- 寄存器组的值(register set)
- 线程的堆栈(stack)
- 错误返回码
- 线程的信号屏蔽码
0x02 CRLF-Injection
CRLF字符(%0d%0a)在许多互联网协议中表示行的结束,当该字符与HTTP协议请求和响应的头部一起联用时就有可能出现漏洞
HTTP响应分为head部分和body部分,head部分各个字段之间的分隔是\r\n,head与body的分隔是两个\r\n
将恶意代码注入到body中就可以执行,例如xss
注入到head中,可以设置session,例如利用会话固定漏洞(一旦用户sessionid固定为攻击者设定的,攻击者就可以利用sessionid冒充用户进行操作)