# Web安全、渗透测试面试题 #### 1、CSRF、XSS、XXE - XSS:跨站脚本攻击,用户提交的数据中可以构造恶意代码,并且执行,从而实现窃取用户信息等攻击。 修复方式: 1. 对实体字符进行转义 2. 使用HTTP Only来禁止JavaScript读取cookie值 3. 输入时校验、浏览器与Web应用端采用相同的字符编码 - CSRF:跨站请求伪造攻击 修复方式:筛选出需要防范CSRF的页面,多然后嵌入Token、再次输入密码、校验referer。 - XXE:XML外部实体注入攻击,敏感文件读取 修复方式: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包,必须确认客户的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实体 用户输出编码 后端: > 实体化编码 函数过滤 限制字符长度