应届生的面试题(三)

引子

有空再写,没空就自己找答案吧。。

TCP 为什么三次握手而不是两次握手

https://blog.csdn.net/lengxiao1993/article/details/82771768

为了实现可靠数据传输, TCP 协议的通信双方, 都必须维护一个序列号, 以标识发送出去的数据包中, 哪些是已经被对方收到的。为了实现可靠传输,发送方和接收方始终需要同步( SYNchronize )序号。

如果只是两次握手, 至多只有连接发起方的起始序列号能被确认, 另一方选择的序列号则得不到确认

客户端发送一个请求,服务器回复一份序列号,客户端发送我收到了序列号。

工作组和域的区别

  1. 大小 工作组比较小,不超过20台。域用在比较大的网络,成百上千台。
  2. 拓扑图 工作组中,所有机器的地位是平等的,一台计算机可以自由的加入或退出一个工作组。
  3. 验证方式 在工作组中,用户名、密码存放在本地计算机。如果要登入其他计算机,必须提供用户名,密码;在域中,有一台域控(DC)服务器,其他计算机都要通过DC验证才能加入域。有域权限,可以登入任何域内计算机,无需知道计算机的账号也可以登入。
  4. 网络 工作组计算机必须在同一个子网中;域的计算机可以在不同的本地网络中。

正向代理和反向代理的区别

正向代理:对服务器来说,客户端是透明的(未知的)。比如说翻墙使用的个人专用服务器,就是正向代理,代理替客户端取回google上的资料,而服务器只知道代理服务器取得了资料,不知道是哪个客户端。

反向代理:对客户端来说,服务端是未知的。比如说nginx可以做负载分流作用的反向代理服务器,作用是当有很多请求的时候,它会将请求分流,发送到不同的服务器,防止单台服务器因为过载而崩溃。于是客户端只知道反向代理服务器替我们取回了请求的资源,而不知道那台具体是哪台服务端发送的。

sql宽字节注入

在cms中,对sql注入使用了addslashes函数,对输入的参数进行了转义,单引号前加上反斜杠进行转义。

在mysql中,使用GBK编码,认为2个字符是一个汉字。在前面加%a1等字符,使前面字符和反斜杠能够组合为一个汉字,于是反斜杠就不能对单引号进行转义了。

cobalt strike的代理

redis未授权的利用过程

linux上好像是 写公钥,利用web服务写马,contrab定时任务 然后windows是利用自启动服务,还有web服务,没有web服务就只能重启

csrf和ssrf的区别

有哪些逻辑漏洞

浏览器同源策略

1