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

    <session-config> <cookie-config> <same-site>strict</same-site> </cookie-config> </session-config>

  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方案进行运行时保护。

相关推荐
开开心心就好4 分钟前
能一站式搞定远程操作需求的实用工具
java·服务器·python·spring·pdf·电脑·软件
wanhengidc12 分钟前
物理服务器的作用都有哪些?
运维·服务器
俄武器trews1 小时前
小方摄像头接入本地服务器的方法
linux·小方
桑榆肖物1 小时前
在Linux开发板中使用.NET实现音频开发
linux·.net·音视频
孙同学_1 小时前
【Linux篇】从冯诺依曼到进程管理:计算机体系与操作系统的核心逻辑
linux
唐青枫2 小时前
Linux egrep 命令使用详解
linux
WeiLai11123 小时前
面试基础--Redis 缓存穿透、缓存击穿、缓存雪崩深度解析
java·redis·分布式·后端·缓存·面试·架构
zctel3 小时前
java中小型公司面试预习资料(二):Redis
java·redis·面试
独行soc3 小时前
2025年渗透测试面试题总结-小某鹏汽车-安全工程师(题目+回答)
网络·科技·安全·面试·汽车·护网·2015年