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

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

目录

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

一、攻防演练经典案例分析

二、CSRF漏洞修复方案

三、Java代码审计流程

四、SQL注入防御体系

五、域名访问技术解析

六、登录页安全风险

七、安全工具开发实践


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

复制代码
聊聊攻防演练中比较得意,印象深刻的一次经历

CSRF漏洞修复

Java系统代码,审计流程

Java系统中的sql注入怎么做一个防御和修复

在浏览器中输入一个域名去访问时,浏览器做了什么

一个系统的登录页,通常可能出现什么漏洞

安全工具开发,waf/扫描器

一、攻防演练经典案例分析

某金融系统红队渗透实例

  1. 攻击路径:钓鱼邮件→员工终端沦陷→内网横向移动→Oracle数据库提权→核心交易系统控制
  2. 技术亮点 :
    • 使用Cobalt Strike的Office宏攻击载荷绕过邮件网关检测
    • 通过内存注入实现无文件驻留,规避EDR查杀
    • 利用TNS协议漏洞(CVE-2022-21501)完成数据库提权
  3. 防御绕过 :
    • 修改User-Agent头模仿爬虫流量
    • 使用域前置技术隐藏C2通信
    • 通过DNS隧道进行数据渗出

二、CSRF漏洞修复方案

Java系统多维度防护体系:

  1. 同步令牌机制:java

    // Spring Security配置 http.csrf().csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse());

  2. SameSite Cookie策略:xml

    strict

  3. 验证Referer白名单(需配合HTTPS使用)

  4. 敏感操作二次认证(如交易密码验证)

三、Java代码审计流程

  1. 环境构建:

    • 使用Jenkins+SonarQube搭建自动化扫描平台
    • 配置FindSecBugs、SpotBugs等静态分析工具
  2. 重点审计项:

    • 反射调用点(Class.forName() )
    • 反序列化入口(readObject())
    • JNDI注入风险(InitialContext.lookup() )
    • 表达式注入(OGNL/SpEL)
  3. 典型漏洞模式 :java

    复制代码
    // 危险代码示例 String query = "SELECT * FROM users WHERE id = " + request.getParameter("id"); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(query); 

四、SQL注入防御体系

分层防护策略:

层级 防护措施 示例
代码层 PreparedStatement String sql = "SELECT * FROM users WHERE id = ?";
框架层 MyBatis参数映射 <select id="getUser" parameterType="String" resultType="User">
数据层 存储过程调用 {call getUserInfo(?)}
运维层 数据库防火墙 设置SQL语法白名单规则

五、域名访问技术解析

浏览器处理流程:

  1. 缓存查询 :

    • 浏览器缓存 → 系统hosts文件 → DNS缓存
  2. 递归查询 :mermaid

    复制代码
    graph LR 本地DNS-->根DNS 根DNS-->顶级DNS 顶级DNS-->权威DNS
  3. 连接建立 :

    • TCP三次握手(SYN→SYN-ACK→ACK)
    • TLS1.3握手(ClientHello→ServerHello→Finished)
  4. 资源处理 :

    • 预解析DNS(dns-prefetch)
    • 渲染引擎工作流(Parse→Style→Layout→Paint)

六、登录页安全风险

十大常见漏洞:

  1. 用户名枚举(差异响应时间)
  2. JWT实现缺陷(缺失签名验证)
  3. OAuth2配置错误(redirect_uri未校验)
  4. 密码哈希存储缺陷(使用MD5未加盐)
  5. 会话固定攻击(登录后未更新SessionID)

加固建议:

  • 实施FIDO2无密码认证
  • 部署基于行为的认证(鼠标轨迹分析)
  • 添加人机验证(Geetest等动态验证码)

七、安全工具开发实践

WAF开发核心模块:

  1. 协议解析层 :
    • HTTP/2 Frame解析
    • Multipart/form-data解码
  2. 检测引擎 :
    • 正则规则库(OWASP CRS)
    • 机器学习模型(请求异常检测)
  3. 防护机制 :
    • 虚拟补丁(针对特定漏洞)
    • 请求限速(令牌桶算法)

扫描器技术难点:

  • 分布式爬虫调度(使用Scrapy-Redis)
  • PoC验证沙箱(Docker动态环境)
  • 漏洞误报消除(多因子验证机制)

建议结合ATT&CK框架构建检测规则,采用MITRE CWE标准进行漏洞分类。对于Java系统防护,推荐部署RASP方案进行运行时保护。

相关推荐
wuminyu3 小时前
JVM规范学习总结:解释器与JIT编译器如何处理JVM字节码
java·linux·c语言·jvm·c++
骑着蜗牛撵大象3274 小时前
大模型 Agent 的沙箱护栏:gVisor 隔离、出口白名单与审计闭环
java·开发语言·jvm·安全·agent沙箱·gvisor·microvm
IMPYLH4 小时前
Linux 的时间为什么会被拨回去
linux·运维·服务器
weixin_307779134 小时前
RAG 面试陷阱——混合检索并非无条件优越:一个条件反转实验
人工智能·python·面试·职场和发展
2601_963282774 小时前
寒地窄带通信工程实践:黑龙江哈尔滨对讲机选型、组网与合规运维总结
运维·服务器·网络
Sinokap4 小时前
OpenAI 披露 AI 安全实验:智能体如何突破隔离边界?
人工智能·安全
叼烟扛炮5 小时前
[Git 实战] 学习笔记:从生成 SSH 密钥到解决 TortoiseGit 推送报错全指南
linux·运维·笔记·git·学习
是真的小外套5 小时前
网络安全实战第14期:Week2周末闯关
网络·安全·web安全
nice_lcj5206 小时前
深入理解 Java 反射:从 Class 对象到方法调用(含性能实测 + 迷你 IOC 实战 + 面试考点)
java·开发语言·后端·面试
xbzb6 小时前
OpenStack 网络管理(理论):Linux 网络虚拟化是 Neutron 的地基
linux·服务器·网络·openstack·network·neutron