从零开始的面经总结DAY2

Q1:http/1.1的新增内容
A1:http/1.0与http/1.1总结
http/1.1相较于HTTP/1.1,1.增加了更多请求头和响应头来改进和扩充HTTP/1.0的功能,
2.实现持久连接。原理:在HTTP首部的Connection:Keep-alive中,Keep-Alive:timeout=20(TCP通道保持20s)
3.块编码:建立好连接后可以用该连接发送多个请求,请求中添加“content-length"
4.状态码100的使用:当客户端需要发送一个较长的请求体,不确定服务端是否能够接收,就会在发送请求头:HTTP/1.1/ 100 continue

Q2:sql注入单引号被过滤了怎么绕过?
A2:可用转义字符""绕过(’)
如果是mysql_real_escape_string() 和 addslashes()过滤,可利用0xfb27绕过

在GBK里,0xbf27不是一个合法的多字符字符,但0xbf5c却是。在单字节环境里,0xbf27被视为0xbf后面跟着0x27(’),同时0xbf5c被视为0xbf后面跟着0x5c()。
一个用反斜杠转义的单引号,是无法有效阻止针对MySQL的SQL注入攻击的。如果你使用addslashes,那么,我(攻击者,下同)是很幸运的。我只要注入一些类似0xbf27,然后addslashes将它修改为0xbf5c27,一个合法的多字节字符后面接着一个单引号。换句话说,我可以无视你的转义,成功地注入一个单引号。这是因为0xbf5c被当作单字节字符,而非双字节。

(没有题目或者实战遇到,看得有些云里雾里,望大神指点。)

Q3:sql注入分类
A3:按执行结果分为:回显注入,报错注入,布尔盲注,时间注入
按注入点类型分为:数字型注入点,字符型注入点,搜索型注入点
按数据提交的方式来分类:GET注入,POST注入,Cookie注入,HTTP头部注入

Q4:xss的分类
A4:反射型xss 原理:通过在页面上植入恶意链接,诱使用户点击,从而“反射”到浏览器执行。
存储型xss 原理:用户输入的数据(恶意代码)可以“存储”在服务端,只要有人访问这个包含有存储型XSS代码的页面,XSS脚本就会在他们的浏览器中执行,这种XSS具有很强的稳定性。所以也被称做,“持久型XSS”。
DOM型xss 原理:类似于反射型XSS,但是,这种XSS攻击的实现是通过对DOM树的修改而实现的。

Q5:文件上传绕过
A5:upload-labs总结

Q6:操作系统的死锁机制
A6:死锁定义:线程死锁是指由于两个或者多个线程互相持有对方所需要的资源,每个进程都无限等待被该组进程中另一进程所占有的资源,导致这些线程处于等待状态,无法前往执行,如果死锁发生,会浪费大量系统资源,甚至导致系统崩溃。
死锁机制条件及解决方案

Q7:进程与线程的理解
A7:1.线程是程序执行的最小单位,进程是操作系统分配资源的最小单位
2.一个进程由一个或多个线程组成,线程是一个进程中代码的不同执行路线
3.进程之间相互独立,但同一进程下的各个线程之间共享程序的内存空间
4.调度和切换:线程上下文切换比进程上下文切换要快得多

Q8:为何不使用多进程而是使用多线程?
A8:线程廉价,线程启动比较快,退出比较快,对系统资源的冲击也比较小。而且线程彼此分享了大部分核心对象的拥有权
如果使用多重进程,但是不可预期,且测试困难

Q9:如何检验信息的完整性
A9:云服务器,云数据库,CDN(内容分发网络),云安全

Q10:iaas
A10:基础设施即服务,把IT基础设施作为一种服务通过网络对外提供,并根据用户对资源的实际使用量或占用量计费的服务模式。(允许企业按需购买资源)
补充:还有PaaS:平台即服务,为开发人员提供框架
SaaS:软件即服务,利用互联网向其用户提供应用程序,直接通过web浏览器运行,不需要在客户端进行下载安装

Q11:b端和c端的区别
A11:b端:面向企业的企业级别产品
c端:面向普通大众消费者的产品
在这里插入图片描述