5.4 KiB
Web安全、渗透测试面试题
1、CSRF、XSS、XXE
-
XSS:跨站脚本攻击,用户提交的数据中可以构造恶意代码,并且执行,从而实现窃取用户信息等攻击。
修复方式:
- 对实体字符进行转义
- 使用HTTP Only来禁止JavaScript读取cookie值
- 输入时校验、浏览器与Web应用端采用相同的字符编码
-
CSRF:跨站请求伪造攻击
修复方式:筛选出需要防范CSRF的页面,多然后嵌入Token、再次输入密码、校验referer。
-
XXE:XML外部实体注入攻击,敏感文件读取
修复方式:XML解析库在调用时严格禁止对外部实体的解析。
2、Log4Shell漏洞
漏洞编号是 CVE-2021-44228。这个编号用于标识Apache Log4j2中的Log4Shell漏洞,该漏洞允许远程代码执行(RCE),从而对系统安全构成严重威胁。
解决Apache Log4j2中的Log4Shell漏洞(CVE-2021-44228)的方法如下:
-
升级Log4j库:
- 对于Log4j 2.x版本,升级到2.15.0或更高版本(注意,2.15.0版本之后又发现了新的漏洞,建议直接升级到最新版本)。
- 对于无法立即升级的情况,可以应用官方发布的补丁。
-
移除JndiLookup类:
- 如果无法立即升级,可以通过删除或重命名Log4j2的JndiLookup类来缓解风险。具体操作是找到
log4j-core
JAR文件中的org/apache/logging/log4j/core/lookup/JndiLookup.class
文件,并将其删除或重命名。
- 如果无法立即升级,可以通过删除或重命名Log4j2的JndiLookup类来缓解风险。具体操作是找到
-
设置系统属性:
-
通过设置系统属性来禁用Log4j2的JNDI功能。可以在Java命令行中添加以下参数:
复制
-Dlog4j2.formatMsgNoLookups=true
-
或者设置环境变量:
复制
LOG4J_FORMAT_MSG_NO_LOOKUPS=true
-
-
限制JNDI访问:
- 在Java环境中,可以通过设置安全策略来限制JNDI的远程访问。
-
更新防火墙规则:
- 在网络层面,可以通过防火墙规则来阻止恶意的JNDI LDAP请求。
-
监控和审计:
- 加强对日志和系统的监控,以便及时发现异常行为。
3、鱼叉式攻击和水坑攻击?
鱼叉攻击:指利用木马程序作为电子邮件的附件,发送到目标电脑上,诱导受害者去打开附件来感染木马
水坑攻击:分析攻击目标的上网活动规律,寻找攻击目标经常访问的网站的弱点,将网站攻破并植入恶意程序,等待目标访问
4、中间人攻击
原理:
在同一个局域网中,通过拦截正常的网络通信数据,并进行数据篡改和嗅探
防御:
在主机绑定网关MAC与IP地址为静态 在网关绑定主机MAC与IP地址 使用ARP防火墙
5、TCP三次握手过程?
第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手
6、七层模型
应用层、表示层、会话层、传输层、网络层、数据链路层、物理层
7、对于云安全的理解
融合了并行处理、网格计算、未知病毒行为判断等新兴技术和概念,通过网状的大量客户端对网络中软件行为的异常监测,获取互联网中木马、恶意程序的最新信息,传送到Server端进行自动分析和处理,再把病毒和木马的解决方案分发到每一个客户端
8、了解过websocket吗?
WebSocket是一种在单个TCP连接上进行全双工通信的协议,最大特点是服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话。
9、DDOS
分布式拒绝服务攻击,利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务的响应
主要方式:
- SYN Flood
- UDP Flood
- ICMP Flood
- Connection Flood
- HTTP Get
- UDP DNS Query Flood
10、CC攻击
模拟多个正常用户不停地访问如论坛这些需要大量数据操作的页面,造成服务器资源的浪费,CPU长时间处于100%,网络拥塞
11、DDOS与CC攻击两者区别
- CC攻击网页,DDOS攻击服务器,更难防御
- CC门槛较低,DDOS需要大量服务器
- CC持续时间长,DDOS产生的影响大
12、land攻击是什么
局域网拒绝服务攻击,DDOS攻击的一种,通过发送精心构造的、具有相同源地址和目标地址的欺骗数据包,致使缺乏相应防护机制的目标设备瘫痪
13、你会如何进行信息收集?
服务器信息:ip、中间件、操作系统
域名whois、ipwhois、网段归属
子域名探测
网站目录扫描、接口信息扫描
端口扫描
各大引擎搜索相关信息
14、什么是CRLF注入攻击?
通过“回车”和“换行”字符注入HTTP流,实现网站篡改、跨站脚本、劫持等。
15、防止XSS,前端后端两个角度?
前端:
用户输入特殊字符过滤转义为html实体 用户输出编码
后端:
实体化编码 函数过滤 限制字符长度