Cyber_Security_Notes/Web安全、渗透测试面试题.md
2024-11-19 11:39:15 +08:00

209 lines
5.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Web安全、渗透测试面试题
#### 1、CSRF、XSS、XXE
- XSS跨站脚本攻击用户提交的数据中可以构造恶意代码并且执行从而实现窃取用户信息等攻击。
修复方式:
1. 对实体字符进行转义
2. 使用HTTP Only来禁止JavaScript读取cookie值
3. 输入时校验、浏览器与Web应用端采用相同的字符编码
- CSRF跨站请求伪造攻击
修复方式筛选出需要防范CSRF的页面多然后嵌入Token、再次输入密码、校验referer。
- XXEXML外部实体注入攻击敏感文件读取
修复方式XML解析库在调用时严格禁止对外部实体的解析。
#### 2、Log4Shell漏洞
漏洞编号是 CVE-2021-44228。这个编号用于标识Apache Log4j2中的Log4Shell漏洞该漏洞允许远程代码执行RCE从而对系统安全构成严重威胁。
解决Apache Log4j2中的Log4Shell漏洞CVE-2021-44228的方法如下
1. **升级Log4j库**
- 对于Log4j 2.x版本升级到2.15.0或更高版本注意2.15.0版本之后又发现了新的漏洞,建议直接升级到最新版本)。
- 对于无法立即升级的情况,可以应用官方发布的补丁。
2. **移除JndiLookup类**
- 如果无法立即升级可以通过删除或重命名Log4j2的JndiLookup类来缓解风险。具体操作是找到`log4j-core` JAR文件中的`org/apache/logging/log4j/core/lookup/JndiLookup.class`文件,并将其删除或重命名。
3. **设置系统属性**
- 通过设置系统属性来禁用Log4j2的JNDI功能。可以在Java命令行中添加以下参数
复制
```
-Dlog4j2.formatMsgNoLookups=true
```
- 或者设置环境变量:
复制
```
LOG4J_FORMAT_MSG_NO_LOOKUPS=true
```
4. **限制JNDI访问**
- 在Java环境中可以通过设置安全策略来限制JNDI的远程访问。
5. **更新防火墙规则**
- 在网络层面可以通过防火墙规则来阻止恶意的JNDI LDAP请求。
6. **监控和审计**
- 加强对日志和系统的监控,以便及时发现异常行为。
#### 3、鱼叉式攻击和水坑攻击
鱼叉攻击:指利用木马程序作为电子邮件的附件,发送到目标电脑上,诱导受害者去打开附件来感染木马
水坑攻击:分析攻击目标的上网活动规律,寻找攻击目标经常访问的网站的弱点,将网站攻破并植入恶意程序,等待目标访问
#### 4、中间人攻击
原理:
> 在同一个局域网中,通过拦截正常的网络通信数据,并进行数据篡改和嗅探
防御:
> 在主机绑定网关MAC与IP地址为静态 在网关绑定主机MAC与IP地址 使用ARP防火墙
#### 5、TCP三次握手过程
第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认
第二次握手服务器收到syn包,必须确认客户的SYNack=j+1,同时自己也发送一个SYN包syn=k,即SYN+ACK包,此时服务器进入SYN_RECV状态
第三次握手客户端收到服务器的SYNACK包,向服务器发送确认包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实体 用户输出编码
后端:
> 实体化编码 函数过滤 限制字符长度